Merhaba,
r10 dan bir arkadaşın scriptini inceliyorum, son 5 kategori listelemeyi temaya yerleştirdim
bir de en çok okunan 5 makaleyi listelemek istiyorum.
tablo adı : yazilar
anlık olarak hit tutan table değişkeni : $hit
bunlardan yola çıkarak yazabilecek arkadaş var mı acaba ?
En Çok okunanları listelemek ?
10
●1.605
- 25-04-2008, 15:56:29Kimlik doğrulama veya yönetimden onay bekliyor.tabloda hit diye bir alan açıp her makale okunduğunda hit i 1 artırırsın.Sonra da makaleleri çekerken hit e göre sıralarsın.
- 25-04-2008, 16:13:39Üyeliği durdurulduben o şekilde tahmin ettim row( ) ile yapılacağnı tahmin ediyordum ama acemilik işte : )AdsenseKolik adlı üyeden alıntı: mesajı görüntüle
<? $sql = mysql_query ("SELECT * FROM yazilar ORDER BY id DESC LIMIT 0,5"); while($goster=mysql_fetch_array($sql)){ echo "<li><a href=\"makaleoku.php?id=".$goster['id']."\">".$goster['baslik']."</a><br>"; } ?>
Son 5 konu diye kategori açmıştım yukarıdaki kodları kullanmıştım.
en çok okunanlar için şu şekilde yapmam mı gerekiyor ?
<? $sql = mysql_query ("SELECT * FROM yazilar ORDER BY id DESC LIMIT 0,5"); while($goster=mysql_fetch_array($sql)){ echo "<li><a href=\"makaleoku.php?id=".$goster['hit']."\">".$goster['baslik']."</a><br>"; // id ve baslik kolonlari dogrumu bilmiyorum kendine gore uyarlarsan dogru sonuc alirsin } ?>bu şekilde yaptım ama olmadı.
başka bir türlü yaptım sadece konu başlıkları yerine hitlerini gösterdi
nasıl yapmalıyım acaba ?
bu arada not bırakıyorum.
en çok okunan üstte, en çok okunana yakın olanlar ise altta listelenecek.
yani şöyle;
x konusu 1.250 kez
y konusu 1.200 kez
kaç kez okunduğunu kategoride göstermek istemiyorum sadece konu adları çıksın yeter.çok basit olacak. - 27-04-2008, 05:21:40tablo adı : yazilar
anlık olarak hit tutan table değişkeni : $hit
kodları kopyalayıp yapıştırmışsın sadece
tablo yapınızın; "id baslik hit" olduğunu düşünerek şöyle bir şey veriyorum.
<?php $kac = 5; // son kac konu olacaksa $s = mysql_query("SELECT * FROM yazilar ORDER BY hit asc LIMIT $kac"); for($i=0;$i<$kac;$i++) { $id = mysql_result($s, $i, 'id'); $baslik = mysql_result($s, $i, 'baslik'); $hit = mysql_result($s, $i, 'hit'); echo "<li><a href=\"makaleoku.php?id=$id\">$baslik ($hit)</a></li>"; # çıktısı: konu basligi (hit) } ?> - 27-04-2008, 06:36:03İlk önce sayfanın her okunduğu hiti 1 kez artıralım
$sonuc1 = mysql_query("update tablo set hit = (hit+1) WHERE id = $id");En çok okunan 20 veriyi tabanında seçtirelim
$sorgu = mysql_query("SELECT * FROM tablo order by hit DESC limit 0,20");Döngü
while ($al = mysql_fetch_array($sorgu)){ $s_id = $al['id']; $s_baslik = $al['ad']; $s_link = $al['baslik']; $s_hit = $al['hit']; }En Çokunan 20
- <a href=\"$s_link\" >$s_baslik</a> - 27-04-2008, 08:50:53Üyeliği durdurulduseemsiyah adlı üyeden alıntı: mesajı görüntüle
merhaba senin kodlarını çalıştırdım tam istediğim gibi,
ama en çok okunanı üst tarafta en çok okunana yakın olanı da altta çıkarmak istiyorum.
sendeki kodlarda en çok okunan en altta çıkıyor.
teşekkür ederim
- 27-04-2008, 08:51:26Üyeliği durduruldusenin kodları çalıştıramadım malesef...Kalyoncu adlı üyeden alıntı: mesajı görüntüle
- 27-04-2008, 12:55:08Pardon, yazdığım saate bakarsan, bi kaç hata çıkması normaldir

bunu denersen sevinirim...
<?php $kac = 5; // son kac konu olacaksa $s = mysql_query("SELECT * FROM yazilar ORDER BY hit desc LIMIT $kac"); for($i=0;$i<$kac;$i++) { $id = mysql_result($s, $i, 'id'); $baslik = mysql_result($s, $i, 'baslik'); $hit = mysql_result($s, $i, 'hit'); echo "<li><a href=\"makaleoku.php?id=$id\">$baslik ($hit)</a></li>"; # çıktısı: konu basligi (hit) } ?> - 27-04-2008, 15:05:40MisafirKonunun Olduğu sayfa
$id = intval($_GET['id']);
$sorgu = mysql_query("update tablo set hit = (hit+1) WHERE id = $id");
Listeleme Sayfası
$sorgu = mysql_query("SELECT * FROM yazilar order by hit DESC limit 0,20");
<?php while($yaz = mysql_fetch_object($sorgu)) { ?>
<?php echo "<b> $yaz->isim <br> $yaz->aciklama </b>"; ?>
<?php } ?>

