0

嗨,我正在研究 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')";
4

2 回答 2

0

您分配给选项字段的值是 $sresult['id'] 因此相同的 id 存储在第二个表中以设置状态

更换

    value = " <?php echo $sresult['id'] ?> " 

在选项中提交给

    value = " <?php echo $sresult['status'] ?> "
于 2013-06-14T10:06:25.990 回答
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>

这样,当您发布表单时,您将发布字段“状态”的值,作为状态值而不是 $result 的 id 值。

于 2013-06-14T09:55:44.890 回答