 |
ใช้ curl ได้ข้อมูลมา แล้วจะนำมาใช้ยังไงครับ เกี่ยวอะไรกับ json หรือป่าว |
|
 |
|
|
 |
 |
|
ผม var_dump ได้ค่าดังนี้
({"total":"4","results":[{"id":"1","name":"Strategic","description":"PG 13-18","level":"1","status":"1"},{"id":"2","name":"Managerial","description":"PG 09-12","level":"2","status":"1"},{"id":"3","name":"Supervisorory","description":"PG 06-08","level":"3","status":"1"},{"id":"4","name":"Operation","description":"PG 02-05","level":"4","status":"1"}]})
แล้วจะนำข้อมูลมาแสดงเป็นคอมโบบอก ให้เลือก ยังไงหรอครับ
เกี่ยวอะไรกับ json หรือป่าวครับ
ขอบคุณครับ
Tag : PHP
|
|
 |
 |
 |
 |
Date :
2010-10-26 13:05:12 |
By :
เอก |
View :
1245 |
Reply :
11 |
|
 |
 |
 |
 |
|
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ถ้าข้อมูลแบบนี้ก็ json ครับ
ใช้ $var = json_decode($ตัวแปรที่dump); ก็จะได้ตัวแปร php มาใช้ครับ
|
 |
 |
 |
 |
Date :
2010-10-26 13:13:08 |
By :
... |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
...
...
...
$output = curl_exec($ch);
curl_close($ch);
var_dump($output);
$json = json_decode($output);
var_dump($json);
ข้อมูลที่ dump มา เหมือนกันหมดเลยครับ
เลยงง ต้องทำไงดี
ขอบคุณมากครับ
|
 |
 |
 |
 |
Date :
2010-10-26 13:19:30 |
By :
เอก |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
echo $json->total;
echo '/';
echo $json['total'];
ลองเดาไปเรื่อยๆ ครับ
echo $json['result'][0]['name'];
foreach($json['result'] as $row){
echo $row['name'];
}
|
 |
 |
 |
 |
Date :
2010-10-26 13:36:03 |
By :
... |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ยังไม่ได้เลยครับ
|
 |
 |
 |
 |
Date :
2010-10-26 13:57:02 |
By :
เอก |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
var_dump($json); ได้ค่าอะไรหรือครับ
|
 |
 |
 |
 |
Date :
2010-10-26 13:58:50 |
By :
.... |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
echo $json['total']; ได้ (
echo $json->total; ไม่มีค่า
echo $json['result'][0]['name']; ไม่มีค่า
echo $json['result']; ได้ (
echo $json['id']; ได้ (
echo $json['name']; ได้ (
|
 |
 |
 |
 |
Date :
2010-10-26 14:05:53 |
By :
เอก |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ลองโ้ค้ดนี้ดูครับ ตรง output มี string เพี้ยนๆ ไปจาก $output ข้างล่างหรือเปล่าครับ เลยทำให้ออกมาไม่เหมือนกัน
<?php
$output = '{"total":"4","results":[{"id":"1","name":"Strategic","description":"PG 13-18","level":"1","status":"1"},{"id":"2","name":"Managerial","description":"PG 09-12","level":"2","status":"1"},{"id":"3","name":"Supervisorory","description":"PG 06-08","level":"3","status":"1"},{"id":"4","name":"Operation","description":"PG 02-05","level":"4","status":"1"}]}';
$json = json_decode($output);
echo '<select name="test">';
foreach($json->results as $row){
echo '<option value="',$row->id,'">',$row->name,'</option>';
}
echo '</select>';
?>
|
 |
 |
 |
 |
Date :
2010-10-26 14:57:31 |
By :
num |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ขอบคุณมากครับ
ได้แล้ว
ข้อมูลที่ curl มา มันติด ( ) มาด้วย เลยทำให้ decode ไม่ได้
|
 |
 |
 |
 |
Date :
2010-10-26 15:00:10 |
By :
เอก |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ถ้ามี () อาจจะเป็น jsonp ครับใช้สำหรับเรียกไฟล์ request cross domain โดยใช้ javascript
jsonp
|
 |
 |
 |
 |
Date :
2010-10-26 15:30:17 |
By :
num |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|