Select data ข้อมูลล่าสุดไม่ต้องการให้แสดงค่ะ ขอคำแนะนำหน่อยค่ะ
ถ้าด้านหลังเราไม่กำหนดได้ไหมค่ะ
Date :
2013-02-07 13:29:43
By :
sangkheb
limit 1 จะหมายถึง ให้นำมาแค่ตัวแรกตัวเดียวครับ
limit 1,100 ให้นำค่าที่มีตำแหน่งที่ 1 (ไม่ใช่ตัวแรก เพราะตัวแรกมีตำแหน่งเป็น 0) มาจำนวน 100 ตัว
Date :
2013-02-07 13:36:28
By :
sakuraei
แบบว่าเราใช้ while ในการวนข้อมูลในตารางนะค่ะ ซึ่งเราไม่สามารถรู้ว่ามันมีเท่าไหร่ เลยอยากได้แบบว่าไม่จำกัดคือวนจนสิ้นสุดข้อมูล เพียงแต่ว่าโชว์ข้อมูล 1 ซึ่งไม่ใช่ค่าแรก มาแสดงเริ่มต้นนะค่ะ
Date :
2013-02-07 13:38:55
By :
sangkheb
Code (PHP)
$sql="SELECT * FROM news order by id desc";
$res=mysql_query($sql) or die(mysql_error());
$i=0;
while($data = mysql_fetch_assoc($res)){
if($i>0)
echo $data["id"]."/".$data["article"]."/".$data["content"]."<br />\n";
$i++;
}
Date :
2013-02-07 13:42:40
By :
sakuraei
um
ประวัติการแก้ไข 2013-02-07 13:46:26
Date :
2013-02-07 13:43:40
By :
SPNL
แบบนี้ได้ป่าวครับ
Code (PHP)
$sql = mysql_query("SELECT * FROM news "); //หาจำนวนข้อมูลในตารางว่ามีกี่แถว
$num = mysql_num_rows($sql); //นับจำนวน
$limit = $num-1; //เอาจำนวนข้อมูลที่นับได้มาลบออกไป 1 เพื่อนำไปกำหนดลิมิต
$sqlResult = mysql_query("SELECT * FROM news order by id desc limit 1,$limit");
Date :
2013-02-07 13:46:44
By :
arm8957
อีกวิธีครับ
คือถ้าไม่ต้องการโชว์อันแรก เราสามารถใช้ mysql_data_seek()
เพื่อเลื่อนการอ่านข้อมูลไปยังแถวที่ต้องการได้
แต่ต้องแน่ใจว่ามีแถวมากกวา (หรือเท่ากับ) ตำแหน่งที่เราจะเลื่อนไป (ตรวจสอบได้ด้วย mysql_num_rows() )
Code (PHP)
$result = mysql_query("SELECT * FROM news order by id desc");
if (mysql_num_rows($result) > 1) {
mysql_data_seek($result, 1); // ตำแหน่งเริ่มจาก 0 ดังนั้นแถวที่ 2 คือ 1
}
// เมื่อ fetch ก็จะเริ่มจากแถว 2 ถ้าจำนวนแถวมีมากกว่า 1
while($row = mysql_fetch_assoc($result)) {
...
ประวัติการแก้ไข 2013-02-07 13:53:57
Date :
2013-02-07 13:51:39
By :
cookiephp
ขอบคุณมากค่ะ ทุกท่าน ตอนนี้ทำได้แล้วค่ะ
Date :
2013-02-07 14:12:59
By :
sangkheb
กระทู้นี้ได้คิดเยอะ
Date :
2013-02-07 14:17:14
By :
mr.win
Load balance : Server 04