2011-07-19 13 views
1

私はこれを開発しようとすると固執してしまった: 私のデータベースに "article"という2つのカラム、 "name"と "price"と呼ばれるテーブルがある。 テーブルからすべての行を抽出し、JSONのすべての列をエコーする方法はありますか? JSONで結果を変換する方法を実際に理解できません。私の心はこれまで決して詰まらなかった。私はこのような何かをエコーする必要があります:mysqlからphpデータを取得してjsonに変換するには?

{"items": { 
    "items":[ 
     {"name": "firstitemname", 
     "price": "5" 
     }, 
     {"name": "secondone", 
     "years": "3" 
     }], 
}} 

バグのコードを修正するのを手伝ってください!

<?php 

$query = mysql_query("SELECT * FROM itemlist"); 
$nameitem = array(); 
$itemprice = array(); 
while($row = mysql_fetch_array($query)){ 
array_push($nameitem , $row['nome']); 
array_push($itemprice, $row['pix']); 
} 

?> 

答えて

4

PHPを次のように編集するだけです。

<?php 

$query = mysql_query("SELECT * FROM itemlist"); 
$items = array(); 
while($row = mysql_fetch_array($query)){ 
$items[] = array('name' => $row['nome'], 'price' => $row['pix']); 
} 

echo json_encode(array('items'=>$items)); 

?>  

http://php.net/manual/en/function.json-encode.php

JSONをPHPに対処する超簡単です。

+0

iambriansreedを、ありがとう! –

+0

期待どおりに動作するかどうか教えてください。 また、あなたが行ったのと同じ方法で名前を綴りましたが、それが正しいかどうかはわかりません。 – iambriansreed

2

あなたはPHP 5.2以上を使用している場合、あなたはあなたがやろうとしている正確に何をやってjson_encode関数を使用することができます:あなたのコードの場合http://www.php.net/manual/en/function.json-encode.php

を、あなたはこのような何かを行うことができるはず。

$query = mysql_query("SELECT * FROM itemlist"); 
$json_output = array(); 
while($row = mysql_fetch_assoc($query)){ 
    $json_output[] = json_encode($row); 
} 

ここで、$ json_outputには、各行のjsonコード化文字列を各配列要素として含む文字列の配列が含まれます。これらを出力してください。

2
<?php 
$result = mysql_query("select * from item_list"); 
$rows = array(); 
while($r = mysql_fetch_assoc($result)) 
{ 
$rows[] = $r; 
} 
print json_encode($rows); 
?> 
0

変換データテーブルには、次のコードでJSONに:例えば

echo(json_encode($array)); 

(MySQLからのデータを選択して、JSONに変換):

public function SELECT($tableName,$conditions){ 

     $connection = mysqli_connect($hostname, $userName, $password,$dbName); 
     try { 

     if (!$connection) 
      die("Connection failed: " . $connection->connect_error); 
     else 
     { 
      $qry = ""; 
      if(!$this->IsNullOrEmptyString($conditions)) 
       $qry = "SELECT * FROM `".$tableName."` WHERE ".$conditions; 
      else 
       $qry = "SELECT * FROM `".$tableName."`"; 

      $result = mysqli_query($connection, $qry); 
      if($result) { 
       $emparray = array(); 
       while($row =mysqli_fetch_assoc($result)) 
        $emparray[] = $row; 

       echo(json_encode($emparray));   
      } 
      else 
       echo(mysqli_error($connection));  
      } 
      mysqli_close($connection); 
     } catch(Exception $ex) { 
      mysqli_close($connection); 
      echo($ex->getMessage()); 
     } 
} 
関連する問題