PHP & MYSQL ile veritabanından son 10 veri içinden rastgele listeleme

Merhaba,

Dün bir haber sitesi olan projemi geliştirirken şöyle birşeye ihtiyaç duydum: tabloma eklenen son 10 veri içinden 1 tanesini rastgele göstermem gerekiyordu. Gerekli sql kodu aşağıdadır…

Öncelikle veritabanımıza bağlantıyı sağlıyoruz. O işi size bırakıyorum…
Aşağıdaki kodu tablo isimini değiştirerek kullanabilirsiniz:

$rastgele=mysql_query(”SELECT * FROM (SELECT * FROM ana_haber ORDER BY id DESC LIMIT 10) AS  ana_haber ORDER BY RAND() LIMIT 1″);
$haber=mysql_fetch_assoc($rastgele);

Şimdi sıra kayıtları yazdırmakt. İster div içerisine ister tabloya yazdırın.Seçim sizin.
echo substr($haber[’baslik’],0,55).”..”; //başlıktan 55 karakter aldım.
echo  substr(strip_tags($haber[’icerik’],0,475)); // icerikten 475 karaktere ihtiyaç duydum. Yani özet aldım devamı>> şeklnde bir link eklenebilir.

Burada kullandığım 2 komutu da açıklama gereği duyuyorum. Kullanmayabilirsiniz ama bazı projelerde uzun metinlere sahip içeriklerde gerekebiliyor.

strip_tags(); html kodlarını eler. Örneğin haberiniz veya içeriğiniz herneyse bir editör ile eklenmiş olabilir.(fck gibi. İçerik eklenirken burada <b></b> veya <p></p> gibi bazı html kodları eklenir. Özellikle haberi dışardan kopyalıyorsanız kesinlikle oradaki stili ile gelir(font vs… Ancak siz görüntüsünü kendiniz değiştirmek isteyebilirsiniz.Dolayısıyla strip_tag() ile metnin içini temizlersiniz.

substr(metin,başlangıç,bitiş); // İçerikten belli sayıda karakterler almanıza yarar. Örneğin bir resim dosyamız var deneme.gif olsun. Biz sadece deneme kısmını veya resmin tipini almak isteyebilirz. Bu durumlarda substr kullanırız…

Ayrıntılı bilgi için php.net e bakınız…

Kolay gelsin.

Düsüncelerinizi Esirgemeyin !!