[英]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.