1

ここでばかげた間違いを犯している場合はご容赦ください...しかし、私はPHPに少し慣れていません...私は長い間これにこだわっています。いくつかの方法を試しましたが、複数の行ではなく、1つのテーブル行しか渡すことができません

次のアプローチでも試しましたが、同じエラーが発生しました。 http://www.electrictoolbox.com/json-data-jquery-php-mysql/

これが私がやろうとしていることです:

1) JQuery を使用して Ajax 呼び出しを行い、サーバーからデータを取得します。

  $.ajax({                                      
  url: 'test.php',                  //the script to call to get data          
  data: "",                        
  dataType: 'json',                //data format      
  success: function(data)          //on recieve of reply
  {
    //use "data"
  }

2) PHP を使用して、MySql データベースからテーブル データを取得します。

$result = mysql_query("SELECT username,characterType FROM usertable");   

3) すべての行を JSON データとして呼び出し元の関数に渡します。

//This works , Returns one row and I am able to get the result back at AJAX end
$array = mysql_fetch_row($result);                          
echo json_encode($array);

mysql_fetch_assoc($result)次のエラーで失敗します:

XML Parsing Error: no element found Location: moz-nullprincipal:{6b1***-****somecrap numbers****-***86} Line Number 17, Column 3:

$array = mysql_fetch_assoc($result);                          
echo json_encode($array);

他の関連する質問で提案されているように使用mysql_fetch_array($result, MYSQL_NUM)してみましたが、問題を回避できません。

どんな助けでも大歓迎です。

============

アップデート:

私は間違っているかもしれませんが、これが可能かどうかを知りたかっただけです...これはローカルセットアップ関連の問題でしょうか? 設定ミス..?

「XAMPPインストール」[Apache / MySQL / Tomcat ... 1つのパッケージにバンドルされている]を使用してローカルホストのセットアップを行いました...ファイルを「PHPアプリケーション」として実行すると、問題なく実行されます...「すべての行」しかし、Apacheサーバーにコードをデプロイすると実行されません...phpファイル全体が応答として返され、「XML解析エラー」が表示されます[応答を追跡するためにfirebugを使用しています]

ありがとうプラナフ

4

3 に答える 3

0

@Tuanderful が示すように、手動で JSON 文字列を作成し始めないでください。それを処理させjson_encode()てください。適切なデータを与えるだけです。次のようなことを試してください:

$records = array();

while ( $record = mysql_fetch_assoc( $result ) ) {

  $records[] = $record;

}

echo json_encode( $records );
于 2012-08-03T00:07:51.770 に答える
0

さて、私はこれが欲しいです:

$.ajax({                                      
  url: 'test.php',                  //the script to call to get data          
  //data: "",                        
  dataType: 'json',                //data format      
  success: somevar
})



var somevar = function(data)          //on recieve of reply
  {
    //use "data"
    somevar2 = jQuery.parseJSON(data)
    //now You can enter each row/cell from db(/php) like this
    // somevar2[0] would be the first row from php
    //if You want to do something with every line You can use:
    //$.each(somevar2, function(key,value){
    //$('#divname').html(value.cellnameoftable)
  }

私はそれが役立つことを願っています;)

于 2012-08-03T19:55:38.663 に答える