Abfrage beschränken

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Abfrage beschränken

    Hallo Forum,

    ich frage die 5 letzten News-Einträge von Benutzern ab und gebe diese aus. Das funktioniert auch:

    PHP-Code:
    SELECT ins_idnews_headernews_datenews_text FROM news ORDER BY news_date DESC LIMIT 0,
    Nun kann es jedoch vorkommen, dass ein Benutzer mehr als eine News unter diesen 5 hat. Ich möchte jedoch 5 News haben von unterschiedlichen Benutzern.

    Die Spalte ins_id ist die ID von dem Benutzer -> die soll "einmalig" sein in der Abfrage. Wie mache ich das?

    Vielen Dank, Gruß
    Fabian

  • #2
    DISTINCT?
    Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

    [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
    Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

    Kommentar


    • #3
      geht leider nicht, hatte ich schon probiert.

      Hier meine eigentliche Query:

      PHP-Code:
      $news mysql_query ("SELECT news.id, news.ins_id, news.news_header, news.news_date, instructors.ins_id,

      instructors.vorname, instructors.nachname, instructors.fotos FROM news,

      instructors WHERE news.ins_id = instructors.ins_id ORDER BY news_date DESC LIMIT 0,5"
      ); 
      Ein DISTINCT nach dem "SELECT" führt nicht zum Erfolg, kann man es auch anders einsetzen?

      Kommentar


      • #4
        Wenn DISTINCT nicht funzt, dann könnte ein GROUP BY ins_id helfen...
        Zuletzt geändert von jahlives; 15.02.2008, 15:17.
        Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

        [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
        Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

        Kommentar


        • #5
          Ich habe leider keine Zeit mehr, das zu testen, da ich gleich weg muss, aber es dürfte in Richtung der folgenden Abfrage gehen:
          PHP-Code:
          SELECT 
              n
          .id
              
          n.ins_id
              
          n.n_header
              
          n.n_date
              
          i.ins_id,
              
          i.vorname
              
          i.nachname
              
          i.fotos 
          FROM 
              news n
          ,
          INNER JOIN
              instructors i USING
          (ins_id)
          WHERE
              i
          .ins_id = (
                  
          SELECT DISTINCT
                      i2
          .ins_id
                  FROM
                      news n2
          ,
                  
          INNER JOIN
                      instructors i2 USING
          (ins_id)
                  
          ORDER BY 
                      n2
          .n_date DESC 
                  LIMIT  5
              
          )
          ORDER BY 
              n
          .n_date DESC 
          LIMIT 5 
          Gruss
          H2O

          Kommentar


          • #6
            vielen Dank für Eure Hilfe! Ein super Forum...

            Also GROUP BY hatte ich auch schon ausprobiert, fände ich auch logisch, jedoch werden bei:

            PHP-Code:
            GROUP BY news.ins_id 
            einige (erwünschte) Einträge einfach weggelassen

            Die query von H20 erzeugt leider einen Fehler...

            Kommentar


            • #7
              Habe es jetzt mit PHP gemacht... klappt alles.

              Vielen Dank für Eure Hilfe noch einmal!

              Gruß
              Fabian

              Kommentar

              Lädt...
              X