2016-06-10 2 views
0

제 질문은 : 어떻게이 코드에서 id 2 만 표시 할 수 있습니까?json php에서 하나의 id 만 표시

<?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 많이 발생

이것은 file.php의 JSON 인코딩있다 (코드는 모든 ID를 표시)

+4

'SELECT * FROM where 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 (또는 다른) JSON에서 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,이 답변은 SQL이 아닌 JSON 만 사용할 경우 유용합니다. –

관련 문제