Sadece bir kez değil, onu tekrarlamak zorunda bu yankı için bir yolu var mı?

3 Cevap php

Ben aşağıdaki sorgu var:

    $select = mysql_query("SELECT * FROM posts WHERE id = $postIds");

    while ($return = mysql_fetch_assoc($select)) {

        $postUrl      = $return['url'];
        $postTitle    = $return['title'];

        echo "<h1><a href='$postUrl'>".$postTitle."</a></h1>";

    }

Şimdi sorun değişken $postIds çoğu kez aynı kimliği birden çok kez içerir olduğunu. Yani sonrası echos kendisi çok defa başlık. Sadece bir kez echo için bir yolu var mı?

3 Cevap

Lütfen sorguda DISTINCT kullanın: SELECT DISTINCT url, title FROM posts WHERE id =

http://php.net/manual/en/function.array-unique.php

Bir atış verebilirsin. Sen $postIDs bir dizi olacak sağlamak için, ya da muhtemelen bir uyarı hatası alırsınız bir kontrol yapmak isteyebilirsiniz.

Tüm Mesajları çıkış olmak istiyorum, ama sadece çıkış başlık (lar) bir kere? Sorgunuz için SELECT DISTINCT title, url FROM posts WHERE id = $postIds; kullanın

Yoksa sadece ilk eşleşen rekor çıktı istiyorsun? Burada iki seçenek:

  1. Sorguya bir LIMIT ifadesini ekleyin: "* mesajların DAN id = $ postIds LİMİT SEÇİN 1";
  2. Komut while () döngü ortadan kaldırmak ve sadece bir kez fetchrow diyoruz.