-1
어디에서 잘못 될지 지적 해주십시오.PHP를 사용하여 테이블에 JSON 파일의 데이터 표시
PHP를 사용하여 html 테이블에 JSON 데이터 파일 (phpmyadmin의 내보내기 함수에서 생성)을 표시하려고합니다. 손실
없이
플레이어 게임 :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <link href="CSS/json.css" rel="stylesheet" type="text/css" /> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Untitled Document</title> </head> <body> <thead> <tr> <th>Player</th> <th>Games Without Loss</th> </tr> </thead> <?php $json=file_get_contents("1314withoutloss.json"); $data = json_decode($json, true); foreach($data->results as $item) { echo '<tr>'; echo '<td>'.$item['Player'].'</td>'; echo '<td>'.$item['Games Without Loss'].'</td>'; echo '</tr>'; } ?> </body> </html>
이 내가 브라우저에서 무엇을 얻을 수 있습니다 : 여기
는 PHP입니다 : 여기 는 JSON 파일입니다 Notice : 32 행의 C : \ xampp \ htdocs \ Playersleague2 \ jsontest.php에있는 non-object의 속성을 얻으려고합니다./** Export to JSON plugin for PHPMyAdmin @version 0.1 */ [{"Player": "Shazu","Games Without Loss": 8}, {"Player": "Vlad","Games Without Loss": 7}]
경고 : C에서 foreach는()에 대한 공급 잘못된 인수가 : \ XAMPP \ htdocs를 \ Playersleague2 \ jsontest.php 라인 (32)
당신의 도움에이 많이 주시면 감사하겠습니다.
dummycode :
$json = '[{"Player": "Shazu","Games Without Loss": 8}, {"Player": "Vlad","Games Without Loss": 7}]';
$data = json_decode($json);
foreach ($data as $item)
{
echo $item->Player;
}
이 실제 코드로 : json_decode($data, true)
을 사용하여
$data = json_decode($json);
foreach($data as $item)
{
echo '<tr>';
echo '<td>'.$item->Player.'</td>';
echo '<td>'.$item->{"Games Without Loss"}.'</td>';
echo '</tr>';
}
반환 객체
먼저 테이블을
둘째, $ data에는 결과 속성이 없습니다. 대신'foreach ($ data as $ item)'를 시도하십시오. –
답변
는 코드에 적응이 그것을 시도 연관 배열로 변환되기 때문에 연관 배열에 액세스 할 수 없습니다. 귀하의
foreach (...)
에서와 같이 객체 연산자->
입니다. 어떤 경우에는, 그냥$data
는, 객체 또는 배열 값 (정말 "결과"라는 개체/배열 키가 있다면이 경우에, 다른 것입니다) 루프 내부에서 가져온 것입니다편집 :
참고 :이
를 사용하여 JSON 파일이 주석 몇 가지 추가 라인을 가지고 있기 때문에 대신의 당신은에서 해설 블록을 제거하는 phpadmins에게 출력을 조정하기 위해 시도 할 수있다, 이런 식으로 작동합니까 파일 상단
출처
2014-11-13 20:22:43 baao
도움 주셔서 감사합니다. 나는 귀하의 코드를 사용하여 실제로 작동합니다. 그러나 루프가 두 행에 표시되지 않고 모두 하나로 표시됩니다. 한 번 더 .json 파일을 가리킬 때마다 파일을 지정할 수 있기를 바랍니다. 브라우저에서 다음과 같은 오류 메시지가 나타납니다. \t 경고 : C : \ xampp \ htdocs \ Playersleague2 \ jsontest.php의 foreach()에 잘못된 인수가 제공되었습니다. 미리 조언 해 주셔서 감사합니다. – London83
행이있는 경우 : 루프 앞에 테이블을 작성하십시오. 테이블은 - 제 - th- 닫고 thead- 바디를 누른 다음 루프를 수행 한 다음 루프를 닫습니다. tbody- 닫기 테이블. 그러면 테이블처럼 보일 것입니다. 두 번째 경우에는 다른 가능성이있을 수 있습니다. 파일이 var_dump ($ json)과 함께 사용 가능한지 확인할 수 있습니다. 당신이 file_get_contents를 호출 한 후 – baao
환상적인 테이블 문제가 정렬됩니다, 나는 너무 어리 석다. var dump가 내 json 데이터를 표시하고 있지만 경고 메시지 : C : \ xampp \ htdocs \ Playersleague2 \ jsontest.php의 foreach()에 30 번째 줄에 잘못된 인수가 제공되었습니다. 30 번째 줄에서는 foreach ($ data를 $ 목). 나는 지금 그것을 표시 할 것이다. – London83
루프 내부에서 Object 키에 올바르게 액세스하지 않습니다. 다음과 같이 공백이 있으면 객체 키에 액세스 할 수 있습니다.
또한 공백이있는 키는 사용하지 않는 것이 좋습니다.
출처
2014-11-13 20:25:00 kaizer1v
관련 문제