phpbar.de logo

Mailinglisten-Archive

[php] =?ISO-8859-1?Q?Re:_[php]_AW:_[php]_mehrfache_Eintr=E4ge_in_einem_aus_DB_g?= =?ISO-8859-1?Q?ef=FClltem_select-feld?=

[php] Re: [php] AW: [php] mehrfache Einträge in einem aus DB g efülltem select-feld

Frank Schnaue php_(at)_phpcenter.de
Wed, 6 Jun 2001 08:31:47 +0200 (MEST)


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