v2.5.2
Giriş yap

PHP ile isme göre veri listeme

yahyairis
884 defa görüntülendi

Merhabalar, blog sayfam için yazarın son gönderileri bölümü yaptım. Örneğin ahmetin yazdığı blogu açtığım zaman sağ tarafta ahmetin yazdığı son 5 gönderiyi listelemek istiyorum ya da velinin yazdığı blog yazısını açtığım zaman velinin yazdığı blogları listelemek istiyorum. Nasıl yapabilirim?

Cevap yaz
Cevaplar (5)
kemalgundogdu
1306 gün önce

Yukarıda Ahmet üzerinden ID örneği vermiştim. Madem yazarlar için bir tablon yok o zaman ID olmadanda dediğim işlemi yapabilirsin. Ama bu sefer ID yerine yazarın adını kullanmalısın.

SELECT * from posts WHERE authorName='Ahmet'
webdevyusuf
1307 gün önce

Dostum ne yaptığını tam anlamadım ancak yazarların ayrı bir tabloda olması gerekiyor. Yazar yazı yazdığında posts tablosuna gidicek ve orada author_id diye bir sütun olucak orayada yazarın idsini yazdırıcaksın ve WHERE koşulunada author_id='$author_id' olarak yaptırıcaksın. Bu genellikle tablo ilişkilendirme olarak geçiyor öğrenmek için aşağıda bıraktığım videoya bakabilirsin.
https://www.youtube.com/watch?v=8DzRAe6QyD8

yahyairis
1307 gün önce

Bu şekilde değil arkadaşlar, tablomun içerisinde kullanıcı yok. Posts diye bir tablom var, orada yazar bölümü var. Ahmet, Mehmet, Ali ve Veli yazı yazmış olsun. Hepsi aynı kullanıcıdan ve aynı tablo içerisinden. Ahmet 3 adet yazı yazmış olsun, Veli 10, Mehmet ile Ali de 5 tane yazsın. Ben Blog sayfsasında Ahmet'in yazdığı yazıyı açtığım zaman sağ tarafta "YAZARIN SON GÖNDERİLERİ" başlığı altında son 5 adetiği istiyorum. Sadece sorgum eksik "SELECT * from posts WHERE author='BURAYA NE YAZACAĞIMI BİLMİYORUM' ORDER BY date DESC LIMIT 5". WHERE author yazdığım zaman en anlamsız bir şekilde sadece test1 yazarını çekiyor.

webdevyusuf
1307 gün önce
<ul>
    <?php
    $user_id = $_GET['id'];
    $posts = $db->query("SELECT * FROM posts WHERE user_id = '{$user_id}' ");
    while ($post = $posts->fetch_assoc()) {
        ?>
        <li>
            <a href="post_detail?id=<?=$post['id']?>">
                <?=$post['post_name']?>
            </a>
        </li>
        <?php
    }
    ?>
</ul>
kemalgundogdu
1307 gün önce

Mesela Ahmet'in yazdığı bloğu açtığın zaman o sayfada Ahmet'in ID'sini alabiliyor olman lazım. Ahmet'in ID'sini aldıktan sonra sağ tarafta sql'de ki WHERE komutu sayesinde Ahmet'in ID'sine göre listeleme yapabilirsin.
Googlede araştırabilmen için "mysql WHERE kullanımı" diye aratabilirsin.