Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > PHP > PHP Forum > สอบถามข้อมูลออกมาเป็นแบบ Json ซึ่งเป็น array ซ้อน array แบบ Object จะเอาข้อมูลมาเก็บต้องทำไงครับ



 

สอบถามข้อมูลออกมาเป็นแบบ Json ซึ่งเป็น array ซ้อน array แบบ Object จะเอาข้อมูลมาเก็บต้องทำไงครับ

 



Topic : 131209



โพสกระทู้ ( 57 )
บทความ ( 0 )



สถานะออฟไลน์




ข้อมูลเป็นแบบ JSON นะครับ

Code (Java)
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"]
                         }
              }

ซึ่งผมจะเอาข้อมูลของ arrpic มาเก็บไว้ใน attribute แบบนี้ครับ <td class='text-center' id='jobtotal' arrpic='${value.arrpic}' ></td> ซึ่งถ้าตอนเอาค่ามาจาก attribute arrpic พอมา console.log(arrpic) ได้ค่ามาเป็นแบบ [object , object] [object,object]
ผมควรต้องทำไงครับ ลอง arrpic='${value.arrpic[0]}' ก็ไม่ได้ หรือ arrpic = '${value.arrpic[0].cPic_path}' ก็ไม่ได้ครับ ช่วยด้วยครับ



Tag : PHP, JavaScript, jQuery









ประวัติการแก้ไข
2018-06-06 15:07:25
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2018-06-06 15:06:56 By : weekung072 View : 4107 Reply : 7
 

 

No. 1



โพสกระทู้ ( 9,587 )
บทความ ( 2 )



สถานะออฟไลน์


ตัวอย่าง 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
 


 

No. 2

Guest


โครงสร้างข้อมูลผิด

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
 

 

No. 3

Guest


https://www.w3schools.com/js/js_json_arrays.asp

ต้องดูอันนไหนเป็น array อันไหนเป็น object
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-06-06 16:45:12 By : DK
 


 

No. 4



โพสกระทู้ ( 57 )
บทความ ( 0 )



สถานะออฟไลน์


อ่อ อันนี้ข้อมูลสมมตินะครับ แต่จริงๆๆจะมาจาก ฐานข้อมูลครับ อันนี้ยกตัวอย่างเพราะใน ข้อมูลจะเป็นแบบนั้นครับ เดียวผมเอาโค้ดเต็มๆๆมาให้ดูนะครับ 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
 


 

No. 5

Guest


"แต่ถ้าสมมติค่าตัวแปร arrpic มา แล้วจะวนยังไงหรอครับ ให้รูปโชว์ ถ้าเพื่อมีมากกว่า 1 รูปครับ"

ตอบความคิดเห็นที่ : 4 เขียนโดย : weekung072 เมื่อวันที่ 2018-06-06 17:07:09
รายละเอียดของการตอบ ::
ก็ วน เหมือน tr ที่คุณวนนั่นแหละครับ ผม งงคุณไม่เข้าใจตรงไหนอ่า

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-06-06 18:31:15 By : DK
 


 

No. 6



โพสกระทู้ ( 9,587 )
บทความ ( 2 )



สถานะออฟไลน์


ตัวอยา่งพอสังเขป
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
 


 

No. 7



โพสกระทู้ ( 57 )
บทความ ( 0 )



สถานะออฟไลน์


ขอบคุณครับ พี่ chaidhanan ครับ เดียวจะไปลองดูครับ ส่วนพี่ DK คือที่ผม งง คือค่าที่ผมเก็บตัวแปรของ arrpic ไม่มีค่าครับ เลยไม่รู้จะทำยังไงครับ แต่พี่ chaidhanan ได้ตอบแหละเดียวไปลองดูครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-06-07 06:36:03 By : weekung072
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : สอบถามข้อมูลออกมาเป็นแบบ Json ซึ่งเป็น array ซ้อน array แบบ Object จะเอาข้อมูลมาเก็บต้องทำไงครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 04
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่