0

2つのクエリを使用して、医師ごとに複数のドロップダウンメニューを設定しようとしています。これまでのところこれは機能していますが、残念ながらアイテムのみをプルします。

ドロップダウン内ですべての「専門知識」(およびオプション値としての専門知識ID)を利用できるようにしたいと思います。

以下のwhileループを設定しましたが、Client_IDごとにドロップダウンを作成できませんでした。

最初のクエリ(以下)は、エリアからクライアントIDを取得します

$client_id = $_GET['doc_id'];
$physician_id_expertise = $client_id;

$doctor_query = 'SELECT * ';
$doctor_query.= 'FROM `primarycare_expertise` ';
$doctor_query.= 'WHERE `physician_id`=' . $client_id . ' ';
$doctor_result = mysql_unbuffered_query( $doctor_query );

whileループには、ドロップダウンを設定する2番目のクエリが組み込まれています(すべての「専門知識」の値を取得します)。

while ($doctor_row = mysql_fetch_array( $doctor_result ))
{
    echo "<select name='doc_id_expertise_" . $doctor_row['pe_id'] . "' id='doc_id_expertise_" . $doctor_row['pe_id'] . "'>";

    $expert_query = 'SELECT * FROM `expertise` ';
    $expert_result = mysql_unbuffered_query( $expert_query );

    while ($expert_row = mysql_fetch_array( $expert_result )){
        if($doctor_row['expertise_id'] == $expert_row['expertise_id'])
        {
            $selected = "selected";
        } else {
            $selected = "";
        }
        echo "<option $selected value=" . $expert_row['expertise_id'] . ">" . $expert_row['expertise'] . "</option>";
    }

    echo "</select>";
    echo "<br />";
}

誰かが私を助けてくれるなら、私はとても感謝しています!お時間をいただきありがとうございます!

4

2 に答える 2

1

前のクエリのバッファリングされていない結果を反復処理しながら、新しいクエリを送信しています。これは動作しません。次のような最初のクエリのmysql_query代わりにを使用してみてください。mysql_unbuffered_query

$doctor_result = mysql_query (
    "SELECT * FROM primarycare_expertise WHERE physician_id='$client_id'");

mysql_unbuffered_query後続のクエリでは、重複しないため、引き続き使用できます。

詳細については、次のページを参照してください。

于 2013-03-03T10:48:14.150 に答える
0

mysqlパッケージは非推奨です。代わりに、mysqli拡張機能を採用することを検討してください。

http://www.php.net/manual/en/book.mysqli.php

于 2013-03-03T10:50:18.220 に答える