我有一个脚本,它使用AJAX在我的页面上显示来自单独PHP脚本的结果。
但是,现在我想将表单中的数据(选择菜单)传递给脚本。我该怎么做呢?我只想在选择菜单中选择的值作为我的SQL命令中WHERE子句的一部分。
网页:
<?php
$servername = "localhost";
$username = "root";
$password = "root";
$dbname = "db";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT * FROM entries";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
echo "id: " . $row["id"]. " - City: " . $row["city"]. "<br>";
}
} else {
echo "0 results";
}
$conn->close();
?>
PHP脚本:
cancel_preset
答案 0 :(得分:1)
$("#display").click(function() {
$.ajax({ //create an ajax request to load_page.php
type: "GET",
url: "display.php",
dataType: "html",
data: {
"city": $('#city').val(),
},
success: function(response){
$("#responsecontainer").html(response);
}
});
});
答案 1 :(得分:1)
使用jquery,您可以获得所选选项的值:
$('#city').val()
所以你可以用你的ajax请求发送它:
$('#display').click(function(e) {
e.preventDefault();
$.ajax({
type: "GET",
url: "display.php",
data: {
"city": $('#city').val()
},
success: function(response){
$("#responsecontainer").html(response);
}
});
});
然后在你的PHP中:
$city = $conn->real_escape_string($_GET['city']);
$sql = "SELECT * FROM entries WHERE city = '".$city."'";
N.B。关于用查询信任用户提供的变量,你应该非常小心。