Mailinglisten-Archive |
Joern Grube wrote: > Sebastian Mendel schrieb: > >> Joern Grube wrote: > > >>> Das Ganze natürlich nicht nur einmal, sondern eben alle Bundesländer >>> Deutschland und diverser anderer Staaten. Nun will ich das Ergebnis >>> in einer Tabelle ausgeben und zwar EINMAL als th den Staat und dann >>> als td's die dazugehörigen Bundesländer. Gibt es da für ein Array >>> sowas wie SELECT DISTINCT für die Datenbank? Oder brauch ich was ganz >>> anderes? >> >> >> >> schrieb das Array beim auslesen halt gleich so wie du es brauchst z. B. >> >> while ( $row = mysql_fetch_assco( $result ) ) >> { >> $staat[$row['all_staat_id']]['name'] = $row['all_staat_staat']; >> $staat[$row['all_staat_id']]['länder'][$row['all_bundesland_id']] >> = $row['all_bundesland_bundesland']; >> } > > > Ich gebs ungern zu, aber ich krieg das irgendwie nicht mit :( > Ich hab unten angehängten Code, der funktioniert auch soweit, gibt mir > aber eben immer Staat => Bundesland. Ich hab mir auch array_unique > angesehen, aber irgendwie komme ich nicht dahinter, wie mir das > weiterhelfen soll :( > Vielleicht wäre jemand so nett, nochmal ein wenig zu schubsen. > -- > Mit freundlichen Gruessen Joern Grube > > > $sql = "SELECT > all_staat_id, > all_staat_staat, > all_bundesland_id, > all_bundesland_bundesland, > all_bundesland_staat > FROM > all_staat, > all_bundesland > WHERE all_bundesland_staat = all_staat_id > ORDER BY all_staat_staat, all_bundesland_bundesland ASC"; Wieso lässt du Daten aus der DB holen die du gar nicht verwendest? Und ist `all_bundesland_staat` nicht ein String und `all_staat_id` nicht eine Zahl (im WHERE)? SELECT all_staat_staat AS `staat`, all_bundesland_bundesland AS `land` FROM all_staat, all_bundesland WHERE all_bundesland_staat = all_staat_id ORDER BY all_staat_staat, all_bundesland_bundesland ASC > > // Neue Instanz der DB-Klasse Query erstellen welche DB-Klasse ? > $anzeige = new Query($sql); > if($anzeige->error()) { > echo "<pre>\n"; > echo $anzeige->getError(); > echo "</pre>\n"; > die(); > } > > $i = 0; > > while($i < $anzeige->numRows()) { > echo "<tr onMouseOver=\"this.bgColor='#ccffcc'\" > onMouseOut=\"this.bgColor='#ffffff'\">"; > for($a = 1; $a < 4; $a++) { > if($i < $anzeige->numRows()) { > $cell = $anzeige->fetch(); > $i++; > echo "<td width=\"33%\">".$cell["all_staat_staat"]." => > ".$cell["all_bundesland_bundesland"]."</td>"; > } else { > echo "<td width=\"33%\"> </td>"; > } > } > echo "</tr>"; > } ganz schön umstandlich ... while ( $row = $anzeige->fetchRow() ) { $staaten[$row['staat']][] = $row['land']; } foreach ( $staaten as $staat => $laender ) { echo '<tr><th>' . $staat . '</th><td>' . implode( ', ', $laender ) . '</td></tr>'; } ... irgendwie so ... -- Sebastian Mendel www.sebastianmendel.de www.warzonez.de www.tekkno4u.de www.nofetish.com www.sf.net/projects/phpdatetime www.sf.net/projects/phptimesheet
php::bar PHP Wiki - Listenarchive