2017-01-22 118 views
3

我有一个表单,其中包含选择数据输入选项(选项从MySQL数据库中提取)如果我想在后期更新表单,是否有可能获得表单选择选项作为预选?更新表格有选择选项

我在这里显示了具有选择选项

<?php 
$queryjob = "SELECT * FROM `job`"; 
$result2 = mysqli_query($con, $queryjob); 

$options = ""; 

while($row2 = mysqli_fetch_array($result2)) 
    { 
     $options = $options."<option>$row2[1]</option>"; 
    } 

?> 


<tr> 
    <td ><div class='tabdata' align="right"> Name of Job/Survey:&nbsp;</div></td> 
    <td > <div class='tfieldz' align="right"> 
     <select class='tfieldz' id="job_name" name="job_name" required='required'> 
     <?php echo $options;?> 
     </select></div> 
    </td> 
</tr> 
+0

这当然是可能的。但是,目前,代码并未指示首先存储选定选项的位置(再次显示表单之前)。所以,实际上,没有任何参考可以与之进行比较。 –

+0

在你的情况,你将不得不作出唯一的变化是.... '而($ 2行= mysqli_fetch_array($结果2)){ \t如果($ 2行[1] == $ some_previously_stored_value){ \t $ options = $ options。“”; \t} \t否则{ \t \t $选项= $选项 “”。 \t} }' –

+0

所有选项都存储在数据库中吗? – user3284463

回答

0

您可以将selected=""属性添加到选项以预先选择该选项。

例看起来像:

//You could use this in your loop 

if($saved_value == $row[1]){ 
    echo "<option selected>$row[1]</option>"; 
}else{ 
    echo "<option>$row[1]</option>"; 
} 
0

据我了解你们的设置选择框的默认选定值形式的代码。要设置此值,您可以使用以下代码:

/** The selectbox default value. This can come from database */ 
$selectbox_value = "selectbox default value"; 
while($row2 = mysqli_fetch_array($result2)) 
    { 
     if ($selectbox_value == $row2[1]) $options = $options."<option SELECTED value='".$row2[1]."'>$row2[1]</option>"; 
     else $options = $options."<option value='".$row2[1]."'>$row2[1]</option>"; 
    } 

在上面的代码中,value属性被添加到选项标记中。当表单被提交时,value属性的值被发送到服务器并存储在数据库中。此存储值应从数据库中读取并保存到$ selectbox_value