|
|
|
ทำไมเราใช้คำสั่ง json_encode แล้วข้อความมันไม่มาครบค่ะ |
|
|
|
|
|
|
|
ทำไมเราใช้คำสั่ง json_encode แล้วข้อความมันไม่มาครบค่ะ
ข้อมูลในดาต้าเบสเรามีดังนี้
Code
GP ACERA CARVE CREAM R/T 6X36 PM
GP ACERA CARVE BEIGE R/T 6X36 PM
GP ACERA CARVE LIGHT BROWN R/T 6X36 PM
GP ACERA CARVE DARK BROWN R/T 6X36 PM
แล้วเราก็ run sql เพื่อดึงค่า 4 ค่านี้มาแสดงบนเว็บ
Code (PHP)
$sql = "SELECT * FROM $table_db WHERE $find_field LIKE '%GP ACERA%'";
$result = odbc_exec($link,$sql);
while($rows = odbc_fetch_array($result)){
array_push($_data, array('id'=>$rows['material_code'], 'value'=>$rows['productName_en'], 'base_unit'=>$rows['Base_Unit']));
echo "<br>".$rows['productName_en'];
}
echo json_encode($_data);
ผลที่ได้คือ
[{"id":"T172106M1ACCA06R","value":"GP ACERA","base_unit":"M2"},{"id":"T172106M1ACCA08R","value":"GP ACERA","base_unit":"M2"},{"id":"T172106M1ACCA71R","value":"GP ACERA","base_unit":"M2"},{"id":"T172106M1ACCA72R","value":"GP ACERA CARVE DARK BROWN R\/T 6X36 PM","base_unit":"M2"}
มันตัดคำว่า CARVE CREAM R/T 6X36 PM ออกไปน่ะค่ะ เหลือแต่คำว่า GP ACERA
รายการที่ 2 และ 3 ก็ถูกต้อง แต่มารายการที่ 4 มันสามารถแสดงชื่อเต็มได้
เราเลยอยากทราบสาเหตุว่ามันเกิดอะไรขึ้นหรอค่ะ
ขอบคุณมากค่ะ
Tag : PHP, Ms Access, MySQL
|
|
|
|
|
|
Date :
2012-05-25 11:46:09 |
By :
unzeen |
View :
1442 |
Reply :
10 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
$sql = "SELECT * FROM $table_db WHERE $find_field LIKE '%GP ACERA%'";
$result = odbc_exec($link,$sql);
while($rows = odbc_fetch_array($result)){
array_push($_data, $rows);
}
echo json_encode($_data);
ลองดูแบบนี้ครับ โยนไปทั้ง Key และ Index ครับ
|
|
|
|
|
Date :
2012-05-25 14:47:01 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลืมบอกว่า เพราะคุณน่าจะส่ง array_push มาไม่ครบน่ะครับ
Code (PHP)
array_push($_data, array('id'=>$rows['material_code'], 'value'=>$rows['productName_en'], 'base_unit'=>$rows['Base_Unit']));
|
|
|
|
|
Date :
2012-05-25 14:47:49 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลืมบอกว่า เพราะคุณน่าจะส่ง array_push มาไม่ครบน่ะครับ
ส่ง ไม่ หมด ยัง ไง น่ะค่ะ
|
|
|
|
|
Date :
2012-05-26 13:42:04 |
By :
unzeen |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เพราะค่าที่ส่งไปก็คือเอามาจาก database มันมีครบหมดน่ะค่ะ
ขอบคุณค่ะ
|
|
|
|
|
Date :
2012-05-26 13:46:53 |
By :
unzeen |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ทำตาที่คุณวินบอกแล้วนะคะ
Code (PHP)
$sql = "SELECT * FROM $table_db WHERE $find_field LIKE '%GP ACERA%'";
$result = odbc_exec($link,$sql);
while($rows = odbc_fetch_array($result)){
array_push($_data, $rows);
}
echo json_encode($_data);
โยนเข้าไปทั้งหมด แต่ก็ยังไม่ได้น่ะค่ะ
GP ACERA CARVE CREAM R/T 6X36 PM ตัวนี้มันตัดเหลือ GP ACERA
แต่ GP ACERA CARVE DARK BROWN R/T 6X36 PM มันแสดงเต็มได้ เลย งง อะ :(
|
|
|
|
|
Date :
2012-05-26 15:39:39 |
By :
unzeen |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลอง print_r($_data) ดูก่อนครับ ว่ามันมีข้อมูลครบหรือเปล่าครับ
|
|
|
|
|
Date :
2012-05-26 16:17:21 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
อืม.... สงสัย สองใส่ JSON_HEX_QUOT เข้าไปครับ หรือตัวอื่น ๆ เข้าไปครับ
เช่น
Code (PHP)
echo json_encode($_data,JSON_HEX_QUOT);
อื่น ๆ
Code
json_encode ( mixed $value [, int $options = 0 ] )
options
Bitmask consisting of JSON_HEX_QUOT, JSON_HEX_TAG, JSON_HEX_AMP, JSON_HEX_APOS, JSON_NUMERIC_CHECK, JSON_PRETTY_PRINT, JSON_UNESCAPED_SLASHES, JSON_FORCE_OBJECT, JSON_UNESCAPED_UNICODE.
|
|
|
|
|
Date :
2012-05-28 16:32:24 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
JSON_HEX_QUOT ใส่เพื่อขจัดสาเหตุ อะไรหรอค่ะ
ขอความรู้ค่ะ
ขอบคุณค่ะ
|
|
|
|
|
Date :
2012-05-29 10:16:14 |
By :
unzeen |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
น่าจะเป็นการเข้ารหัส string บางตัวครับ
|
|
|
|
|
Date :
2012-05-29 10:26:41 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 03
|