En son eklenen yazar yazısı sıralamada en üste.

Merhaba arkadaşlar. Öncelikle bu form sayesinde birçok şeyi çözdüm ve php kodları kavrayabiliyorum artık az çok. konuya yardım eden arkadaşlara teşekkürler.

Şimdi bir sorum olacak. Arkadaşlar sitemde yazarlar var ve blokta sıralaması şöyle oluyor. Yönetim panelinden ilk eklediğim yazar en üstte, en son eklenen yazarlarda alta doğru sıralanıyor dolayısıyla sabit kalıyor sıralama ancak ben şöyle birşey yapmak istiyorum.

Mesela yazar yeni bir yazı ekledi hemen sıralamada en üste çıksın istiyorum kodları ve forumu (Gözden kaçtıysa özür) baya kurcaladım ama bir türlü yapamadım. Bunu sizxce nasıl çözebilirim?

Yazar kodunun başlangıcı şöyle:

            <?

                $say=0;

                $sql="select * from yazarlar ORDER by id ASC LIMIT 0,10";

           $sonuc=mysql_query($sql);

           while ($row=mysql_fetch_array($sonuc))

        {

                $sql2="select * from yazar_makale WHERE yazar_id='$row[id]' ORDER by id DESC LIMIT 0,1";

           $monuc=mysql_query($sql2);

           while ($rows=mysql_fetch_array($monuc))

        {

        $kisamak   = substr(nl2br(stripslashes($rows["makale_baslik"])),0,55);

           $say++;

    ?>

Veritanabı Sutünları ise şöyle

yazar_id: yazarın id si
id: eklenen makalenin id si
makale_baslik: yazının başlığı vs..

2012-06-02 03:31:25

Php

$sql="select * from yazarlar ORDER by id DESC LIMIT 0,10";

Her programcı birgün Php yi tadacaktır
2012-06-03 13:25:56

Php

ASC ve DESC bildiğim id rakamlarını ters yada düz sıralama yapar. benim dediğim konu biraz farklı.

2012-06-03 18:00:35

Php

bahsettiğim şu. Atıyorum Selim Ahmet Mehmet yazarları var bu kodda Selim En üstte Mehmet altında Ahmet en sonda. saebebi ilk selimi yazar olarak eklediğim için ikinci mehmet üçüncü ahmet. ben sıralamayı atıyorum mehmet yeni yazı ekledi hop o en üste geçsin istiyorum sıralamayı böyle yapmak istiyorum yani kardeşim.

2012-06-03 18:13:22

Php

O zaman iki tablodan aynı anda veri çekip sıralama yapacaksın.

şöyle birşeyler olur , mavi bölüm senin tabloya göre farklı olabilir:


SELECT * FROM yazarlar,makale WHERE yazarlar.id = makale.yazarid ORDER BY makale.id DESC
Her programcı birgün Php yi tadacaktır
2012-06-04 00:07:13 Edit:2012-06-04 00:08:03

Php

bu kodu yerleştiremedim. en üstte verdiğim örneğe göre yapsan? iki tablodan zaten çekiyorum sql  ve sql2 diye ayırt ettim ama dediği kodu çalıştıramadım.

2012-06-04 01:04:48

Php

iç içe iki while kullanmana gerek yok. hepsini tek SQL le yapabilirsin. dediğim yöntemle.

Her programcı birgün Php yi tadacaktır
2012-06-04 12:50:20

Php

dediğin yöntemi kavrayamadım işte :) hocam sana zahmet şu yukarıdaki koda bakıp yazsan çok olur muyum sana?

2012-06-05 03:18:27

Php

Senin tabloya göre şöyle birşey olur.

SELECT * FROM yazarlar, yazar_makale WHERE yazarlar.id = yazar_makale.yazar_id ORDER BY yazar_makale.id DESC

Navicat programını kullan. gayet verimli.

Her programcı birgün Php yi tadacaktır
2012-06-06 20:00:18

phpkodlari.com © 2009 Herkes Php öğrenecek
Eglence ve Oyun: Gamikro