0

このように記述できるdbテーブルがあります

CREATE TABLE TTT (id INT PRIMARY KEY NOT NULL AUTO_INCREMENT, name VARCHAR(64), quantity INT, available VARCHAR(5));

画面に特定の製品情報を表示するためのリンクがあり、ドロップダウンボックスを設定して「利用可能な」コンテンツ(つまり、まだ「在庫あり」のIN_STか「在庫切れ」のOF_STか)を表示します。リンクをクリックした後、値の1つを読み取り、それをデフォルト値としてコンボボックスに表示するにはどうすればよいですか。手伝ってくれてどうもありがとう。

私の選択した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 に答える