-1

私の現在のPHPコードは次のとおりです。

<?php
//$name = $_POST['name'];

$sql = "select * from SocietyDatabase WHERE Name='Badminton'";
$result = mysql_query($sql);
$json = array();

if(mysql_num_rows($result))
{
while($row=mysql_fetch_row($result))
{
$json['info'][]=$row;
}
}
echo json_encode($json); 
?>

この結果:

{"info":[["SOC003","Badminton","Sport","Me","You","me@gmail.com","badminton society"]]}

しかし、「タイトル」を含むこの形式でそれを希望します:

{"earthquakes": [
{
"eqid": "c0001xgp",
"magnitude": 8.8,
"lng": 142.369,
"src": "us",
"datetime": "2011-03-11 04:46:23",
"depth": 24.4,
"lat": 38.322
}
]}

では、どうすればこれを達成できますか?ありがとう

4

4 に答える 4

2

に変更mysql_fetch_rowmysql_fetch_assocます。後者は $row に列配列キーを入力しますが、前者は数値インデックスのみを提供します。

于 2013-04-11T11:13:53.897 に答える
0

これを変える

while($row=mysql_fetch_row($result))

while($row=mysql_fetch_assoc($result))
于 2013-04-11T11:14:08.350 に答える
0

PDO古いクエリ方法はすでに廃止されているため、これに使用できます

http://php.net/manual/en/pdostatement.fetchall.php

$sth = $dbh->prepare("select * from SocietyDatabase WHERE Name='Badminton'");
$sth->execute();

/* Fetch all of the values of the first column */
$result = $sth->fetchAll(PDO::FETCH_ASSOC);
echo json_encode($result);
于 2013-04-11T11:15:10.657 に答える
0

以下の例のように fetch_assoc 関数を使用できます

$sql = "select * from clients WHERE company_name ='abc'";
$result = mysql_query($sql,$con);

$json = array();
if(mysql_num_rows($result))
{ 
    while($row=mysql_fetch_assoc($result))
    {
    $json['earthquakes']=$row;
    }
}

echo json_encode($json); 

: 次のような出力:

{"earthquakes":{"id":"7","company_name":"abc","physical_address":"abc","postal_address":"abc","contact_name":"abc","contact_position":"abc","contact_phone":"98
于 2013-04-11T11:31:56.130 に答える