2013-04-04 58 views
1

我有一个php页面,其中下拉列表填充从mysql数据库和当用户做出选择并点击'去'按钮,有关该选定项目的数据将显示在页面。现在,我的页面中的所有内容都可以正常工作,但列表项名称会自动显示为默认值。 例如:有4个列表项,特色艺术,波普艺术,自然艺术,幻想艺术。 当用户选择波普艺术并按下go按钮时,与此相关的数据将显示在页面上,但下拉列表不会保留列表中选定的波普艺术名称。即使那时下拉列表显示特色艺术为默认。没有取数据的问题,但是我想在下拉列表中选择作为选定的波普艺术或自然艺术或幻想艺术或特色艺术不仅是特色艺术)及其相关数据在页面上等。我认为我的观点很清楚。请帮帮我。如何在点击按钮后保存选定的列表值?

这里是代码:

<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> 

我添加的,如果检查语句,如果行ID匹配:

<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']; ?>"><?= $row['art_name']; ?></option> 

<?php 

} 
?> 
</select> 
<input name="go" type="submit" value="Go" /></div> 


<div align="center" class="showimage"> 
<ul class="display"> 

<?php 
    $id = (int)$_POST['category']; 
$sql_search = "SELECT id, categoryid, path FROM list WHERE categoryid = $id"; 
$search = mysql_query($sql_search); 
$sql = mysql_query("SELECT autodisplay FROM list WHERE categoryid = 2"); 
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 } 

} 

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> 

This is the running page

+0

[How to make

回答

2

用以下内容替换您的选择列表发布变量 - 如果是这样,将选项值设置为选中。

相关问题