从mysql中检索数据而不是数据id

时间:2013-06-14 09:50:44

标签: php mysql forms

您好我正在使用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')";

2 个答案:

答案 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'] ?> "