0

テーブルにいくつかのドロップダウン リストがあり、0 でない場合はドロップダウン リストの値を取得しようとしています。

各アイテムにドロップダウンリストがあるアイテムのテーブルがあります。以下は、ドロップ ダウン リストの作成方法です。これは、特定の製品の一意の識別子であるため、テーブル ID を名前として付けます。

echo "<td><select name=". $row['goosedown_id'] .">
                <option value=''> 0 </option>
                <option>1</option>
                <option>2</option>
                <option>3</option>
                <option>4</option>
                <option>5</option>
                <option>6</option>
                <option>7</option>
                <option>8</option>
            </select>
        </td>";

次に、フォームが送信されたら、できる値を印刷しようとしています...続行方法がわからないためです...私はこれをそのように行います。

$goosedown_id = check_input($_POST['goosedown_id']);
//..

goose down = $goosedown_id

関連する値を印刷したり、テーブル内の他のアイテム、つまり価格などに基づいて価格を計算したりできることを望んでいますが、誰かが最初に0ではないアイテムにアクセスしようとするのを手伝ってくれることを願っています.

4

2 に答える 2

1

次の例を見てください。

<!DOCTYPE html>
<head>
    <link href="loginmodule.css" rel="stylesheet" type="text/css" />
</head>
<body>
    <?php
    if (count($_POST)) {
        for ($i = 0; $i < $_POST["nr_rows"]; $i++) {
            echo "<h2>id=".$_POST["goosedown_id"][$i].", qty=".$_POST["qty"][$i]."</h2>\n";
        }
        die("<pre>".print_r($_POST, true)."</pre>\n");
    } else {
        // connect to the database
        $link = mysqli_init();

        // Adjust hostname, username, password and database name before use!
        $db = mysqli_real_connect($link, "localhost", "root", "", "test") or die(mysqli_connect_error());

        $SQL = "SELECT * FROM 5050goosedown ORDER BY price ASC";
        $result = mysqli_query($link, $SQL) or die(mysqli_error($link));

        $rows = array();
        for ($i = 1; $row = mysqli_fetch_assoc($result); $i++){
            $rows[] = array(
                'id'        => $row['goosedown_id'],
                'bgcolor'   => ($i % 2) ? '#F5F5F5' : '#E5E5E5',
                'name'      => htmlentities($row['name']),
                'size'      => ($row['width'] || $row['height']) ? $row['width'].'/'.$row['height'] : '',
                'fill'      => $row['normal_fill'].'/'.$row['our_fill'],
                'old_price' => $row['old_price'] ? $row['old_price'] : '',
                'price'     => $row['price']
            );
        }
    }
    ?>
    <form action="<?= $_SERVER['SCRIPT_NAME'] ?>" method="post">
        <table border="0" width="600">
            <tr>
                <th width="30%" colspan="2"><b>50/50 Goose Down:</b></th>
                <th width="30%"><i>Normal Fill / Our Fill</i></th>
                <th width="12.5%"><i>Old Price</i></th>
                <th width="12.5%"><i>Price</i></th>
                <th width="12.5%"><i>Quantity</i></th>
            </tr>
            <?php foreach ($rows as $row): ?>
            <tr bgcolor="<?= $row['bgcolor'] ?>">
                <td><?= $row['name'] ?></td>
                <td><?= $row['size'] ?></td>
                <td><?= $row['fill'] ?></td>
                <td><?= $row['old_price'] ?></td>
                <td><?= $row['price'] ?></td>
                <td>
                    <select name="qty[]">
                        <?php for ($i = 0; $i <= 8; $i++): ?>
                        <option value="<?= $i ?>"><?= $i ?></option>
                        <?php endfor ?>
                    </select>
                    <input type="hidden" name="goosedown_id[]" value="<?= $row['id'] ?>" />
                </td>
            </tr>
            <?php endforeach ?>
        </table>
        <input type="submit" name="myButton" id="myButton" value="Submit" />
        <input type="hidden" name="nr_rows" value="<?= count($rows) ?>">
    </form>    
</body>
</html>
于 2012-10-07T20:27:46.503 に答える
1

作成しているページのソースを見ましたか? あなたのフォームは

<td><select name="value_of_the_variable_your_insert">

いいえ

<td><select name="goosedown_id">

を挿入$row['goosedown_id']しているので、その変数の VALUE を探す必要があります。

$_POST[$row['goosedown_id']]
于 2012-10-07T01:23:37.620 に答える