如何在php中在pageload上显示固定图像?
我有一个php页面,用户可以通过下拉列表选择一个类别,单击“go”按钮后,该类别的相关图像将显示在数据库下拉列表下方的页面上。这个很好用。现在,我想根据用户的选择,每次在页面加载时显示第一个下拉列表类别的图像。我想我的观点大家都很清楚。例如,下拉列表中的第一个类别是特色艺术,加载与特色艺术相关的php页面图像时始终显示在页面上。之后,用户可以通过从下拉列表中更改类别来更改它。请帮帮我。 这是我的完整代码:如何在php中在pageload上显示固定图像?,php,mysql,Php,Mysql,我有一个php页面,用户可以通过下拉列表选择一个类别,单击“go”按钮后,该类别的相关图像将显示在数据库下拉列表下方的页面上。这个很好用。现在,我想根据用户的选择,每次在页面加载时显示第一个下拉列表类别的图像。我想我的观点大家都很清楚。例如,下拉列表中的第一个类别是特色艺术,加载与特色艺术相关的php页面图像时始终显示在页面上。之后,用户可以通过从下拉列表中更改类别来更改它。请帮帮我。 这是我的完整代码: <body> <?php include ('connect-db
<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> </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>
类别
提前感谢!:) 您可以尝试使用
GET
请求,而不是POST
。使用此选项,您可以进行如下检查:
<?php
$get_id = $_GET['category'];
if($get_id == null){
$get_id = <default-value-say-1>;
}
$id = (int)$get_id;
?>
此外,在下拉列表中,设置默认/第一个选定类别
当用户选择另一个选项时,重定向到url?category=
这不是复制粘贴解决方案,请以此为起点
指出并遵循PHP或任何PHP开发的最佳实践
您选择的框架
希望这有帮助
Vivek当从数据库填充整个下拉列表时,如何使选定的类别成为第一个类别?我的全部代码粘贴在此线程中。这是一个正在运行的代码。@Monomita,在创建
的循环中,只需为所选ID设置一个属性selected=“true”
,类似于-
。这会将特定的
标记为选中的$id==$row['id']
。这将在页面加载和用户选择更改时起作用。请将您的代码和您得到的内容粘贴到此处。图像会随着用户选择的更改而更改。似乎if
条件存在一些问题。请检查比较是否返回true
。您可以尝试将两个操作数的类型转换为(int)
,看看是否有效。我认为这就像比较int和string,这就是为什么这不起作用。只需检查两个操作数的类型是否相同。