การ Query ข้อมูลมาแสดงใน javascripts เป็นช่วง ๆ
<script type="text/javascript">
var value1=new Array()
value1[0]='ข้อความที่ 1'
</script>
ตรง value1[0] ผมต้องการให้ออมาถึงแค่ value1[2]
โดยผมใช้ for loop ครับ ตรงนี้ไม่มีปัญหาอะไรครับ
แต่ติดตรงที่ถ้า ใน value1[0]='ข้อความที่ 1'
ไอ้ตรง 'ข้อความที่ 1' นั้นผมไป query ข้อมูลจาก db มาครับ และสมมติว่า query มาได้ 10 เรคคอร์ด แต่ผมต้องการให้แสดงแทนตรง 'ข้อความที่1' เพียงแค่ 3 เรคคอร์ดครับ และเรคคอร์ดที่ 4-6 นั้นไปแสดงใน 'ข้อความที่ 2' ของ value1[1] ตลอดจนเรคคอร์ดที่ 7-9 นั้นไปแสดงใน 'ข้อความที่ 3' ของ value1[2] ครับ
มีวิธีการเขียนอย่างไรครับ
var value1=new Array()
value1[0]='ข้อความที่ 1'
</script>
ตรง value1[0] ผมต้องการให้ออมาถึงแค่ value1[2]
โดยผมใช้ for loop ครับ ตรงนี้ไม่มีปัญหาอะไรครับ
แต่ติดตรงที่ถ้า ใน value1[0]='ข้อความที่ 1'
ไอ้ตรง 'ข้อความที่ 1' นั้นผมไป query ข้อมูลจาก db มาครับ และสมมติว่า query มาได้ 10 เรคคอร์ด แต่ผมต้องการให้แสดงแทนตรง 'ข้อความที่1' เพียงแค่ 3 เรคคอร์ดครับ และเรคคอร์ดที่ 4-6 นั้นไปแสดงใน 'ข้อความที่ 2' ของ value1[1] ตลอดจนเรคคอร์ดที่ 7-9 นั้นไปแสดงใน 'ข้อความที่ 3' ของ value1[2] ครับ
มีวิธีการเขียนอย่างไรครับ
<?php
$j=0;
for($x=0; $x<3; $x++){
?>
value1[<?php echo $j++;?>]='<?php $i=1;while($row = $result->fetch_array()){echo $row['n_id']."<br>";if($i%3==0)break;$i++;}?>'
<?php
}
?>
ถ้าผมเขียนแบบนี้แล้วมันจะแสดงออกมาไม่หมดครับคือถ้ามี 10 เรคคอร์ดเนี่ยมันจะแสดงแบบนนี้ครับ
10
9
8
7
6
5
4
3
2
แค่นี้ครับ แต่ 1 ไม่แสดง
บางครั้ง การเขียนโค้ดให้อ่านได้ง่ายๆก็ช่วยได้นะ มันทำให้เรามองปัญหาควงามผิดพลาดอันเกิดจากการอ่านออก
<?php
$a = 0;
while($row = $result->fetch_array()) {
if ($a < 3) {
echo "value1[$a] = '$row[n_id]';"; // สำหรับ record ที่ 0 - 2
} else {
echo "value1[$a] = 'ข้อความที่ 3';"; // record อื่นๆ
}
$a++;
}
?>
if ($a < 3) {
echo "value1[$a] = '$row[n_id]';";
}
ถ้าตรง $row[n_id] ผมต้องการให้มันออก 3 เรคคอร์ดละครับ ผมหมายถึงว่า
รันแล้วออกในรูปแบบนี้ครับ
<script type="text/javascript">
var value1=new Array()
value[0] = 'ข้อความที่1<br>ข้อความที่2<br>ข้อความที่3'
value[1] = 'ข้อความที่4<br>ข้อความที่5<br>ข้อความที่6'
value[2] = 'ข้อความที่7<br>ข้อความที่8<br>ข้อความที่9'
</script>
โดยที่ value[] นั้นออกมาแค่ 0-2
และใน value[] แต่ละอันนั้นไป query ข้อมูลจาก db มาแสดง value[] ละ 3 เรคคอร์ด และ
เรคคอร์ดที่ 4-6 ไปแสดงใน value[] ถัดไป นะครับ
หรือไม่ก็ลองทำความเข้าใจกับคำตอบที่ให้ไปแล้ว และลองประยุกต์ดู