Mailinglisten-Archive |
Hallo Mathias, ganz herzlichen Dank für die Antwort. Du hast mir mit deiner einfachen Lösung sehr geholfen. Ein kleiner Fehler ist aber trotzdem 'drin. Die select-Anweisung muß lauten: $sql = "select artist, count(artist) from $DB_TABLE group by artist order by artist,date_id;"; Vielen Dank Liebe Grüße Frank > Aloha, > > > ---------- > > Von: Frank Schnaue[SMTP:fschnaue_(at)_gmx.de] > > > > Hallo, > > ich möchte Hilfe erbitten für folgendes Problem: > > Aus einer Musik-DB werden über eine Schleife alle Interpreten in > ein > > select-feld ausgelesen, über welches dann der entsprechende Eintrag > > ausgelesen > > werden kann. > > Da mehrere Interpreten vorhanden sind, kommen Einträge teilweise > doppelt > > vor. > > Ich möchte, daß im select-feld dann folgendes steht: > > Tom Waits > > Van Morrison (4) > > Deep Purple (2) > > > ich nehme mal an, daß die Zahl in der Klammer die Anzahl > der Einträge in der DB darstellen soll .... > > > etc. > > > > Hier das Codefragment: > > // BODY-Formatierung > > include("./inc.body.php3"); > > // Datenbank-Verbindung aufbauen > > include("./inc.pconnect.php3"); > > connect(); > > // Zuerst die gesamte Anzahl der Datensätze in der Datenbank finden > > > $sql = "SELECT * FROM $DB_TABLE"; > > $sql .= " ORDER BY artist,date_id"; > > $sql .= ";"; > > > ersetze die 3 Zeilen durch: > $sql = "select artist, count(artist) from $DB_TABLE order by > artist,date_id;"; > > > // Die SQL-Anweisung ausführen > > $sql_result = mysql_db_query( $DB_DATABASE, $sql, $dbh ) or > mysql_die(); > > > > // mit einer Schleife die select-box aus der Datenbank füllen > $selected = ' selected'; > > while ($row = mysql_fetch_array($sql_result)) { > ab hier streichen bis > > $r_artist = $row[$data_field]; > > $r_first = "ABBA"; > > if ($r_first == r_artist) > > { $option_block .= "<OPTION VALUE=\"$r_artist\" > > SELECTED>$r_artist</OPTION>"; > > } > > else{ > > $option_block .= "<OPTION > VALUE=\"$r_artist\">$r_artist</OPTION>"; > > } > hier ... > und dann > $option_block .= '<option value="' . $row[0] . $selected > .'">'.$row[0] .'(' > . $row[1] . ")\n"; > $selected = ''; > > > } > > > > > Der Trick mit dem $selected macht das etwas übersichtlicher, damit > wird das erste Ergebnis vorbelegt, alle andern nicht mehr. > > Viele Grüße, Mathias > > > -- > ** http://www.php-center.de ** > Die PHP-Liste: mailto: php_(at)_phpcenter.de > http://lists.phpcenter.de/mailman/listinfo/php > -- Machen Sie Ihr Hobby zu Geld bei unserem Partner 1&1! http://profiseller.de/info/index.php3?ac=OM.PS.PS003K00596T0409a -- GMX - Die Kommunikationsplattform im Internet. http://www.gmx.net
php::bar PHP Wiki - Listenarchive