通过AJAX将表单值传递给PHP

时间:2017-04-24 09:40:38

标签: php jquery ajax

我有一个脚本,它使用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

2 个答案:

答案 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。关于用查询信任用户提供的变量,你应该非常小心。