【问题标题】:Run php from jquery click, return array from php file which calls another file从 jquery click 运行 php,从调用另一个文件的 php 文件返回数组
【发布时间】:2013-08-03 13:48:07
【问题描述】:

昨天我设法从数据库中获取我的数据,并将其存储到 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

【问题讨论】:

    标签: php ajax json mysqli


    【解决方案1】:

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

    你的另一个函数是getinfo,没有大写i。
    所以应该是$mysql-&gt;getinfo($_POST['country']); 而不是$mysql-&gt;getInfo($_POST['country']);

    【讨论】:

    • 我把它改成了大写 i,并且刚刚删除了这个方法,所以现在 Maps.php 看起来像 &lt;?php require '../classes/Mysql.php'; require_once('../FirePHPCore/fb.php'); ob_start(); fb('1', FirePHP::TRACE); $mysql = new Mysql(); fb('2', FirePHP::TRACE); $result = $mysql-&gt;getInfo($_POST['country']); fb('3', FirePHP::TRACE); $res = 1; fb('4', FirePHP::TRACE); echo json_encode($result); fb('5', FirePHP::TRACE); ALSO INSTALLED FIREPHP SO GOOD!。我希望这是一个好的修复
    猜你喜欢
    • 1970-01-01
    • 2010-09-28
    • 1970-01-01
    • 2010-11-24
    • 2012-03-01
    • 2018-10-14
    • 1970-01-01
    • 1970-01-01
    • 2019-06-23
    相关资源
    最近更新 更多