[英]PHP - How to get the selected item from dropdown menu populated from query before POST
我想知道如何从下拉菜单中获取所选名称,该下拉菜单由使用phpmyadmin的查询填充,以根据选择显示图片。
例如,如果用户从下拉菜单中选择“山脉”,我希望能够使用该值并进行另一个查询以从数据库中获取特定图像URL并显示它,并且每次用户更改选择图像时相应地更改。
是的,我知道,不建议使用mysql命令。 如果您需要更多详细信息,请告诉我。
<select name='picker'>";
<?php
mysql_connect('localhost','root','');
mysql_select_db('...');
$sql = "...";
$result = mysql_query($sql);
while ($row = mysql_fetch_array($result)) {
echo "<option value='" . $row['name'] . "'>" . $row['name'] ."</option>";
}
$selectoption = $_REQUEST['picker'];
mysql_connect('localhost','root','');
mysql_select_db('...');
$sql3 = "...";
$image = mysql_query($sql3);
?>
<img src="<?php echo $image; ?>">
创建2个文件
注意:两个文件应位于同一位置,如果它们是根文件夹,则应如下所示
main.php
fetchimage.php
如果文件夹内部假设文件夹名称为alpha,则
alpha/main.php
alpha/fetchimage.php
现在创建main.php
文件,并将以下PHP
和jQuery
代码放入其中。
<?php
error_reporting(E_ALL);
ini_set('display_errors',1);
mysql_connect('localhost','root','');
mysql_select_db('...');
?>
<select name="picker" id="picker">
<?php
$sql = "SELECT * FROM table";
$result = mysql_query($sql);
while ($row = mysql_fetch_array($result)) {
?>
<option value="<?php echo $row['name'];?>"><?php echo $row['name'];?></option>
<?php } ?>
</select>
//Here Show the Images
<div id="imged"></div>
jQuery的
//JQuery library always comes first.
<script>
$(document).ready(function() {
$("#picker").change(function(){
var name=$(this).val();
alert(name); //This will show an alert when value selected, remove this **alert** in production mode, use it only in development mode.
var dataString = 'name='+ name;
$.ajax({
type: "POST",
url: "fetchimage.php",
data: dataString,
cache: false,
success: function(data){
$("#imged").html(data);
}
});
});
});
</script>
有关jQuery更改功能和Ajax方法的更多信息
<select>
#picker
更改功能与<select>
绑定 id="imged"
绑定以显示图像 现在创建第二个文件名fetchimage.php
并在其中添加以下代码。
<?php
error_reporting(E_ALL);
ini_set('display_errors',1);
mysql_connect('localhost','root',''); //Put Database Connection Here
mysql_select_db('...'); //Put Database Name Here
if(isset($_POST['name'])){
$selectoption = mysql_real_escape_string($_POST['name']);
$sql = "SELECT Image FROM table WHERE name = '$selectoption'";
$result = mysql_query($sql);
$row = mysql_fetch_array($result);
//This will show the image inside <div id="imged"></div>
echo '<img src="'. $row["Image"] .'" alt="" />';
}
?>
侧面说明:请记住,不建议使用mysql
,现在应开始使用mysqli
。
MySQLi(程序示例)
<?php
error_reporting(E_ALL);
ini_set('display_errors',1);
//Conntection Credentials
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "databasename";
// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Check connection
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
//Run Query
$sql = "SELECT imagename FROM table";
$result = mysqli_query($conn, $sql);
if (mysqli_num_rows($result) > 0) {
// output data of each row
while($row = mysqli_fetch_assoc($result)) {
echo $row["imagename"];
}
} else {
echo "0 results";
}
mysqli_close($conn);
?>
OP请求了示例代码,并通过电子邮件提供了其他详细信息,例如(数据库)。
您可以在select onchange事件上使用ajax,然后更改图像的内容。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.