ThaiSEOBoard.com

พัฒนาเว็บไซต์ => Programming => ข้อความที่เริ่มโดย: $100perday ที่ 27 สิงหาคม 2013, 17:20:08



หัวข้อ: เขียน php ยังไงครับ ให้แสดง ID ล่าสุดได้
เริ่มหัวข้อโดย: $100perday ที่ 27 สิงหาคม 2013, 17:20:08
ในตารางมีฟิลด์ id ซึ่งเป็น Primary Key และ Auto Increatment ด้วย
ตัวอย่างตอนนี้มี id = 1 , 2 ,3,5,7
ทั้งหมดอยู่ 5 แถม จะสังเกตเห็นว่า แถวที่ 4 และ 6ถูกลบไปก่อนหน้านี้

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

รบกวนทีนะครับ
 :wanwan017:


หัวข้อ: Re: เขียน php ยังไงครับ ให้แสดง ID ล่าสุดได้
เริ่มหัวข้อโดย: kuraseng ที่ 27 สิงหาคม 2013, 17:24:58
SELECT * FROM tablename ORDER BY id DESC LIMIT 1


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


หัวข้อ: Re: เขียน php ยังไงครับ ให้แสดง ID ล่าสุดได้
เริ่มหัวข้อโดย: $100perday ที่ 27 สิงหาคม 2013, 17:30:12
เอ่อ ไม่ใช่ครับ หรือผมอธิบายผิด อิอิ ให้แสดงข้อมูลใน id อ่ะ คือตัวเลขออกมาเลย

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


หัวข้อ: Re: เขียน php ยังไงครับ ให้แสดง ID ล่าสุดได้
เริ่มหัวข้อโดย: Freedomlover ที่ 27 สิงหาคม 2013, 17:39:32
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


หัวข้อ: Re: เขียน php ยังไงครับ ให้แสดง ID ล่าสุดได้
เริ่มหัวข้อโดย: ghostbehead ที่ 27 สิงหาคม 2013, 18:14:46
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


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

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

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

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

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


หัวข้อ: Re: เขียน php ยังไงครับ ให้แสดง ID ล่าสุดได้
เริ่มหัวข้อโดย: khunzz ที่ 27 สิงหาคม 2013, 20:21:20
 :wanwan001:


หัวข้อ: Re: เขียน php ยังไงครับ ให้แสดง ID ล่าสุดได้
เริ่มหัวข้อโดย: 077023 ที่ 27 สิงหาคม 2013, 20:37:52
Insert ไปก่อนเลย แล้วใช้ mysql_insert_id() เช็คน่าจะได้นะครับ ไม่ต้องกลัวซ้ำกันด้วย


หัวข้อ: Re: เขียน php ยังไงครับ ให้แสดง ID ล่าสุดได้
เริ่มหัวข้อโดย: Freedomlover ที่ 27 สิงหาคม 2013, 21:00:24
คืออย่างนี้ครับ ตอนนี้ผมมีรายชื่อสมาชิกประมาณ 4000 คน ซึ่งผมต้องการเขียน code ตัวนึง ซึ่งแสดงตัวเลข id ล่าสุด จาก 4000 เป็น 4001

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

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

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

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

ก็ตามตัวอย่างด้านบนนั้นแหละครับ  ลองเอาไปเขียนดูครับ


หัวข้อ: Re: เขียน php ยังไงครับ ให้แสดง ID ล่าสุดได้
เริ่มหัวข้อโดย: $100perday ที่ 28 สิงหาคม 2013, 00:44:08
ตอนนี้เขียนไ้ด้อย่างนี้แล้วครับ

$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 ถัดไปจะเป็นค่าเท่าไหร่ พอมีแนวการเขียนแสดงมั้ยครับ

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



หัวข้อ: Re: เขียน php ยังไงครับ ให้แสดง ID ล่าสุดได้
เริ่มหัวข้อโดย: $100perday ที่ 28 สิงหาคม 2013, 08:15:36
ตามล่าหาผู้ช่วยต่อไป  :wanwan020: :wanwan020:


หัวข้อ: Re: เขียน php ยังไงครับ ให้แสดง ID ล่าสุดได้
เริ่มหัวข้อโดย: mrbov ที่ 28 สิงหาคม 2013, 08:36:01
น่าจะแยก id record กับ id member คนละ field กันเลยดีกว่าครับ จะได้ไม่ยุ่งยาก ถ้าใช้รวมกันปัญหามันตามมาเยอะครับ เวลาเกิดการลบ เรคคอร์ด
id record  >>  auto increment
id member  >>  ลำดับสมาชิก


หัวข้อ: Re: เขียน php ยังไงครับ ให้แสดง ID ล่าสุดได้
เริ่มหัวข้อโดย: dragons_first ที่ 28 สิงหาคม 2013, 08:39:52
$sql = "select max(id) from table....."
$dbquery = mysql_query($sql);
$array = mysql_fetch_array($dbquery);
$newid = $array[id]+1;