Ein Beitrag mehrere Links

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

  • Ein Beitrag mehrere Links

    Hallo!

    Tabelle news:
    id - titel - text

    Tabelle links:
    id - n_id - name - url

    Beispiel:
    Ein Newsbeitrag hat 5 links!

    ich will dann alle News auf einer Seite ausgeben untereinnander mit ihren Links

    SELECT news.id, news.titel, news.text, links.name, links.url FROM news, links WHERE links.n_id = news.id;

    nun werden mit ja 5 Zeilen pro Newsbeitrag übergeben, also für jeden Link 1x !

    das passt aber dann nicht mit meiner ausgabe, grmpf!

    ist es also möglich alles in eine SQL anweisung zu packen?? gibt es da vllt etwas in SQL? hatte mir mal GROUP by angeschaut, aber irgendwie verliere ich ja dann die Features nach dem 1. oder?

    gruß Zerni
    Killerspiele sollten in der Größenordnung von Kinder********************grafie eingeordnet werden.(G. Beckstein)
    - ...und solche Behauptungen in "falsches Resourcenmanagement"

  • #2
    Re: Ein Beitrag mehrere Links

    GROUP_CONCAT eventuell?

    Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

    bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
    Wie man Fragen richtig stellt

    Kommentar


    • #3
      würde man das dann so verwenden?

      SELECT news.id, news.titel, news.text, GROUP_CONCAT(links.url) FROM news, links WHERE links.n_id = news.id ORDER BY news.id;

      dann gibt es bei mir nämlich ein Fehler

      EDIT: verdammt! MySQL 4.0.26 -.-
      aber danke für die Hilfe!
      Zuletzt geändert von zerni; 23.01.2007, 16:53.
      Killerspiele sollten in der Größenordnung von Kinder********************grafie eingeordnet werden.(G. Beckstein)
      - ...und solche Behauptungen in "falsches Resourcenmanagement"

      Kommentar


      • #4
        Dann wirst du deinen Join zusammen mit etwas wie
        PHP-Code:
        <?php
        $result 
        mysql_query(...);
        $aktuell '';
        while (
        $row mysql_fetch_asso($result)) {
          if (
        $aktuell != $row['id']) {
            echo 
        "News";
          }
          
        $aktuell $row['id'];
          echo 
        $row['name'];
        }
        verwenden müssen

        Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

        bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
        Wie man Fragen richtig stellt

        Kommentar


        • #5
          ich hab mein Auftraggeber überredet auf mysql4.1 upzugraden, da gibt es dann auch noch mehr funktionen !

          hmm ich hab grad nochmal nachgeschaut, wenn ich hier: http://dev.mysql.com/tech-resources/crash-me.php

          den vergleich zwischen 4.0.x und 4.1.x mache finde ich die Funktion GROUP_CONCAT trotzdem nicht, aber im manual von 3.1, 4.0, 4.1 ist die Funktion drin!

          wo schaut ihr nach, wenn ihr nicht sicher seid, ob eine Funktion enthalten ist oder nicht??
          Zuletzt geändert von zerni; 24.01.2007, 14:35.
          Killerspiele sollten in der Größenordnung von Kinder********************grafie eingeordnet werden.(G. Beckstein)
          - ...und solche Behauptungen in "falsches Resourcenmanagement"

          Kommentar


          • #6
            http://dev.mysql.com/doc/refman/4.1/en/group-by-functions.html#function_group_concat
            GROUP_CONCAT() was added in MySQL 4.1.
            halt direkt in der Manual

            Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

            bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
            Wie man Fragen richtig stellt

            Kommentar


            • #7
              ah verdammt, hatte im 5.1 manual geschaut und da stand es nicht

              naja danke
              Killerspiele sollten in der Größenordnung von Kinder********************grafie eingeordnet werden.(G. Beckstein)
              - ...und solche Behauptungen in "falsches Resourcenmanagement"

              Kommentar

              Lädt...
              X