php - 单击执行按钮后如何保留选定的列表值?

标签 php mysql

我有一个 php 页面,其中从 mysql 数据库填充了一个下拉列表,当用户进行选择并单击“开始”按钮时,有关该所选项目的数据将显示在页面上。现在我的页面中一切正常,但列表项名称自动显示为默认值。 例如:有4个列表项,Featured art,pop art,nature art,fantasy art。 当用户选择流行艺术并按下“开始”按钮时,与此相关的数据会显示在页面上,但下拉列表不会包含在列表中选择的流行艺术名称。即使这样,下拉列表也会默认显示特色艺术。获取数据没有问题,但我想在下拉列表中显示作为选定的流行艺术或自然艺术或幻想艺术或特色艺术(不仅是特色艺术)及其在页面上的相关数据等。我想我的观点大家都很清楚。请帮助我。

代码如下:

<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

最佳答案

用以下内容替换您的选择列表:

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

我添加了一个 if 语句来检查行 ID 是否与发布的变量匹配 - 如果匹配则将选项值设置为选中。

关于php - 单击执行按钮后如何保留选定的列表值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15807620/

相关文章:

javascript - PHP 代码无法与 "onclick"上的 JS 函数一起使用

php - redbeanphp 和表前缀

sql - 如何在不选择 ORDER BY 字段的情况下选择 DISTINCT 行

php - MySQL数据库黑名单表设计

mysql - 为什么使用 CASE 运算符 VS IF 函数时我的计数不同?

php - Medoo php sql - 更改搜索词

php - 将 mysql 查询值添加到 php 数组

php - 如何在 rest api 中验证/检查基本身份验证 header

php - 尝试从数据库中抓取多个随机视频,但它始终只显示同一个视频

php - CodeIgniter 更新语法?