3
我試圖用PHP填充select
字段。問題是我無法弄清楚如何顯示它們,因爲我得到的數據庫中的值匹配顯示兩次,因爲我將它作爲選定的回顯,然後循環顯示所有結果。我怎樣才能顯示selected
一個匹配的字段值,然後是所有不匹配所選的一個?填充從數據庫中選擇字段
表格類別
cat_id cat_name
1 soccer
2 baseball
3 basketball
表項目
art_id art_cat_id
1 1
PHP/HTML
<select name="category">
<?php
$sql = "SELECT cat_id cat_name, art_id, art_cat_id
FROM categories LEFT JOIN articles
ON categories.cat_id = articles.art_cat_id
WHERE art_id = 1";
$result = query($sql);
if($result===false) {
echo("Query Fail");
}
else {
?>
<option value="<?php echo $data['art_cat_id'] ?>" selected="selected"><?php echo $data['cat_name'] ?></option>
<?php
while($data = mysqli_fetch_array($result)) {
?>
<option value="<?php echo $data['cat_id'] ?>"><?php echo $data['cat_name'] ?></option>
<?php
}
}
?>
</select>
什麼它返回
<select name="category">
<option value="1" selected="selected">soccer</option>
<option value="1">soccer</option>
<option value="2">baseball</option>
<option value="3">basketball</option>
</select>
我在找什麼
<select name="category">
<option value="1" selected="selected">soccer</option>
<option value="2">baseball</option>
<option value="3">basketball</option>
</select>
+1組織你的問題非常好:) – 2013-03-31 19:19:52
我可以看到你打印的第一選擇,而循環開始前,而是如何打印的第一個數據?因爲它還不可用 – 2013-03-31 19:23:28
謝謝:),並對不起,我有一個sql語句之前,其中填充其他領域,我只是得到'art_cat_id'和'cat_name'與該語句,然後循環休息。我希望這是有道理的。'art_cat_id'和第一個'cat_name'實際上是使用'$ row ['art_cat_id']'和'$ row ['cat_name']'然後我做第二個sql,我使用' $ data ['cat_id']' – user2201765