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