好的,为了正确地提出问题,我需要简要介绍一下我想要实现的目标 . 所以请耐心等待 .
我有一个表单,显示一个从MySQL数据库中获取数据的下拉菜单 .
drop dpwn menu that fetches mysql data http://img690.imageshack.us/img690/5378/59790538.png
我的MySQL表看起来像这样:
mysql table http://img841.imageshack.us/img841/2023/58196854.png
我用来执行此操作的(垃圾)代码如下:
<div class="rowElem">
<label for="service_name"><b>Particulars</b></label>
<?php
$sql1 = "select * from `service_tbl`";
$query_result = mysql_query($sql1);
echo "<select id='service_name' name='service_name'>";
while( $row = mysql_fetch_array( $query_result ) ) {
echo "<option value='".$row['id_service']."' >".$row['service_name']."</option>";
$service_price = $row['service_price'];
}
echo "</select>";
?>
</div>
<div class="rowElem">
<label for='service_price'><b>Price</b></label>
<input type='text' id='service_price' name='service_price' value="<?php echo $service_price; ?>" />
</div>
代码正在做它应该做的事情:
output http://img94.imageshack.us/img94/6341/67345604.png
无论我选择哪个项目,在表单的 Price
字段中,我都会获得在while循环结束时获取的值 800
. 根据代码,这是预期的行为 .
但我的目标不是由此服务 . 我想要的是,从下拉菜单中选择一个项目,并在表单的 Price
字段中显示它的相应价格值 . 我怎么做?我知道我的MySQL查询已被弃用,我应该使用 PDO 或 MySQLi 方法 . 但这不是我现在主要担心的问题 . 任何建议将受到高度赞赏 .
4 回答
改变这一行:
并删除此:
value="<?php echo $service_price; ?>"
它显示800.00的价格,因为这是它从查询中获得的最后一个值 . 您可以通过基于所选服务名称运行第二个查询来完成所需的操作 .
您需要将此作为onchange事件执行,以便它知道从下拉列表中选择了哪个值 .
假设您生成了这样的输出:
你可以用一个小jQuery做到这一点:
目前还不清楚你在这里要求什么 . 据我所知,您希望在选择项目时更改价格字段中的价格 . 如果是这种情况,您需要使用javascript或jQuery .
这是jQuery的解决方案:
这样的东西会起作用:
Furthermore, I must strongly advise you to move away from using the PHP mysql_ API as it has now been deprecated! Instead, use either PDO or mysqli, information for both can be found at the links below:*
PDO Library
MySQLi Library