こんにちは、あるテーブルからユーザーのすべての電話番号を検索し、その電話番号リストに従って別のテーブルでユーザーの情報を検索する PHP スクリプトがあります。
PHP スクリプト:
$intUserID = $_POST['intUserID_PHP']; //This is the user ID
$arrayUserPhoneNumbers = $_POST['arrayUserPhoneNumbers'];//this is an array of all the user's phone numbers.
try {
$DBC = new PDO("pgsql:host=$host;port=$port;dbname=$dbname;user=$user; password=$password");//All my DB connection is well set.
$query1 = "SELECT phones FROM usersphones WHERE id=".$intUserID;
$sth = $DBC->prepare($query1);
$sth->execute();
$result = $sth->fetchAll();
$i = 0;
foreach ($result as $data) {
$query2 = "SELECT txtshare,dtzserver,adress,issue FROM tbluserinfo WHERE phone='".$data['phones']."'";
$sth = $DBC->prepare($query2);
$sth->execute();
$result2 = $sth->fetchAll();
echo json_encode($result2);
$i++;
}
}
catch(PDOException $e) {
echo 'Error';
}
これは私が使用している JQuery コードです。
$.ajax({
type: "POST",
url: "getinfo.php",
dataType:'json',
data: {arrayUserPhoneNumbers : arrayUserPhoneNumbers,intUserID : intUserID},
success: function(data) {
}
});
私の質問は次のとおりです:私は多くの行を取得していますが、これは最後の行にすぎません.firebugコンソールから取得しているJSON結果は次のとおりです:
[
{
"txtshare": "F",
"0": "F",
"dtzserver": "2013-01-05 00:32:55.311037+00",
"1": "2013-01-05 00:32:55.311037+00",
"phone": "+33522988655",
"2": "+33522988655",
"issue": "Lost my smartphone",
"3": "Lost my smartphone"
}
]
私のJSONは有効ですが、この結果に重複データを持つ「0」、「1」、「2」、「3」のインデックスがあるのはなぜですか? 私のテーブルには、txtshare、dtzserver、phone、および issue フィールドしかありません。私はそれがこのようになりたい:
[
{
"txtshare": "F",
"dtzserver": "2013-01-05 00:32:55.311037+00",
"phone": "+33522988655",
"issue": "Lost my smartphone",
}
]
前もって感謝します。