|
|
|
การแบ่งหน้า php ที่เป็น Thumbnails (columns และ row ) ครับ |
|
|
|
|
|
|
|
Quote:
คือแบบตัวอย่างที่คุณ somparn ให้มานั้นมันเป็นแบบตัวอย่าง 1 ฟิลด์ ต่อ 1 แถวครับ
ที่ผมต้องการคือ 3 ฟิลด์ ต่อ1 แถวครับ เหมือนรูปที่ผมแนบให้ดูน่ะครับ แล้วก็ให้มันขึ้นหน้าใหม่ ไม่ทราบว่าพอจะมีตัวอย่างไหมครับ
|
|
|
|
|
Date :
2009-10-08 11:11:46 |
By :
teekaiman |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
<?PHP
$query = "SELECT * FROM car"; // sql
$sql = mysql_query($query);
$total_records = mysql_num_rows($sql); // toplam veri sayısı
$scroll_page = 5; // kaydırılacak sayfa sayısı
$per_page = 4; // her sayafa gösterilecek sayfa sayısı
$current_page = $_GET['page']; // bulunulan sayfa
$pager_url = 'test2.php?page='; // sayfalamanın yapıldığı adres
$inactive_page_tag = 'id="current_page"'; // aktif olmayan sayfa linki için biçim
$previous_page_text = '< ก่อนหน้า'; // önceki sayfa metni (resim de olabilir <img src="... gibi)
$next_page_text = 'หน้าถัดไป >'; // sonraki sayfa metni (resim de olabilir <img src="... gibi)
$first_page_text = '<< หน้าแรก'; // ilk sayfa metni (resim de olabilir <img src="... gibi)
$last_page_text = 'หน้าสุดท้าย >>'; // son sayfa metni (resim de olabilir <img src="... gibi)
$kgPagerOBJ = & new kgPager();
$kgPagerOBJ -> pager_set($pager_url, $total_records, $scroll_page, $per_page, $current_page, $inactive_page_tag, $previous_page_text, $next_page_text, $first_page_text, $last_page_text);
echo '<p><strong>จำนวนทั้งหมด : </strong>';
echo $kgPagerOBJ -> total_pages;
echo ' หน้า</p>';
$sql = mysql_query($query." ORDER BY id_car ASC LIMIT ".$kgPagerOBJ -> start.", ".$kgPagerOBJ -> per_page."");
while ($read = mysql_fetch_array($sql)) {
echo '<ul>';
echo '<li>'.$read['id_car'].' - '.$read['price'].' - '.$read['mail'].'</li>';
echo '</ul>';
}
echo '<p id="pager_links">';
echo $kgPagerOBJ -> first_page;
echo $kgPagerOBJ -> previous_page;
echo $kgPagerOBJ -> page_links;
echo $kgPagerOBJ -> next_page;
echo $kgPagerOBJ -> last_page;
echo '</p>';
เอาไปดูคับ อันนี้ใช้ได้จริง
|
|
|
|
|
Date :
2009-10-08 11:21:33 |
By :
apicha31 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
กำ นึกว่าจะเอาไปปรับปรุงใช้งานเอาเอง
|
|
|
|
|
Date :
2009-10-08 11:22:16 |
By :
somparn |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขึ้นหน้าใหม่
ก็ target='_blank' ไงครับ
|
|
|
|
|
Date :
2009-10-08 11:23:07 |
By :
danya |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
<?php
////เพิ่งโค้ดแบ่งหน้า
<?
$strSQL = "SELECT * FROM tb_product ";
$objQuery = mysql_query($strSQL);
$Num_Rows = mysql_num_rows($objQuery);
$Per_Page = 6; // Per Page ให้แสดงต่อหน้า
$Page = $_GET["Page"];
if(!$_GET["Page"])
{
$Page=1;
}
$Prev_Page = $Page-1;
$Next_Page = $Page+1;
$Page_Start = (($Per_Page*$Page)-$Per_Page);
if($Num_Rows<=$Per_Page)
{
$Num_Pages =1;
}
else if(($Num_Rows % $Per_Page)==0)
{
$Num_Pages =($Num_Rows/$Per_Page) ;
}
else
{
$Num_Pages =($Num_Rows/$Per_Page)+1;
$Num_Pages = (int)$Num_Pages;
}
//////////โค้ดแบ่งหน้า
$sql="select * from tb_product LIMIT $Page_Start , $Per_Page";//กำหนดจะให้เริ่มจาก1
$result = mysql_db_query($dbname, $sql);
$num=mysql_num_rows($result );
if ($num>0) {
echo "<table border=1 cellpadding=5 cellspacing=5 bordercolor='#425452'>";
$check=1;
while($rs=mysql_fetch_array($result)) {
$id_prd=$rs[id_prd];
$code=sprintf("%05d",$id_prd);
$name_prd=$rs[name_prd];
$detail_prd=$rs[detail_prd];
$ref_id_type=$rs[ref_id_type];
$price_prd=$rs[price_prd];
$photo_prd=$rs[photo_prd];
if ($photo_prd==" ") {
$photo_prd="temp.jpg";
}
if ($check%3 == 1) {
echo "<tr>";
}
echo "
<td width='20%' valign='top'>
<img src='photo/$photo_prd'>
</td>
<td width='80%' valign='top'>
<b>รหัสสินค้า :</b>$code<br>
<b>ชื่อรหัสสินค้า : </b>$name_prd<br>
<b>ราคา : </b> $price_prd บาท<br><br>
[<a href='prd_view.php?id_prd=$id_prd'> แสดงรายระเอียด</a>]
[<a href='basket_add.php?id_prd=$id_prd'>หยิบใส่ตะกร้า</a>]
<br>
</td>";
if ($check%3==0) {
echo "</tr>";
$check=0;
}
$check++;
}
echo "</table>";
}
?>
//กำหนดการแสดงแล้วก็ linkแบ่งหน้า
<span class="newa">
Total
<?= $Num_Rows;?>
Record :
<?=$Num_Pages;?>
Page :
<?
if($Prev_Page)
{
echo " <a href='$_SERVER[SCRIPT_NAME]?Page=$Prev_Page'><< Back</a> ";
}
for($i=1; $i<=$Num_Pages; $i++){
if($i != $Page)
{
echo "[ <a href='$_SERVER[SCRIPT_NAME]?Page=$i'>$i</a> ]";
}
else
{
echo "<b> $i </b>";
}
}
if($Page!=$Num_Pages)
{
echo " <a href ='$_SERVER[SCRIPT_NAME]?Page=$Next_Page'>Next>></a> ";
}
mysql_close();
?>
น่าจะประมาณนี้นะครับ
|
|
|
|
|
Date :
2009-10-08 11:30:38 |
By :
somparn |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
โอ้ว...มายก็อด..ขอบคุณท่านเทพมากๆครับที่เข้ามาตอบนะครับเดี๋ยวขอตัวไปลองก่อนนะครับได้ผลยังไงจะมาบอกอีกทีนะครับผม
|
|
|
|
|
Date :
2009-10-08 11:49:06 |
By :
teekaiman |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
555+
|
|
|
|
|
Date :
2009-10-08 12:45:01 |
By :
danya |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ได้แล้วครับผมขอบคุณ somparn กับคุณ apicha31 มากมายครับผมที่เข้ามาตอบ
|
|
|
|
|
Date :
2009-10-08 13:56:46 |
By :
teekaiman |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
teekaiman เรียน KMITL หรือป่าวอะ
|
|
|
|
|
Date :
2009-10-08 17:15:32 |
By :
CMD |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ได้แล้วจ้าๆๆ
|
|
|
|
|
Date :
2009-10-09 09:07:35 |
By :
apicha31 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 04
|