我有一个可以像这样描述的db表
CREATE TABLE TTT (id INT PRIMARY KEY NOT NULL AUTO_INCREMENT, name VARCHAR(64), quantity INT, available VARCHAR(5));
我有一个链接在屏幕上显示特定的产品信息,我还设置了一个下拉框以显示“可用”内容(即它是否仍然“有货”IN_ST或“缺货”OF_ST )。单击链接后,如何读取其中一个值并将其显示在组合框中作为默认值。非常感谢你的帮助。
我的选择html看起来像这样
<select name="available" id="available">
<option value="">Select...</option>
<option value="IN_ST">In stock</option>
<option value="OF_ST">Out of stock</option>
</select>
答案 0 :(得分:0)
简单的方法是检查循环以查看当前值是否为默认值,如果是,则选择echo "selected";
。
答案 1 :(得分:0)
你能发布你已经发布的内容吗?
最简单的方法是构造一个下拉列表,每个值映射到数据库中id
列的值。这将允许您选择并显示详细信息。
查询类似于:
SELECT * FROM TTT
下拉菜单本身就是:
<SELECT id="stock">
<OPTION value="1">ABC (out of stock)</OPTION>
<OPTION value="2">DEF (out of stock)</OPTION>
<OPTION value="3">GHI (in stock)</OPTION>
</SELECT>
想法是,值列将使用id
列填充,就像我之前提到的那样。您可以显示名称,并使用简单的if ... else
来显示该项目是否有库存。
$status = $row['available'] == 'IN_ST' ? ' (in stock)' : ' (out of stock)';
$option = "<OPTION value={$row['id']}>{$row['name']}$status</OPTION>";
echo $option; // within the select
希望能给你一个想法。
答案 2 :(得分:0)
<?php
// $someId might come from the query string, or some other place
$query = "SELECT * FROM TTT WHERE id = $someId";
if (!$result = mysql_query($query))
{
die(); //properly handle the error
}
//since I'm where'ing the id, I'm assuming only one row will be returned.
//If that's not the case, you'll have to put this in a while construct
$row = mysql_fetch_assoc($result)
$avail = $row['available'];
$in_selected = ($avail == "IN_ST") ? "selected" : "";
$out_selected = ($avail == "OUT_ST") ? "selected" : "";
?>
<select name="available" id="available">
<option value="">Select...</option>
<option value="IN_ST" <? echo $in_selected; ?>>In stock</option>
<option value="OF_ST" <? echo $out_selected; ?>>Out of stock</option>
</select>