Mailinglisten-Archive |
Sebastian Mendel schrieb: > Joern Grube wrote: >> $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)? Mein Mentor hat mir mal beigebracht, dass man auch alles, was in der WHERE-Klausel steht, holen soll. Oder bring ich da was durcheinander? 'all_bundesland_staat' ist die ID des Staates, zu dem das Bundesland gehört und identisch mit 'all_staat_id' aus der Tabelle, beide vom Typ int. Praktisch sowas wie der "Fremdschlüssel". Ich hätte natürlich die Staaten und Bundesländer auch in eine Tabelle schreiben können, wahrscheinlich übertreibe ich es manchmal mit der Normalisierung :( > > 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 ? Ganz kleines, simples Teil, selbstgebaut, eigentlich nur, um die Grundlagen von Klassen zu kapieren. >> $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 ... Noch nicht ganz das, was ich wollte, aber absolut ausreichend :) Danke sehr. -- Mit freundlichen Gruessen Joern Grube
php::bar PHP Wiki - Listenarchive