2016-06-10 42 views
0

我的問題是:如何從此代碼只顯示id 2? (代碼顯示所有ID)只顯示來自json的一個id php

這是一個file.php JSON編碼

<?php 
header('Content-type: application/json'); 
$server = ""; 
$username = ""; 
$password = ""; 
$database = ""; 

$con = mysql_connect($server, $username, $password) or die ("Could not connect: " . mysql_error()); 
mysql_select_db($database, $con); 

$sql = "SELECT * FROM flo"; 
$result = mysql_query($sql) or die ("Query error: " . mysql_error()); 

$records = array(); 

while($row = mysql_fetch_assoc($result)) { 
$records[] = $row; 
} 

mysql_close($con); 
echo $_GET['jsoncallback'] . '(' . json_encode($records) . ');'; 
?> 

相對JSON結果

([ 
{ 
"id":"1", 
"Marca":"puma", 
}, 
{ 
"id":"2", 
"Marca":"fila", 
} 
]); 

THX很多

+4

'SELECT * FROM flo WHERE id = 2'? –

+4

你需要養成[接受答案](http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work)的習慣,它可以幫助你解決你的問題。您將獲得積分,其他人將被鼓勵幫助您。 *眨眼* –

+0

此外,它更好地使用http://php.net/manual/en/book.mysqli.php,只有當你還沒有支持遺留項目 – GONG

回答

0

爲了顯示ID = 2 (或任何其他),這是必要的搜索id,像這樣(將顯示「fila」):

<?php 

$data = '[ { "id":"1", 
      "Marca":"puma" 
      }, 
      { "id":"2", 
      "Marca":"fila" 
      }, 
      { "id":"3", 
      "Marca":"nike" 
      } 
     ]'; 
$json = json_decode($data); 

foreach ($json as $record) // VISIT EACH RECORD. 
    if ($record->id == "2") 
    echo $record->Marca . "<br/><br/>"; 

?> 

請注意數據中的每個字段如何成爲JSON中的屬性(「id」變爲$ record-> id)。

+0

@ user3451888,如果您只有JSON而不是SQL,此答案很有用。 –