从jquery点击运行php,从php文件返回数组,调用另一个文件

时间:2013-08-03 13:48:08

标签: php ajax json mysqli

昨天我设法从数据库输出并存储到java数组中获取数据。然而,这是在加载,现在该代码不适用于点击。 所以我读过关于ajax并且有这个功能:

  var infArray = new Array();
  var country;
    $('#australia').click(function() {
        //console.log("you clicked"+txt);
        country = 'Australia';
        $.ajax({
            type: 'POST',
            url: 'php/Maps.php',
            data: {country: country},
            success: function(data){
            alert("success"+data); // this will hold your $result value
            infArray = JSON.parse(data)
            console.log( 'Return:' + data );
            }           
        });
    });

根据我的理解,这将打开包含该功能的php文件,并允许您使用$ _POST使用变量“country”。

所以我的php文件看起来像这样:

<?php
require '../classes/Mysql.php';

function get_Stockist(){ // if su = 0 then stockist if = 1 then member
    $mysql = new Mysql();
    $result = $mysql->getInfo($_POST['country']);
    echo json_encode($result);
}

所以在我看来,$ result被设置为方法的结果: 在Mysql.php中:

function getinfo($country){

    $rows = array();
    $query = "SELECT Name,add1 FROM stockistsWorld WHERE Country = '". mysql_escape_string($country) ."' LIMIT 5";
    //$query = "SELECT Name,add1 FROM stockistsUK LIMIT 10";
    $result = mysqli_query($this->conn, $query);
    /* numeric array */

    while($row = mysqli_fetch_array($result, MYSQLI_NUM)){

         $rows[] = $row;

        }
    return $rows;
}

然而,我的html中的结果为null

1 个答案:

答案 0 :(得分:1)

您永远不会在您的PHP文件中调用由AJAX调用的函数get_Stockist()get_Stockist()添加到PHP文件中以调用您的函数。

你的另一个功能是getinfo,没有资本i 因此,$mysql->getinfo($_POST['country']);代替$mysql->getInfo($_POST['country']);