Spalte zusammenfassen

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

  • Spalte zusammenfassen

    Hallo,

    ich hätte da nen Problem:

    Table: images
    - id
    - name
    - category
    - keywords

    Ich möchte eigentlich ein Sql-Statement haben, dass:
    Fall 1: Mir alle keywords zu einer bestimmten Kategorie in einer Variable ausgibt
    Fall 2: Mir alle keywords zu allen Kategorien in einer Variable ausgibt.

    Was mein ich mit einer Variable?
    Ich hatte folgendes versucht:

    $sql = "SELECT `keywords` From `images` WHERE `category` = ".intval($_GET['category']) GROUP BY `category`;

    Allerdings gab er mir da nur die Keywords des 1. Eintrags aus, der diese category hatte.
    Am Ende sollte:

    $result = mysql_fetch_object($query);
    echo $result->keywords;

    Funktioniert natürlich nicht, sodass ich nun auf folgende Lösung zugreifen musste:

    PHP-Code:
               $sql mysql_query("SELECT `keywords` From `images` 
                    WHERE `category` = "
    .intval($_GET['category'])) OR 
                    die(
    mysql_error());
          
    $result "";
               while(
    $kwords mysql_fetch_object($sql)){
             
    $result .= " ".$kwords->keywords;
               } 
    Dies wird allerdings länger dauern, wenn ich Where weglasse(Fall2) ...

    Habt ihr ne Lösung, wie ich das im MySQL-Statement bereits machen kann? Würde dies dann allerdings auch nicht länger dauern, als mit der Schleife?
    Es geht mir dabei ja auch um performance so far...

    mfg
    danke

  • #2
    Hallo,

    ich habe jetzt nicht 100%ig verstanden, wonach genau du suchst, aber ich denke, dass dir concat weiterhelfen wird.
    signed oder unsigned... das ist hier die Frage

    Kommentar


    • #3
      Wenn ich es richtig verstanden habe, dann fügt CONCAT Argumenter eines Eintrags zusammen...

      siehe: http://www.zait.uni-bremen.de/~urs/w...ql/concat.html

      mfg
      ps: wäre ja nicht ganz das, was ich suche

      Kommentar


      • #4
        ja, das stimmt. Dein Freund und Helfer wäre GROUP_CONCAT

        also soetwas wie

        Code:
        $sql = "SELECT GROUP_CONCAT(keywords) From images WHERE category = ".intval($_GET['category']) GROUP BY category";
        signed oder unsigned... das ist hier die Frage

        Kommentar


        • #5
          hi,

          danke ^.^
          genau das, was ich suchte..

          mfg

          Kommentar

          Lädt...
          X