|
|
|
สอบถามข้อมูลออกมาเป็นแบบ Json ซึ่งเป็น array ซ้อน array แบบ Object จะเอาข้อมูลมาเก็บต้องทำไงครับ |
|
|
|
|
|
|
|
ตัวอย่าง object json เป็น javascript
แล้วคุณเอามาเป็นตัวแปร php ยังไงครับ
<td class='text-center' id='jobtotal' arrpic='${value.arrpic}' ></td>
สีแดงมันมายังไง เอาข้อมูลมาใส่อย่าไง
โดยส่วนใหญ่ ผมจะไม่เอาตัวแปร json ใสเข้าไปใน tag html ผมจใส่ไว้ javascript
Code (PHP)
<script>
var data = <?=json_encode($array)?>;
//หรือ
var data = JSON.parse('<?=json_encode($array)?>');
|
|
|
|
|
Date :
2018-06-06 16:42:11 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
โครงสร้างข้อมูลผิด
Code (JavaScript)
var data = {
"nId_job":"123456",
"cOwner":"สมชาย",
"arrpic":[
{
"cPic_path":"/photo/77asdfnifdgdg1359648.jpg",
"dUpload":"2018-06-06"
},
{
"cPic_path":"/photo/88sdfasdfkwe4445691.jpg",
"dUpload":"2018-06-06"
}
]
}
console.log(data.arrpic)
console.log(data.arrpic[0].cPic_path)
|
|
|
|
|
Date :
2018-06-06 16:42:39 |
By :
DK |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
https://www.w3schools.com/js/js_json_arrays.asp
ต้องดูอันนไหนเป็น array อันไหนเป็น object
|
|
|
|
|
Date :
2018-06-06 16:45:12 |
By :
DK |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
อ่อ อันนี้ข้อมูลสมมตินะครับ แต่จริงๆๆจะมาจาก ฐานข้อมูลครับ อันนี้ยกตัวอย่างเพราะใน ข้อมูลจะเป็นแบบนั้นครับ เดียวผมเอาโค้ดเต็มๆๆมาให้ดูนะครับ Code (JavaScript)
function showTbodyData(page, numPage) {
let search = $("input[name=search]").val();
let url = "json_report.php";
let data = {
page : page,
numPage : numPage,
search : search,
}
$.post(url,data,function(res){
let data = $.parseJSON(res);
let trHtml = "";
$.each(data,function(key,value){
trHtml += `
<tr class='font18 font-grey-gallery' nId_job='${value.nId_job}'>
<td class='text-left'>${value.nId_job}</td>
<td class='text-left'>${value.dOrder}</td>
<td class='text-left' id='cOwner'>${value.cOwner}</td>
<td class='text-left' id='cBuilding'>${value.cBuilding}</td>
<td class='text-left'>${value.cJob_type}</td>
<td class='text-center' id='jobtotal' arrpic='${value.arrpic}'><button class='btn btn-default btn-sm' action='edit' id='btnDetail'>รายละเอียด</button></td>
<td class='text-center' id='dFinish'>${value.dFinish}</td>
<td class='text-left'><span class='label label-${value.cColor}' id='status'>${value.cStatus}</span></td>
</tr>
`;
console.log(value.arrpic[cPic_path]);
});
$("#tbodyReport").html(trHtml);
});
}
$("body").on("click","#btnDetail",function(){
let action = $(this).attr("action");
let tr = $(this).closest("tr");
let nId_job = tr.attr("nId_job");
let arrpic = tr.find("td#jobtotal").attr("arrpic");
แต่ถ้าสมมติค่าตัวแปร arrpic มา แล้วจะวนยังไงหรอครับ ให้รูปโชว์ ถ้าเพื่อมีมากกว่า 1 รูปครับ
$("div[id=cPic_path]").html("<img src='"+cPic_path+"'class='img-responsive' title='"+dUpload+"'>");
});
|
ประวัติการแก้ไข 2018-06-06 17:08:01
|
|
|
|
Date :
2018-06-06 17:07:09 |
By :
weekung072 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ตัวอยา่งพอสังเขป
Code (JavaScript)
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="https://code.jquery.com/jquery-2.1.4.min.js"></script>
<script>
var data = {
"nId_job":"123456",
"cOwner":"สมชาย",
"arrpic":[
{
"cPic_path":"/photo/77asdfnifdgdg1359648.jpg",
"dUpload":"2018-06-06"
},
{
"cPic_path":"/photo/88sdfasdfkwe4445691.jpg",
"dUpload":"2018-06-06"
}
]
}
$(document).ready(()=>{
var trHtml =
`<tr class="font18 font-grey-gallery" nId_job="${data.nId_job}">
<td class="text-left">${data.nId_job}</td>
<td class="text-left" id='cOwner'>${data.cOwner}</td>`;
$(data.arrpic).each((idx, ar)=>{
trHtml += `<td class="text-center" >path=${ar.cPic_path} time=${ar.dUpload}</td>`;
});
trHtml += '</tr>';
$("#tbodyReport").html(trHtml);
});
</script>
</head>
<body>
<table><tbody id="tbodyReport"></tbody></table>
</body>
</html>
ปล. ต้องขอบคุณจขกท ทำให้ผมได้รู้รูปแบบการเขียน template literals.ของ javascript ไม่เคยได้ใช้
มีประโยชน์มาก ทำให้เขียนโค๊ดได้สละสลวยขึ้น เคยค้นหาแล้วแต่ไม่เจอ
|
ประวัติการแก้ไข 2018-06-07 05:11:31
|
|
|
|
Date :
2018-06-07 05:04:41 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณครับ พี่ chaidhanan ครับ เดียวจะไปลองดูครับ ส่วนพี่ DK คือที่ผม งง คือค่าที่ผมเก็บตัวแปรของ arrpic ไม่มีค่าครับ เลยไม่รู้จะทำยังไงครับ แต่พี่ chaidhanan ได้ตอบแหละเดียวไปลองดูครับ
|
|
|
|
|
Date :
2018-06-07 06:36:03 |
By :
weekung072 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 04
|