|
|
|
รบกวนสอบถามเรื่องการแบ่งหน้าหน่อยค่ะ (php + ms access) |
|
|
|
|
|
|
|
ขอดูโค้ด หน่อยครับ ว่าเขียนอย่างไร
|
|
|
|
|
Date :
2009-12-06 23:59:40 |
By :
DownsTream |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
T^T ใครพอจะทราบบ้างมั้ยคะ ช่วยดูให้ทีค่า
|
|
|
|
|
Date :
2009-12-07 01:10:45 |
By :
FallenLeaf |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผมก็เจอแบบนี้ครับ ผมว่าไอ้เจ้า $Per_Page = 30 นี่แหละ ที่เป็นตัวกำหนดให้มันแสดงแบบนี้ ถึงข้อมูลจะค้นหาเจอแค่ 2 หัวข้อ แต่เจ้าตัว $Per_Page = 30 มันกำหนดให้ออกมา 30 บรรทัด นี่แหละคือปัญหา เพราะไม่ได้กำหนดให้มันแสดงออกมาเท่าไหร่อะครับ ผมลองใส่ order by ASC limit ไป มันขึ้น error ตรง limit นี่แหละ ยังไงถ้ามีใครได้ก็ช่วยๆกันหน่อยนะครับ
|
|
|
|
|
Date :
2010-08-18 19:46:24 |
By :
slurpee55555 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code นี้น่าจะมีปัญหา เดียวขอแก้ก่อนครับ
|
|
|
|
|
Date :
2010-08-18 20:09:22 |
By :
webmaster |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เพิ่ม
Code (PHP)
if($Page_End > $Num_Rows)
{
$Page_End = $Num_Rows;
}
เข้าไปครับ
Code (PHP)
<html>
<head>
<title>ThaiCreate.Com PHP & Access Tutorial</title>
</head>
<body>
<?
$objConnect = odbc_connect("mydatabase","","") or die("Error Connect to Database");
$strSQL = "SELECT * FROM customer ORDER BY CustomerID ASC";
$objExec = odbc_exec($objConnect, $strSQL) or die ("Error Execute [".$strSQL."]");
$Num_Rows = 0;
while(odbc_fetch_row($objExec))$Num_Rows++; // Count Record
$Per_Page = 2; // 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)+1;
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;
}
$Page_End = $Per_Page * $Page;
if($Page_End > $Num_Rows)
{
$Page_End = $Num_Rows;
}
?>
<table width="600" border="1">
<tr>
<th width="91"> <div align="center">CustomerID </div></th>
<th width="98"> <div align="center">Name </div></th>
<th width="198"> <div align="center">Email </div></th>
<th width="97"> <div align="center">CountryCode </div></th>
<th width="59"> <div align="center">Budget </div></th>
<th width="71"> <div align="center">Used </div></th>
</tr>
<?
for($i=$Page_Start;$i<=$Page_End;$i++)
{
$objResult = odbc_fetch_array($objExec,$i);
?>
<tr>
<td><div align="center"><?=$objResult["CustomerID"];?></div></td>
<td><?=$objResult["Name"];?></td>
<td><?=$objResult["Email"];?></td>
<td><div align="center"><?=$objResult["CountryCode"];?></div></td>
<td align="right"><?=$objResult["Budget"];?></td>
<td align="right"><?=$objResult["Used"];?></td>
</tr>
<?
}
?>
</table>
<br>
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> ";
}
odbc_close($objConnect);
?>
</body>
</html>
|
|
|
|
|
Date :
2010-08-18 20:17:44 |
By :
webmaster |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
OK ครับ ได้แย้วนะ
แค่เพิ่ม
if($Page_End > $Num_Rows)
{
$Page_End = $Num_Rows;
}
ขอบคุณ คุณ mr.win มากนะครับ
|
|
|
|
|
Date :
2010-08-18 20:55:52 |
By :
slurpee55555 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
$Num_Rows = 0;
while(odbc_fetch_row($objExec))$Num_Rows++; // Count Record
นับ Record Rows ครับ
|
|
|
|
|
Date :
2010-08-19 10:23:02 |
By :
webmaster |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ไม่ได้อะครับ เอาเป็นว่า ผมจะนับหัวข้อในฐานข้อมูลว่าหัวข้อนี้มันมีจำนวนเท่าไหร่ และจะแสดงออกมาเป็นตัวเลขอะครับ ปกติถ้าเป็น mysql จะใช้ "SELECT count(ชื่อฟิว) FROM (Table) where ชื่อฟิว = '".$objResult['ชื่อฟิว']."' ใช่ปะครับ แต่ odbc มันจะนับยังไงอะครับ
|
|
|
|
|
Date :
2010-08-19 10:54:54 |
By :
slurpee55555 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองดูนะครับผมก็ใช้ php + ms access อยู่เหมือนกัน
Code (PHP)
SELECT count(*) as id from test WHERE name='".$name."'
|
|
|
|
|
Date :
2010-08-19 11:10:25 |
By :
namebom |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผม เขียนแบบนี้
$query2 = odbc_exec("SELECT count(*) as ชื่อหนังสือ FROM หนังสือ where ชื่อหนังสือ = '".$objResult['ชื่อหนังสือ']." ' ");
$objResult2 = odbc_fetch_array($query2);
สั่งแสดง <?=$objResult2['count(ชื่อหนังสือ)'];?> มัน error อะครับ ยังไงช่วยดูให้หน่อยนะครับ ขอบคุณครับ
|
|
|
|
|
Date :
2010-08-19 11:51:17 |
By :
slurpee55555 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 02
|