0

我有一个可以这样描述的数据库表

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>
4

3 回答 3

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>
于 2012-05-17T02:06:41.670 回答
0

简单的方法是检查你的循环,看看当前值是否是默认值,如果是,echo "selected";则在选项中。

于 2012-05-17T02:02:36.370 回答
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

希望能给你一个想法。

于 2012-05-17T02:03:05.727 回答