|
|
|
ผมอยากแก้โค้ด แบ่งหน้า ให้เหมือน แบ่งหน้าแบบ Google หรือแบบอื่นที่สวยกว่า โดยมีโค้ดที่ผมเขียนมาแล้วครับ |
|
|
|
|
|
|
|
อันนี้เป็นตัวอย่างโค้ดที่ผมเขียน
Code (PHP)
<html>
<head><title>หน้าเมนูมือถือ</title></head>
<body bgcolor ="FFFFCC">
<!------------------เมนู---------------------------------------------------->
<?php
require_once("menuallone.php");
?>
<!--------------------------------------------------------------------------->
<br>
<!---โค้ดสไลน์โฆษณา-->
<?php
require_once("conadvertise.php");
?>
</td></tr></table>
</body>
<!ส่วนค้นหาสินค้า!>
<center>
<form name ="subsearch" method="post" action="mshowsearchmenum.php">
<br> ค้นหาชื่อสินค้า <input type="text" name="keyin" size="30">
<input type="submit" value="GO">
</form>
</center>
<!ส่วนแถบเมนูสินค้า!>
<br>
<center><table width='100%' border='0' >
<tr><td><center>
<a href ="nemu.php"style="text-decoration: none;"><h3><font color="#336699"> หมวดหมู่</font>
<a href ="menumobileasc.php" style="text-decoration: none;"><font color="#336699"> ราคาน้อย-ไปมาก
<a href ="menumobiledesc.php" style="text-decoration: none;"><font color="#336699"> ราคามาก-ไปน้อย
</table>
<?php
// สร้างตัวแปร $file_name เพื่อเก็บชื่อไฟล์ php ไฟล์นี้
$file_name = "menumobile.php";
// ติดต่อฐานข้อมูล
require_once("connn.php");
$summenu=1;
// ตรวจสอบว่ามีการส่งเลขเรคคอร์ดเริ่มต้น (start) มากับ url หรือไม่ (ส่งแบบ GET)
// โดย start ที่ส่งมากับ url จะมีรูปแบบดังนี้
// http://localhost/ชื่อโฟลเดอร์น.ศ./ชื่อไฟล์.php?start=xxx
// ชื่อข้อมูลคือ start, ส่วนเลขเรคคอร์ดคือ xxx เช่น ?start=5
if (isset($_GET['start']) && $_GET['start']!="") {
// ถ้าส่งเลขเลขคอร์ดมา ให้ตัวแปร $start เท่ากับเลขเรคคอร์ดบน url (?start=5)
$start = $_GET['start'];
}
else {
// ถ้าไม่มีการส่งเลขเรคคอร์ดมากับ url แสดงว่าเป็นการแสดงข้อมูลหน้าแรก เลยให้ $start = 0
$start = 0;
}
// ตรวจสอบว่า $start เป็นตัวเลขหรือไม่
// strlen() เอาไว้นับจำนวนตัวอักษร
// is_numeric() เอาไว้ตรวจสอบว่าเป็นตัวเลขหรือไม่
if(strlen($start) > 0 and !is_numeric($start)){
// ถ้าไม่ใช่ตัวเลข
echo "Error!! : เลขเรคคอร์ดต้องเป็นตัวเลขเท่านั้น";
exit;
}
// สร้างตัวแปร $limit เพื่อกำหนดจำนวนการแสดงข้อมูลว่าใน 1 หน้า จะให้แสดงข้อมูลกี่เรคคอร์ด
$limit = 12;
// สร้างตัวแปร $current เพื่อเก็บเลขเรคคอร์ดที่แสดงอยู่ปัจจุบัน
// สร้างตัวแปร $prev เพื่อเก็บเลขเรคคอร์ดในกรณีที่กดปุ่ม PREV แล้วจะย้อนไปกี่เรคคอร์ด
// สร้างตัวแปร $next เพื่อเก็บเลขเรคคอร์ดในกรณีที่กดปุ่ม NEXT แล้วจะนับเพิ่มไปกี่เรคคอร์ด
$current = $start + $limit;
$prev = $start - $limit;
$next = $start + $limit;
$strSql = "SELECT * FROM singleproducts";
$result = mysqli_query($conn, $strSql);
$num = mysqli_num_rows($result);
// limit จะใช้ในการระบุช่วงเรคคอร์ดที่ต้องการ Select
$strSqlLimit="SELECT * FROM `singleproducts`
WHERE Categoryproducts = '$summenu' ORDER BY RAND() limit $start, $limit";
$result=mysqli_query($conn, $strSqlLimit );
?>
<table border="1" background="photo/7040.jpg" width="1000" height="200">
<tr>
<?php
// จำนวน column ในแต่ละแถว ตัวอย่างนี้ให้แสดงแถวละ 4
$items = 4;
$counter = 0;
while ($row=mysqli_fetch_array($result)){
// เริ่มนับ $counter
$counter = $counter + 1;
$color="<font color='green'>";
$name="<font color='green'>ชื่อสินค้า : ";
$na="<font color='green'>ราคา : ";
?>
<td bgcolor="CCCCFF">
<br>
<center><?php echo "<img src = 'imagememberuploadproduct/" . $row['Imageproducts' ] . "' width='150' height= '150' border='1'>" ; ?>
<br>
<?php echo $name . $row['Nameproducts']; ?>
<br>
<?php echo $na .number_format($row['Price'], 2,'.',',') . " บาท/Baht"; ?>
<br>
<a href="mshowmenu.php?show=<?php echo $row["id"]; ?>"><font size=2> ดูรายละเอียดสินค้า </a> </center>
<?php
if($counter == $items) {
// ถ้า $counter เท่ากับ 4 ให้ตัดแถว ขึ้นแถวใหม่
echo "</tr><tr>";
// เริ่มนับ $counter ใหม่
$counter = 0;
}
}
?>
</tr>
</table>
<?php
if($num > $limit ){
echo "<table align='center' width='50%'><tr><td align='left' width='30%'>";
if($prev >= 0) {
echo "<a href='$file_name?start=$prev'><font size='5'>ย้อนกลับ</font></a>";
}
echo "</td><td align=center width='30%'>";
$i=0;
$j=1;
for($i=0;$i<$num;$i=$i+$limit){
if($i <> $start){
echo " <a href='$file_name?start=$i'><font size='5'>$j</font></a> ";
}
else {
echo "<b><font size='5' color=red>[$j]</font></b>";
}
$j=$j+1;
}
echo "</td><td align='right' width='30%'>";
if($current < $num) {
echo "<a href='$file_name?start=$next'><font size='5'>ไปหน้าต่อไป</font></a>";
}
echo "</td></tr></table>";
}
?>
</body>
</html>
ปรับให้แสดงผล แบ่งหน้าแบบนี้อะครับ
Tag : PHP, MySQL, HTML, HTML5, jQuery
|
|
|
|
|
|
Date :
2017-05-27 15:22:47 |
By :
chaiwat0852646203 |
View :
649 |
Reply :
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ในกระทู้เก้าๆ หรือ บทความ มีสมาชิกแจกไว้นะครับ ที่เหลือแค่เอาไปใส่ CSS ครับ
|
|
|
|
|
Date :
2017-05-29 09:38:32 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 01
|