Mailinglisten-Archive |
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"; // Neue Instanz der DB-Klasse Query erstellen $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>"; } $anzeige->free(); unset($anzeige);
php::bar PHP Wiki - Listenarchive