เขียน php ยังไงครับ ให้แสดง ID ล่าสุดได้

เริ่มโดย $100perday, 27 สิงหาคม 2013, 17:20:08

หัวข้อก่อนหน้า - หัวข้อถัดไป

0 สมาชิก และ 1 ผู้มาเยือน กำลังดูหัวข้อนี้

$100perday

ในตารางมีฟิลด์ id ซึ่งเป็น Primary Key และ Auto Increatment ด้วย
ตัวอย่างตอนนี้มี id = 1 , 2 ,3,5,7
ทั้งหมดอยู่ 5 แถม จะสังเกตเห็นว่า แถวที่ 4 และ 6ถูกลบไปก่อนหน้านี้

ต้องการเขียน php ให้แสดง id ล่าสุดครับ ไม่ทราบ่วาต้องเขียนอย่างไร
ซึ่งถ้าเขียนได้และรัน จะต้องแสดงเลข 7 ออกมา ซึ่งหมายความว่า ตอนนี้ล่าสุด id เท่ากับ 7

รบกวนทีนะครับ
:wanwan017:
เหนื่อย..

kuraseng


$100perday

เอ่อ ไม่ใช่ครับ หรือผมอธิบายผิด อิอิ ให้แสดงข้อมูลใน id อ่ะ คือตัวเลขออกมาเลย
เหนื่อย..

$100perday

อ้างถึงจาก: $100perday ใน 27 สิงหาคม 2013, 17:28:11
เอ่อ ไม่ใช่ครับ หรือผมอธิบายผิด อิอิ ให้แสดงข้อมูลใน id อ่ะ คือตัวเลขออกมาเลย

คืออยากรู้ว่า table นี้ id ล่าสุดคือ id อะไร หรือว่า id ต่อไปเป็น id อะไรอ่ะครับ
เหนื่อย..

Freedomlover

อ้างถึงจาก: kuraseng ใน 27 สิงหาคม 2013, 17:24:58
SELECT * FROM tablename ORDER BY id DESC LIMIT 1

แบบนี้ก็ได้ครับ  แต่เปลี่ยนจาก *  ให้เหลือแค่ field ของ id ก็พอครับ  ได้ id ล่าสุดเหมือนกัน

หรือ

SELECT MAX(ID) AS HighID FROM tablename;



