0

そのすぐ上のドロップダウンボックスからの選択に基づいた選択ボックス表示オプションが必要です。ユーザーが車種を選択したら、その車種の車種を選択できるようにします。

mysql データベースから車のメーカーのオプションを表示することができましたが、今はそのメーカーの車のモデルだけが必要です。私のデータベースには、Make 用と Model 用の 2 つの列があります。

PHP の上部のセクションは、make を取得する方法であり、下部はモデルを取得しようとする方法ですが、必要な数個のモデルではなく、数百個のモデルが表示されます。AJAX や JavaScript で自動的に結果をアップロードできると聞きました。どんな助けも素晴らしいです。ありがとう!

</div>

<?php
    mysql_connect('localhost', '*****', '******');
    mysql_select_db('*************');
    $sql = "SELECT Make FROM CarMakes";
    $result = mysql_query($sql);
    echo "<select name='carmake3'>";
    while ($row = mysql_fetch_array($result)) {
        echo "<option value='" . $row['Make'] . "'>" . $row['Make'] . "</option>";
    }
    echo "</select>";
?>
<?php
    mysql_connect('localhost', '******', '**********');
    mysql_select_db('*************');
    $sql = "SELECT Model FROM myTable";
    $result = mysql_query($sql);
    echo "<select class='modelbox' name='carmodel3'>";
    while ($row = mysql_fetch_array($result)) {
        echo "<option value='" . $row['Model'] . "'>" . $row['Model'] . "</option>";
    }
    echo "</select>";
?>
<input type="text" maxlength="4" name="car3year" placeholder="year" class="WriteInBox"/>

<input type="text" maxlength="6" name="car3miles" placeholder="miles" class="WriteInBox"/>

</div>
4

2 に答える 2

0
$sql = "SELECT Model FROM myTable";

これにより、求めている結果が得られます。すべてのモデルを選択します。

あなたのSQLは次のようになります

$sql = "SELECT Model FROM myTable WHERE Make='Make'";

where は、選択した特定の Make に関連付けられたモデルのみを取得するように制限します。

AJAX でそれを行うには、jQuery を使用していますか? Ajax 呼び出しを使用したスト​​レートな JavaScript? あなたの質問のその部分に答えるために、より多くの情報を提供してください。

于 2013-08-21T20:50:27.790 に答える
0

これはおそらく最善の方法ではありませんが、以前にこのようなことをしなければならなかったときは、通常、php を使用してヘッダーにいくつかの JavaScript 変数を入力し、次に javascript を使用して選択を作成します。また、あなたのデータベースには、特定のモデルを特定のメーカーの車両にマッピングする何かがあると思います。

<script>
var makes = new Array();
var models = new Array();
<?php
$sql = "SELECT Make FROM CarMakes";
$result = mysql_query($sql);
while ($row = mysql_fetch_assoc($result)) {
?>
    makes[] = <?php echo json_encode($row['Make']); ?>;
<?php
}
$sql = "SELECT Make FROM CarMakes";
$result = mysql_query($sql);
while ($row = mysql_fetch_assoc($result)) {
?>
    models[] = <?php echo json_encode($row['Model']); ?>;
<?php
}
?>
</script>

ここから、選択を作成し、makes 配列の要素を使用して最初のオプションを設定できます。次に、最初の選択に onChange イベントを追加して、2 番目の選択を設定します。

編集選択作成の場合:

<select id="make-select" onChange="updateModels()">
</select>
<select id="model-select">
</select>
<script>
$(function() {
    $.each(makes, function (index, value) {
        $(#make-select).append($('<option>') {
            value: value,
            text: value
        });
    });
}
</script>

次に、選択した の値に基づいてupdateModels更新される関数を作成します。繰り返しになりますが、モデルをデータベース内の make に関連付ける何かが必要になります。その場合、変数を単なる配列ではなくオブジェクトにする必要がある場合があります。model-selectmake-selectmakes

var models = new Object()
<?php
    $sql = "SELECT Model-Make, Model FROM CarMakes";
    ...
    models.make = <?php echo json_encode($row['Model-Make']); ?>;
    models.model = <?php echo json_encode($row['Model']); ?>;
    ...
?>
于 2013-08-21T20:52:09.380 に答える