werte werden doppelt ausgeben

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

  • werte werden doppelt ausgeben

    Hallo mit diesem Script wollte ich veranlassen, dass nur werte ausgegeben werden, wenn in tabelle top_format_1 entsprechende werte vorliegen. Klappt auch, nur werden jetzt die werte doppelt ausgegeben. Was mache ich falsch?

    $sql = "SELECT
    kategorie.id
    FROM
    kategorie,
    top_format_1
    WHERE
    top_format_1.kategorie = kategorie.id AND
    kategorie.sprache = '".$_SESSION['sprache']."' AND
    kategorie.format = '1'
    ORDER BY
    kategorie.folge ASC;";
    $_SESSION['getids'] = Array();
    $result = mysql_query($sql) OR die (mysql_error());
    while($row = mysql_fetch_assoc($result))
    {
    $_SESSION['getids'][] = $row['id'];
    }

  • #2
    hier wird nichts ausgegeben.
    mit print_r kannst du in das array reinschauen und uns erzählen, was du siehst.
    warum legst du keinen wert auf die lesbarkeit deines codes? warum machst du es den anderen schwieriger, dir zu helfen?

    Kommentar


    • #3
      folgedes erschein also

      Array ( [0] => 1 [1] => 1 [2] => 2 [3] => 2 )

      sorry wegen der darstellung ich blicke noch nicht wie man hier den code farbig darstellen kann
      PHP-Code:
      $sql "SELECT
                            kategorie.id
                      FROM
                           kategorie,
                           top_format_1
                   WHERE
                           top_format_1.kategorie = kategorie.id AND
                           kategorie.sprache = '"
      .$_SESSION['sprache']."' AND
                           kategorie.format = '1' 
                  ORDER BY
                          kategorie.folge ASC;"
      ;
       
      $_SESSION['getids'] = Array();
      $result mysql_query($sql) OR die (mysql_error());
      while(
      $row mysql_fetch_assoc($result))
         {
           
      $_SESSION['getids'][] = $row['id']; 
          } 

      Kommentar


      • #4
        SELECT DISTINCT könnte helfen - allerdings wäre es angebracht, eine Spalte "id" unique zu definieren, denn nur dann erfüllt sie den Zweck, den ich vom Namen her vermute!

        Kommentar


        • #5
          sorry wegen der darstellung ich blicke noch nicht wie man hier den code farbig darstellen kann
          OffTopic:
          Wie oft habe ich dich bitte schon darauf hingewiesen???

          Kommentar


          • #6
            ein JOIN sollte es sein, denke ich.

            Kommentar


            • #7
              Oh richtig, top_format ist ja keine Spalte sondern eine andere Tabelle. Die Spalte id ist wahrscheinlich unique, sorry.

              Ein Join ist es allerdings schon. DISTINCT oder GROUP BY ...

              Kommentar


              • #8
                vielen dank für die hilfe

                mit "SELECT DISTINCT" geht es danke

                Kommentar

                Lädt...
                X