簡體   English   中英

從下拉列表中選擇“全部”選項時顯示數據庫中的數據

[英]display data from database on selecting 'ALL'option from dropdownlist

我有一個從數據庫表A填充的下拉列表。當用戶選擇一個選項並單擊'go'時,該類別的相關數據將顯示在另一個數據庫表B的頁面上。例如,當用戶從下拉列表中選擇'ALL'選項時列表並單擊“ Go”,它將顯示B表中的所有數據。

頁面將始終顯示與第一個選項相關的數據,並且頁面加載非常完美。

現在,通過選擇列表類別從數據庫表B中提取操作已成功完成,除了“ ALL”選項。 即當我選擇“全部”類別時,我面臨問題。 我無法一次顯示表B中的所有數據。 請幫助我,如果我寫錯了英語,請忽略。 這是我的代碼:

<div align="right"><label>Category</label>

<select name="category">

<?php

$sql = "SELECT id, art_name FROM category;";
$result = mysql_query($sql);
while ($row = mysql_fetch_assoc($result)) {
?>
<option value="<?= $row['id']; ?>"<?=($_POST['category']==$row['id'] ? '   selected="selected"' : '')?>><?= $row['art_name']; ?></option>

<?php } ?>
</select>
 <input name="go" type="submit" value="Go" /></div>
 <div align="center" class="showimage">
 <ul class="display">

<?php
$id = $_POST['category'];
$search = mysql_query("SELECT id, categoryid, path FROM list WHERE categoryid = $id");
 $sql = mysql_query("SELECT autodisplay FROM list WHERE categoryid = 2");
$sql_search = mysql_query("SELECT path FROM list");
if (isset($_POST['go'])) {
while ($row = mysql_fetch_assoc($search)) {
?>

<li><a href="<?= $row['path']; ?>" class="highslide" onclick="return hs.expand(this)"><img src="<?= $row['path']; ?>" border="0"></a>
</li>
<?php }
while ($row = mysql_fetch_assoc($sql_search)) {
?>

<li><a href="<?= $row['path']; ?>" class="highslide" onClick="return hs.expand(this)"><img src="<?= $row['path']; ?>" border="0"></a>
 </li>
<?php }
 }

 else {
 while ($row = mysql_fetch_assoc($sql)) {
 ?> 
 <li><a href="<?= $row['autodisplay']; ?>" class="highslide" onclick="return hs.expand(this)"><img src="<?= $row['autodisplay']; ?>" border="0"></a>

 </li>
 <?php }

 }
 ?>

</ul>
</div>

這是我的運行頁面的鏈接:

  • a)首選mysqli或PDO。 mysql_query已棄用。
  • b)您只需要一個循環

而($ row = mysql_fetch_assoc($ sql_search))

c)太多的打開和關閉php標簽! 為什么不使用echo? 清除對於調試非常重要(不僅如此)

暫無
暫無

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

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