0

我有一个 php 页面,用户可以通过下拉列表选择一个类别,单击“开始”按钮后,该类别的相关图像将显示在数据库下拉列表下方的页面上。这工作正常。现在,我想根据用户的选择,每次在页面加载时显示第一个下拉列表类别的图像。我想我的观点大家都很清楚。例如,下拉列表中的第一个类别是Featured art,在加载与Featured art相关的 php 页面图像时,始终显示在页面上。之后,用户可以通过从下拉列表中更改类别来更改它。请帮帮我。这是我的完整代码:

 <body>
 <?php
 include ('connect-db.php');
  ?>

<form name="product" method="post" action="">
<table align="right" width="10%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>Category</td>
<td>
<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>
</td>
</tr>
<tr>
 <td>&nbsp;</td>
 <td><input name="go" type="submit" value="Go" /></td>
 </tr>
   </table>
 </form>

 <div align="center">

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

   }


    ?>
    </ul>
   </div>
   </body>

提前致谢!:)

4

1 回答 1

0

您可以尝试使用GETrequest 而不是POST. 使用它,您可以检查如下:

<?php

$get_id = $_GET['category'];
if($get_id == null){
    $get_id = <default-value-say-1>;
}
$id = (int)$get_id;

?>

此外,在下拉列表中,设置默认/选择的第一个类别。

当用户选择另一个选项时,重定向到url?category=<selected-id>

这不是复制粘贴解决方案,请以此为起点,遵循 PHP 或您选择的任何 PHP 框架进行开发的最佳实践。

希望这可以帮助!

维韦克

于 2013-04-03T07:29:08.290 回答