|
|
|
อยากทราบการดึงข้อมูลจาก Database มาแสดงทีละ 8 ค่าได้ไหมครับ? |
|
|
|
|
|
|
|
ถ้าไม่ใช้ java script array มาช่วย หรือ datagrid, datatables ของ jquery หรือ angular ก็คงเขียนให้มันแสดงผลเอง
เช่น
1) แสดงแบบยาว
Code (PHP)
echo "<table><tr><td>Room</td><td></td><td></td></tr>"
sql = "select * from tableRoom"
query(sql)
while xxx
{
echo "<tr><td>";
echo $objResult["room"];
echo "</td></tr>";
}
echo "</table>";
2) แยกแต่ล่ะชั้น
Code (PHP)
echo "<table><tr>";
sql = "select * from tableRoom"
query(sql)
$FloorNO = '0';
while xxx
{
if ($FloorNO != substr($objResult["room"],0,1)){
if ($FloorNO != '0'){
echo "</table></td>"; //ปิดตารางก่อนหน้า
}
//สร้างหัวตารางใหม่
echo "<td><table><tr><td>Room</td><td></td><td></td></tr>";
}
echo "<tr><td>";
echo $objResult["room"];
echo "</td></tr>";
$FloorNO = substr($objResult["room"],0,1);
}
echo "</tr></table>";
ผลลัพธ์ประมาณนี้
<table><tr> 'ตารางใหญ่
<td><table> 'ตารางแต่ล่ะชั้น
<tr><td>Room</td></tr>
<tr><td>101</td></tr>
<tr><td>102</td></tr>
</table></td>
<td><table> 'ตารางแต่ล่ะชั้น
<tr><td>Room</td></tr>
<tr><td>201</td></tr>
<tr><td>202</td></tr>
</table></td>
<td><table> 'ตารางแต่ล่ะชั้น
<tr><td>Room</td></tr>
<tr><td>301</td></tr>
<tr><td>302</td></tr>
</table></td>
</tr></table>
|
|
|
|
|
Date :
2017-10-05 03:59:23 |
By :
ccjpn |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
หาเรื่อง การแบ่งหน้า มีข้อมูลเก่าเยอะ มี class แจก
ลองหามาอ่านครับ หรือใช้าำเร็จ ก็ https://datatables.net/
|
|
|
|
|
Date :
2017-10-06 08:30:50 |
By :
apisitp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เอาโค๊ดที่เขียนเต็มๆ มาดูหน่อย
น่าจะ apply ไม่ยาก
|
|
|
|
|
Date :
2017-10-06 09:05:46 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เอาตัวอย่างจากคห.1 เรื่องการขึ้น ตารางใหม่มาใช้ ร่วมกันกับโค๊ดที่ จขกท เขียน
แล้วใช้ css กำหนดตำแหน่งของตารางให้อยู่ในระนาบเดียวกัน (row)
|
|
|
|
|
Date :
2017-10-06 15:01:02 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เข้าใจผิดนึกว่าแบ่งหน้า
<table class="table" id="tableRoom">
<tbody>
<hr>
<?php
if ($mysql->query(" SELECT * FROM [tb_room] ORDER BY CONVERT([nameRoom] USING tis620) ASC") > 0) {
$no = 1;
$i = 0;
$col = 4;
while ($rs = $mysql->fetch()) {
//echo $i;
if ($i % $col === 0) {
echo "<tr>";
}
?>
<td><div class="col-md-12">
<input type="radio" id="room<?php echo $no; ?>" name="room" value="<?php echo $rs['idRoom']; ?>"> <?php echo $rs['nameRoom']; ?>
</div>
</td>
<?php
++$no;
//++$i;
if (($i + 1) % $col === 0) {
echo "</tr>";
}
++$i;
}
}
//echo $i;
if ($i > $col) {
for ($j = $i; $j % $col != 0; ++$j) {
?>
<td><div class="col-md-12"> </div></td>
<?php
}
}
if ($i % $col != 0) {
echo "</tr>";
}
?>
</tbody>
</table>
|
ประวัติการแก้ไข 2017-10-06 15:56:42
|
|
|
|
Date :
2017-10-06 15:53:13 |
By :
apisitp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เปลี่ยนไปใช้ mysqli เลยครับ ใกล้จะสูญพันธ์แล้ว mysql
|
|
|
|
|
Date :
2017-10-07 13:04:04 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
กระทู้ปักหมุดด้านบนหน้าแรก
|
|
|
|
|
Date :
2017-10-08 17:47:18 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ตอบความคิดเห็นที่ : 8 เขียนโดย : jjazz0023 เมื่อวันที่ 2017-10-07 11:16:12
เรื่องเขียนเองผมก็ไม่ถนัดครับ หยิบของสำเร็จมาใช้ง่ายกว่า หากถามทฤษฎีก็ไม่แม่นเหมือนกันครับ
แต่ที่ได้ครูพักลักจำ แกะ code มาเยอะ ดูงานที่แจกฟรีเยอะมาก ประสบการณ์ล้วนๆ
ส่วน code ที่ให้ มันอยู่ที่เรื่องการจับ columm จับจำนวนทั้งหมด
ที่ให้ไปก็ไม่ได้ตอบโจทย์เป๊ะๆ แค่เป็นแนวทางครับ
code ผม จะเรียงจากซ้ายไปขวา พอครบ 4 คอลัมภ์ก็ขึ้นบรรทัดใหม่
แต่ของคุณเรียกให้ครบ 8 แถวก่อน ถึงจะขึ้นคอลัมภ์ใหม่
พิจารณาจาก โครงสร้าง html เป็นหลัก ลองสร้างตารางเล่นๆ แบบต้องการ
จากนั้นดู code แล้วดูค่าตัวแปรที่มันจะแปรผัน เพื่อจะเป็นตัวกำหนดในการตัด 8 แปดแถวแรก
และอะไรที่จะทำให้ขึ้นคอลัมภ์ใหม่ อันนี้ต้องวิเคราะห์ หาตัวแปรนั้นให้เจอเองครับ
|
ประวัติการแก้ไข 2017-10-09 09:04:32
|
|
|
|
Date :
2017-10-09 09:02:11 |
By :
apisitp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 00
|