ถ้าเป็น id ล่าสุดที่ insert เข้าไป  ใช้ mysql_insert_id()  ไว้หลังจากที่ insert
[direct=https://www.jaideawhosting.com/web-hosting/]โฮสติ้ง[/direct] คุณภาพสูง ราคาเริ่มต้น 50 บาท/เดือน ทดลองใช้ฟรี 30 วัน
[direct=https://www.jaideawhosting.com/vps-hosting/]SSD VPS[/direct] แรงๆ
จดโดเมนเพียง 400 บาท/ปี
ด้วยประสบการณ์กว่า 12 ปี  Tel 0840640213

ghostbehead

อ้างถึงจาก: Freedomlover ใน 27 สิงหาคม 2013, 17:39:32
อ้างถึงจาก: kuraseng ใน 27 สิงหาคม 2013, 17:24:58
SELECT * FROM tablename ORDER BY id DESC LIMIT 1

แบบนี้ก็ได้ครับ  แต่เปลี่ยนจาก *  ให้เหลือแค่ field ของ id ก็พอครับ  ได้ id ล่าสุดเหมือนกัน

หรือ

SELECT MAX(ID) AS HighID FROM tablename;



ถ้าเป็น id ล่าสุดที่ insert เข้าไป  ใช้ mysql_insert_id()  ไว้หลังจากที่ insert



มาสนับสนุน ความคิดเห็นนี้ครับ :D
[direct=http://tinytastebake.com/]ขาย Brownie Brownie Cracker[/direct][direct=http://shoesdeedee.com/]ขายคอนเวิร์สมือสอง รองเท้ามือสอง[/direct]<br />[direct=http://isareeya.com/]บทความ ข่าวสาร เทคโนโลยี[/direct]<br />[direct=http://sangsanweb.com/]รับทำเว็บไซต์ PHP Wordpress[/direct]

$100perday

คืออย่างนี้ครับ ตอนนี้ผมมีรายชื่อสมาชิกประมาณ 4000 คน ซึ่งผมต้องการเขียน code ตัวนึง ซึ่งแสดงตัวเลข id ล่าสุด จาก 4000 เป็น 4001

ให้ 4001 แสดงออกมาหน้าจอเลยอ่ะครับ

เพราะบางทีปัญหามันอาจจะเป็น 4001 , 4002 ,4003 อาจถูกลบไป การแสดงตาม increatment ล่าสุด อาจจะเป็นลำดับที่ 4004 อ่ะครับ

ผมไม่แน่ใจว่าจะอธิบายถูกเปล่าครับ

สรุปก็คือผมอยากทราบว่า ลำดับต่อไปของ id ที่จะถูก insert ต่อไปได้ id อะไร จะเขียนยังไงครับ
เหนื่อย..


077023

Insert ไปก่อนเลย แล้วใช้ mysql_insert_id() เช็คน่าจะได้นะครับ ไม่ต้องกลัวซ้ำกันด้วย
[direct=http://tokyo-cool.com]Preorder ญี่ปุ่น[/direct]
[direct=http://077023.com]077023[/direct]
[direct=http://tokyo-cool.com]Preorderสิ้นค้าญี่ปุ่น[/direct]
[img=http://www.jangpic.com/test_count_thaiseo.php/[/img]

Freedomlover

อ้างถึงจาก: $100perday ใน 27 สิงหาคม 2013, 19:59:07
คืออย่างนี้ครับ ตอนนี้ผมมีรายชื่อสมาชิกประมาณ 4000 คน ซึ่งผมต้องการเขียน code ตัวนึง ซึ่งแสดงตัวเลข id ล่าสุด จาก 4000 เป็น 4001

ให้ 4001 แสดงออกมาหน้าจอเลยอ่ะครับ

เพราะบางทีปัญหามันอาจจะเป็น 4001 , 4002 ,4003 อาจถูกลบไป การแสดงตาม increatment ล่าสุด อาจจะเป็นลำดับที่ 4004 อ่ะครับ

ผมไม่แน่ใจว่าจะอธิบายถูกเปล่าครับ

สรุปก็คือผมอยากทราบว่า ลำดับต่อไปของ id ที่จะถูก insert ต่อไปได้ id อะไร จะเขียนยังไงครับ

ก็ตามตัวอย่างด้านบนนั้นแหละครับ  ลองเอาไปเขียนดูครับ
[direct=https://www.jaideawhosting.com/web-hosting/]โฮสติ้ง[/direct] คุณภาพสูง ราคาเริ่มต้น 50 บาท/เดือน ทดลองใช้ฟรี 30 วัน
[direct=https://www.jaideawhosting.com/vps-hosting/]SSD VPS[/direct] แรงๆ
จดโดเมนเพียง 400 บาท/ปี
ด้วยประสบการณ์กว่า 12 ปี  Tel 0840640213

$100perday

ตอนนี้เขียนไ้ด้อย่างนี้แล้วครับ

$sql = "SELECT MAX(id) AS HighID FROM table_name";
  $id_query = mysql_query($sql);
  $result = mysql_fetch_array($id_query);
  $next_id = (int)$result['Auto_increment'];
  echo "$result[HighID]";

ซึ่งจะแสดง ตัวเลขของ id ตัวสุดท้ายขึ้นมา

แต่ท่านพอทราบบ้างครับว่า ค่า id ถัดไปจะเป็นค่าเท่าไหร่ พอมีแนวการเขียนแสดงมั้ยครับ

ปล.บางทีค่าถัดไป อาจจะไม่เรียงจากของเดิมก็ได้ เนื่องจากถูกลบไปก่อนหน้านี้แล้ว

เหนื่อย..

$100perday

เหนื่อย..

mrbov

น่าจะแยก id record กับ id member คนละ field กันเลยดีกว่าครับ จะได้ไม่ยุ่งยาก ถ้าใช้รวมกันปัญหามันตามมาเยอะครับ เวลาเกิดการลบ เรคคอร์ด
id record  >>  auto increment
id member  >>  ลำดับสมาชิก

dragons_first

$sql = "select max(id) from table....."
$dbquery = mysql_query($sql);
$array = mysql_fetch_array($dbquery);
$newid = $array[id]+1;
รับทำเว็บไซต์ ตามขอบเขตของลูกค้าราคาเบาๆ

รับแก้สคริปท์ เพิ่มระบบ เปลี่ยนแปลงเลเอาท์เว็บไซต์ จัด cssใหม่ แก้การแสดงผลผิดเพี้ยน
ท่านจะได้รับการบริการที่เป็นกันเอง ราคาไม่แพง ต่อรองได้(แต่ไม่น่าเกลียด) คุยกันฉันมิตร นะฮ๊าฟฟฟฟฟ