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