[sql]

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

  • [sql]

    Also ich hab folgendes Problem:

    Code:
    $sql = 'select kategorie from links';
    $ergebnis = mysql_query($sql);
    
        while( $row = mysql_fetch_object($ergebnis) )
              {
               echo '<option>'.$row->kategorie.'</option>';
              }
    Das Skript dient dazu einen neuen Link in eine Linkliste einzutragen, die nach versch. Kategorien sortiert wird. Das soll über ein Formular gehen, in dem man die jeweilige Kategorie per <select> auswählt. Unter Option werden alle aufgelistet, die schon drin sind.

    Frage: Wie kann man verhindern, dass welche doppelt angezeigt werden???

    Danke!
    Zuletzt geändert von der_Behr; 08.09.2003, 14:16.

  • #2
    schau dir mal GROUP BY im manual an.

    das ist in deinem fall aber eine notlösung. besser wäre es mit einer eigenen tabelle für die kategorien zu arbeiten:

    ID | kategorie
    1 | bla
    2 | blubb

    setz das feld kategorie auf unique. in der tab links hast du dann eine spalte katid. über katid-id lässt sich das ganze verknüpfen (zb JOIN).
    Kissolino.com

    Kommentar


    • #3
      Hab mir mal ne mögliche Lösung geschrieben, aber irgendwie funktioniert sie nicht. Es wird nämlich nie ne <option> dargestellt.

      PHP-Code:
      while( $row mysql_fetch_object($ergebnis) )
                {
                 
      $option_aktuell $row->kategorie;
                 
      $optionen_alle .= $row->kategorie;
                 
      $n count($optionen);
                 
                 for( 
      $i=0$i<$n$i++ )
                       {
                        if( 
      $option_aktuell == $optionen_alle[$i] )
                             
      $enthalten++;
                       }
                 if( 
      $enthalten )
                      echo 
      '<option>'.$row->kategorie.'</option>';
                } 

      Kommentar


      • #4
        if ($enthalten==0)

        du machst ne zuweisung und das ergebnis dieser zuweisung wird geprüft ( if (0) gibt false und damit kommt nix)

        aber wurzels lösung ist auf jeden fall die bessere, weil leichter zu verwalten, implementieren, erweitern ...
        Ich denke, also bin ich. - Einige sind trotzdem...

        Kommentar

        Lädt...
        X