【问题标题】:how to get two values to get result in php and ajax如何获取两个值以在 php 和 ajax 中获取结果
【发布时间】:2019-07-03 19:57:26
【问题描述】:

我正在尝试从 php 中的表单中获取两个值,即体重和性别 使用 jquery 和 ajax 显示对应性别和体重的价格,

mysql表是这样的

gender range1  range2  price
male     0       100     20
male    101      200     30
female   0       100     25
female  101      199     46

php 表单是这样的

  <input type="text" name="gender" id="gender">
  <input type="number" name="weight">
 price <span id="result"></span>
<input type="button" herf="javascript:;" onclick="getprice" value="">

ajax 函数是这样的

    function getprice (gender, whieght) {
        var str_num {
        "gender" : gender,
        "weight" : weight
       };
             $.ajax({ data: str_num, 
        url: 'selectprice.php',
        type: 'post'
        beforeSend: function() {
     $("#result").html("in progress..");},
           succes: function (reponse){
         $("result").html(reponse);
                  })}}

selectprice.php 看起来像这样

 $gender = $_GET["gender"];
  $weight = $_GET["weight"];
   $fetch = "SELECT * FROM table where gender like $gender and weight 
  >range1 and <range2"; 
$result = mysqli_query($con, $fetch) or die("Ocurrio un error en la 
  consulta SQL");
while ($row = $resul->fetch_assoc()) {
    echo "".$row["price"]."";
    }
   echo $result;

当我点击按钮时没有任何反应,我真的可以使用一些帮助,在此先感谢

【问题讨论】:

  • 您是否在浏览器控制台中查看过正在发送/正在发生什么?您是否在 Web 服务器日志中查看过错误?不工作在不是很描述性。
  • 您在没有任何参数的情况下调用 getprice()。

标签: php jquery mysqli


【解决方案1】:

你真的把错误打包进去了。

<input type="text" name="gender" id="gender">
<input type="number" name="weight" id="weight">
price 
<input type="button" herf="javascript:;" onclick="getprice()" value="">


<script>
$(document).ready(function() {
});
function getprice () {
    var str_num = {
        "gender" : $('#gender').val(),
        "weight" : $('#weight').val()
    };
    $.ajax({ 
        data: str_num, 
        url: 'selectprice.php',
        type: 'post',
        beforeSend: function() {
            $("#result").html("in progress..");
        },
        succes: function (reponse){
            $("result").html(reponse);
        }
    })
};

</script>

PHP 文件

<?php
    error_reporting(E_ALL);
    ini_set('display_errors', true);
//  ini_set('log_errors', true);

var_dump($_POST); // Your doing a post not a get in the javaacript.

【讨论】:

    【解决方案2】:

    你需要更新你的线路:

    url: 'selectprice.php?weight='+weight+'&gender='+gender,
    

    或者你可以在url之后传递data

    url: 'selectprice.php',
    data: {weight:weight, gender,gender},
    

    【讨论】:

    • 具体来说,调用getprice 的点击处理程序不会传递任何内容。您要么需要传递这些值(注意whieght 上的拼写错误),要么查询这些值在那个函数中——如果没有传入它们。
    【解决方案3】:

    你在这里混合了“POST”和“GET”。

    如果您想使用“GET”,请遵循 Naveed 的建议

    如果您想使用“POST”,请在下面找到两种可能的解决方案:

    1) 简单的一个:将变量直接包含在数据中

    function getprice (gender, weight) {
    
             $.ajax({ data: "gender" : gender,
        "weight" : weight, 
        url: 'selectprice.php',
        type: 'post'
        beforeSend: function() {
     $("#result").html("in progress..");},
           success: function (reponse){
         $("result").html(reponse);
                  })}}
    

    selectprice.php:

    替换

     $gender = $_GET["gender"];  $weight = $_GET["weight"];
    

     $gender = $_POST["gender"];  $weight = $_POST["weight"];
    

    2) 稍微复杂一点:使用stringify

    function getprice (gender, weight) {
        var data={
        "gender" : gender,
        "weight" : weight
       };
    
    var str_num = JSON.stringify(data);
    
             $.ajax({ data: str_num, 
        url: 'selectprice.php',
        type: 'post'
        beforeSend: function() {
     $("#result").html("in progress..");},
           success: function (reponse){
         $("result").html(reponse);
                  })}}
    

    selectprice.php:

    替换

     $gender = $_GET["gender"];  $weight = $_GET["weight"];
    

    $json_data_from_js= json_decode($_POST['data']);
    $gender = $json_data_from_js->gender ;
    $weight = $json_data_from_js-> weight;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-11-17
      • 1970-01-01
      • 2012-12-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-28
      相关资源
      最近更新 更多