0

私は ajax 技術の初心者です。mysql_query を実行するための php があり、クライアント側で結果を使用したいと考えています。

私のdatabase.php

$q=mysql_query("SELECT name FROM customers");
$res=mysql_fetch_array($q);
echo json_encode($res);

と私client.php

<div id="output">this element will be accessed by jquery and this text replaced </div>

<script id="source" language="javascript" type="text/javascript">

$(function () 
{
$.ajax({                                      
  url: 'database.php',                  //the script to call to get data          
  data: "",                        

  dataType: 'json',                //data format      
  success: function(data)          //on recieve of reply
  {
    var name = data[0];              

     $('#output').html("<b>id: </b>"+name);

    } 
});
}); 

</script>

これは、私が見つけたいくつかのチュートリアルからのものです。と、作品を見ているとdatabase.php。正しいデータを出力しますが、client.php何も取得できません。何が問題なのですか?

------編集済み---------

したがって、Web サーバーで php 4.4.7 が実行されているようで、そのため json_encode() 関数が動作しないようです。「解決策」を見つけました。私が理解している限り、古いバージョンのphpに新しいメソッドを実装するupgrade.phpを含めます。これがそのウェブサイトですhttp://include-once.org/p/upgradephp/

PHP のバージョンをアップグレードできないので、これは良い解決策でしょうか? 現時点では動作しません

4

5 に答える 5

0
$.getJSON("database.php",function(data){
var entries = data;
$.each(entries,function(index,entry){
    //do stuff with json entry here
});
});
于 2012-05-14T08:09:02.157 に答える
0

database.phpでこのコードを使用します

    $q=mysql_query("SELECT name FROM customers");

    while($res=mysql_fetch_array($q))
{
$a[]=$res['name'];
}
    echo json_encode($a);
于 2012-07-05T08:51:42.523 に答える
0
$.ajax({                                      
  url: '/database.php',      //Correct path.                 
  //data: "",                       
  type : 'Get',
  dataType: 'json',                   
  success: function(data)          
  {
     alert(JSON.stringify(data)); 
     var name = data[0];    
     $('#output').html("<b>id: </b>"+name);
  } 
});
于 2012-05-14T08:05:38.113 に答える
0

適切にそうする:

データベース.php

if (isset($_POST['getData'])) {
    $q=mysql_query("SELECT name FROM customers");
    $res=mysql_fetch_array($q);
    echo json_encode($res);
    die();
}

client.php

<div id="output">this element will be accessed by jquery and this text replaced </div>

<script id="source" language="javascript" type="text/javascript">

$(function () 
{
    $.ajax({                                      
        url: 'database.php',                  //the script to call to get data          
        type: "post",
        data: { getData: true },
        dataType: 'json',                //data format      
        success: function(data)          //on recieve of reply
        {
            var name = data[0];              

            $('#output').html("<b>id: </b>"+name);

        } 
    });
}); 

</script>
于 2012-05-14T08:27:01.193 に答える