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