2

データベースからデータを取得したい。しかし問題は、特定のデータを取得したいのですが、その方法がわかりません。データベースには、ID が異なる 3 つの同様のレコードがあります。コンボボックスでオプションを選択すると、そのレコードが1つずつ必要になります。私のコードは以下のとおりです。

<select name="q" onchange="myFuncyion()">
<option value="3*10">3*10</option>
<option value="5*10">3*10</option>
<option value="6*10">3*10</option>
</select>

上記のオプションは、異なる価格でデータベースに存在します。価格が欲しい。しかし、問題はこれです。同じオプションがデータベースに存在し、ID が異なる複数の価格があります。しかし、オプションを選択したときに、そのレコードのIDと同じか等しい価格がデータベースから1つだけフェッチされるようにしたいのです。

このタイプのクエリをデータベースに書きたい:

select * from tablename where size = "$size" and id = "$id"

どうすればajaxを使用してそれを行うことができますか?

4

1 に答える 1

1

選択ボックスにIDを与えます。
<select id = "searchBox" name = "whateveryouhavespecified"...>

function myFuncyion(){
    //condition will have the value of your selectbox
    var condition;
    condition = $("#searchBox").val();
    $.ajax({
        type: "POST",
        url: 'path to action page',
        data: { action:'getlinks', topic_id: condition},
        success: function(data) {
                //code of what after ajax is done.
        }
    });
}

これは一例です。必要な変数を、変数を設定した場所に設定します。このようにして、selectbox の値を ajax を使用してアクション ページに転送できます。

PHP コード

if(isset($_POST['action']) && $_POST['action']=='getlinks' && isset($_POST['topic_id']) && $_POST['topic_id']!=''){
    $query = "select * from tablename where fieldname1 = value1 and fieldname2 = value2;"
}

ここではフィルター処理について言及していませんが、強くお勧めしfilter the values before passing it to queryます。標準プロセス全体ではなく、あなたが求めていることだけを述べました。

于 2012-12-29T05:50:59.340 に答える