您好我正在使用php和mysql。
我有一个表单,我在从一个表访问数据,并在选择时将数据插入到另一个表中。但我的主要约束是存储选定的数据ID而不是数据值。
请告诉我如何获取数据值而不是数据ID。
以下是示例代码。
<td>Status:</td>
<td> <select name="status" id="status">
<?php $svar = mysql_query("select * from status");
while($sresult = mysql_fetch_array($svar)){ ?>
<option value="<?php echo $sresult['id']; ?>" <?php if($sresult['id']==$row['status']){ echo "selected"; }?> /><?php echo $sresult['status']; ?></option>
<?php } ?>
</select> </td>
现在我使用以下查询将上述表单中的数据插入到另一个数据库中:
$sql="INSERT INTO Createticket (......,status) VALUES(..........,'$status')";
答案 0 :(得分:0)
虽然你遗漏了相当多的代码,这有助于100%检查,但我想我可以对你的尝试做出有根据的猜测。
这只是因为您将选择框的值设置为id,而不是值....
更改此行:
<option value="<?php echo $sresult['id']; ?>" <?php if($sresult['id']==$row['status']){ echo "selected"; }?> /><?php echo $sresult['status']; ?></option>
为:
<option value="<?php echo $sresult['status']; ?>" <?php if($sresult['id']==$row['status']){ echo "selected"; }?> /><?php echo $sresult['status']; ?></option>
这样,当您发布表单时,您将发布字段'status'的值,因为状态值不是$ result的id值。
答案 1 :(得分:0)
您分配给选项字段的值是$ sresult ['id'],因此相同的ID存储在第二个表中以设置状态
替换
value = " <?php echo $sresult['id'] ?> "
提交给
value = " <?php echo $sresult['status'] ?> "