我有一个从数据库表A填充的下拉列表。当用户选择一个选项并单击“go”时,该类别的相关数据将显示在另一个数据库表的页面上。例如,当用户选择“ALL”时从下拉列表中选择并单击“开始”,它应显示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>
答案 0 :(得分:0)
c)这么多打开和关闭的php标签!你为什么不用echo?清晰度对于调试(而不仅仅是)非常重要while($ row = mysql_fetch_assoc($ sql_search))