Hocam o zaman benim dediğim yerden yola çıkalım. Yani "
0" dan başlamış ve her yeni kayıt girildiğinde "
auto_increment" sayesinde
ID +1 artıyor diyelim.
İlk kayıt girildi. ID : 1 oldu
Ikıcı kayıt girildi. ID : 2 oldu
.
.
.
.
.
vs. şeklinde yeni her kayıtta ID otomatik olarak 1 artarak, yeni eklenen kayda ID olarak atanarak gidiyor. Bayağı bir kayıt girildi diyelim ve son girilen kaydın ID bilgisi için veritabanı
örneğin : 30 oldu diyelim. Ama biz bunu bilmiyoruz. Sizin de dediğiniz gibi.
O halde şöyle bir MySQL sorgusu yapılabilir :
$kayıtBilgi = mysql_query("SELECT id FROM tablo_adi ORDER BY id DESC LIMIT 0, 1");Normal şartlarda ID, her kayıt girildiğinde artan bir şekilde gidiyordu. Bu koddaki
ORDER BY DESC ile tablo
ID'lerini tersten dizdik. Mesela ID=30 sonuncu kayıt ise, ilk kayıt olmuş olacak. Daha sonra ise,
LIMIT 0,1 yaptık. Yani veritabanına "
tablonun en üstündeki kaydın, ID'sini ver" demiş olduk. En üstteki ID=30 olacağı için, aslında biz son girilen kaydın ID bilgisini almış olduk.
Sonrasında ise zaten bu
$kayıtBilgi ifadesini fetch ile
$sonGirilenKayitID değişkenine atıyoruz.
$sonGirilenKayitID = mysql_fetch_assoc($kayıtBilgi); //mysql_fetch_array($kayıtBilgi); şeklinde de deneyebilirsiniz eğer assoc ile olmazsa.
echo $sonGirilenKayitID["id"]; //tablodaki ID sutunun adının 'id' olduğunu varsaydım.
$sonGirilenKayitID değişkeni; 30 olmuş oldu. Böylece son kaydın ID bilgisini almış olduk.