สอบถามเกี่ยวกับเรื่อง array ค่ะ

ถาม-ตอบ แนะนำไอเดียว โค้ดตัวอย่าง แนวทาง วิธีแก้ปัญหา สอบถามเกี่ยวกับเรื่อง array ค่ะ

สอบถามเกี่ยวกับเรื่อง array ค่ะ
อยากทราบว่าถ้าจะดึงข้อมูลจาก database มาเก็บลงใน array แล้วให้ค่านี้ไปแสดงใน javascript ต้องทำยังไง รบกวนผู้รู้หน่อยค่ะ


Icenaja 30-11-2014 20:55:25

คำแนะนำ และการใช้งาน

สมาชิก กรุณา ล็อกอินเข้าระบบ เพื่อตั้งคำถามใหม่ หรือ ตอบคำถาม สมาชิกใหม่ สมัครสมาชิกได้ที่ สมัครสมาชิก


  • ถาม-ตอบ กรุณา ล็อกอินเข้าระบบ
  • เปลี่ยน


    ( หรือ เข้าใช้งานผ่าน Social Login )

 ความคิดเห็นที่ 1
ทำได้หลายวิธี ขึ้นกับว่าเราใช้ แบบไหน 
ถ้าใช้หน้าเดียวกัน หมายถึง ดึงและและสร้างตัวแปร array สำหรับ javascript เลย ในไฟล์ php เช่น

<?php
session_start();
header("Content-type:text/html; charset=UTF-8");                
header("Cache-Control: no-store, no-cache, must-revalidate");               
header("Cache-Control: post-check=0, pre-check=0", false);    
// เชื่อมต่อกับฐานข้อมูล      
$link=mysql_connect("localhost","root",""); // เชื่อมต่อ Server        
mysql_select_db("test");  // ติดต่อฐานข้อมูล        
mysql_query("set character set utf8"); // กำหนดค่า character set ที่จะใช้แสดงผล     
?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
<style>
td{
        border:1px dashed #CCC;  
}
</style>

    <table cellspacing="0" cellpadding="1" border="0" style="width:1100px;">  
    	<tr>
        <td width="50" align="center" bgcolor="#F2F2F2">#</td>
        <td bgcolor="#F2F2F2">&nbsp;Topic</td>
        </tr>
<?php
        $arr_data=array();
        $i=1;
        $q="SELECT * FROM  province_th WHERE 1 LIMIT 50 ";
        $qr=@mysql_query($q);	
        while($rs=@mysql_fetch_array($qr)){
            $arr_data[]=$rs['province_name'];
?>  
  <tr>
    <td align="center"><?=(($e_page*$chk_page)+$i)?></td>
    <td >&nbsp;<?=$rs['province_name']?></td>
  </tr>
<?php $i++; } ?>     
    </table>    
    
<script type="text/javascript">
var js_array=[];
<?php
$i=0;
if(count($arr_data)>0){
    foreach($arr_data as $value){
?>
    js_array.push('<?=$value?>');
<?php } } ?>
    alert(js_array.length);
    alert(js_array[5]);  // key เริ่มต้นที่ 0
</script>    
</body>
</html>



แต่ถ้าสร้างเป็นไฟล์ ไปดึงค่าแบบ ajax ก็จะใช้เ็น

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>         
<script type="text/javascript" >
$(function () {
    var arr_data=[];
    $.post("get_data_arr.php",function(data){
        arr_data= eval($.parseJSON(data));
        alert(arr_data[5]);
    });
});
</script>


ไฟล์ get_data_array.php

<?php
session_start();
header("Content-type:text/html; charset=UTF-8");                
header("Cache-Control: no-store, no-cache, must-revalidate");               
header("Cache-Control: post-check=0, pre-check=0", false);    
// เชื่อมต่อกับฐานข้อมูล      
$link=mysql_connect("localhost","root",""); // เชื่อมต่อ Server        
mysql_select_db("test");  // ติดต่อฐานข้อมูล        
mysql_query("set character set utf8"); // กำหนดค่า character set ที่จะใช้แสดงผล    
$json_data=array();
$q="SELECT * FROM  province_th WHERE 1 LIMIT 50 ";
$qr=@mysql_query($q);	
while($rs=@mysql_fetch_array($qr)){
    $json_data[]=$rs['province_name'];
}
$json= json_encode($json_data); 
echo $json;
?>


ninenik 30-11-2014
 ความคิดเห็นที่ 2
ขอบคุณค่ะ


icenaja 30-11-2014 21:46






เว็บไซต์ของเราให้บริการเนื้อหาบทความสำหรับนักพัฒนา โดยพึ่งพารายได้เล็กน้อยจากการแสดงโฆษณา โปรดสนับสนุนเว็บไซต์ของเราด้วยการปิดการใช้งานตัวปิดกั้นโฆษณา (Disable Ads Blocker) ขอบคุณครับ