0

我正在尝试使用两个查询来为每个医生设置多个下拉菜单。到目前为止,这是有效的,但不幸的是它只拉动了该项目。

我想在下拉列表中提供所有“专业知识”(以及作为选项值的专业知识 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 循环包含第二个查询,它设置下拉列表(拉入所有“专业知识”值)。

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 回答