簡體   English   中英

PHP的MySQL選擇下拉列表選擇和不同的查詢

[英]php mysql select dropdown selected and distinct query

我在這里很困惑。

$sql_n = mysql_query("SELECT * FROM table1 WHERE n='{$row['n']}'");
$row_n = mysql_fetch_array($sql_n);

$sql= mysql_query("SELECT DISTINCT p FROM table1");
while($row = mysql_fetch_array($sql)) { 

    if($row['p'] == $row_n['p']) {
        $selected = " selected"; 
    }

    $np .= "<option value='{$row['p']}'$selected>{$row['p']}</option>"; 
}

當我使用查詢SELECT DISTINCT p$selected不起作用,但是如果我使用SELECT p 它的工作原理,為什么?

如果不做PHP,但是如果不明確暗示“ as”列名,則知道引擎有時會如何構成列名,這可能是在做一些與眾不同的事情,例如

選擇DISTINCT p作為DISTINCT_P

因此結果查詢中的列名“ p”不存在。

您可能要嘗試

選擇DISTINCT PP

因此,隱含的結果列名稱為“ P”,並限定例程的其余部分。

我的第一個反應是,解決您的問題的方法也是在第一個查詢中添加DISTINCT。

認為這是查詢,現在我不認為是...而是您的$ selected變量。 直到實際的任何地方都沒有宣布

if($row['p'] == $row_n['p']) { 
        $selected = " selected";  
    } 

您可能需要“其他”並設置

$ selected =“”;

因此,當您在構建OPTIONS列表時嘗試在下面的字符串構建中隱藏它時,將不會存在不存在的變量,這將使它失敗。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM