Tarih: 2010-01-28, 23:34:20 Mesaj konusu: Veri Tabanından Block'a Random Kelime Çektirmek
Netopsiyondan indirdiğim duyurular 2.0 modulunü farklı bir amaçta kullanıyorum veri tabanına eklediğim satırlardan block'a Random kelime çektirmek istiyorum
Aşağıdaki şekilde Komple satır çeke biliyorum ama kelime çektiremedim Bu konuda yardımcı olursanız sevinirim
Kod:
global $prefix, $db;
$limit=1; //Blokta Kaç duyuru yayınlansın.
$metinlimit=50; //Duyuru metni uzunluğu kaç karakter olsun.
$result = $db->sql_query("SELECT baslik, metin FROM ".$prefix."_duyuru order by RAND() limit 1");
while ($row = $db->sql_fetchrow($result)) {
$baslik = stripslashes($row['baslik']);
$metin = stripslashes($row['metin']);
if(strlen($metin)>$metinlimit) {
$metin = substr($metin,0, $metinlimit)."...";
}
$content .= "<strong><big>·</big></strong> <b>$baslik:</b> $metin<br>";
}
SQL dosyası
Kod:
CREATE TABLE `nuke_duyuru` (
`id` smallint(5) unsigned NOT NULL auto_increment,
`name` varchar(40) NOT NULL default '',
`email` varchar(40) NOT NULL default '',
`date` datetime NOT NULL default '0000-00-00 00:00:00',
`baslik` varchar(40) NOT NULL default '',
`metin` text,
PRIMARY KEY (`id`),
UNIQUE KEY `id` (`id`)
) TYPE=MyISAM;
Yani nasıl olacak ? dediklerinin sanki sonu gelmemiş yanlışmı anladım acaba ? yükarda adam sql_query yi yazmış rand da yazmış yani adam nereyi nerden değiştirecek acaba efendymurat arkadaş ?
$result = $db->sql_query("SELECT baslik, metin FROM ".$prefix."_duyuru order by RAND() limit 1");
burda order by rand() demişssin bu olmamış biraz
rand() fonksiyonu kafasına göre rakam atar yalnız sql_query içine yazmışsın
bunu ve sistem order() diye bir column arıyor veritabanına tabiki olmıcak
benim yazdım kodda
Kod:
$rand=rand(1,max);
dedim burda 1 olmasının sebebi en küçük id nin bir olması max ise veritabanındaki en büyük id.
Kod:
$result = $db->sql_query("SELECT baslik, metin FROM ".$prefix."_duyuru WHERE id=$rand");
yani rastgele gelen değerdeki id deki tabloyu içerik olarak çekiyoruz
kolay gelsin
Evet ekledim ama yine block veri çekmiyor
bir arkadaşım farklı bir kod verdi ama oda sadece satırları random veriyor fikir edinmek acısından kodu ekliyorum
Kod:
".$prefix."_duyuru $querylang ORDER BY rand() DESC limit 0,6");
Bu forumda yeni başlıklar açamazsınız Bu forumdaki başlıklara cevap veremezsiniz Bu forumdaki mesajlarınızı değiştiremezsiniz Bu forumdaki mesajlarınızı silemezsiniz Bu forumdaki anketlerde oy kullanamazsınız