mysql abfrageschleife nur einmal...

djnelly

Erfahrenes Mitglied
Hallo..

ich habe eine mysqlabfrage.
Datenbankaufbau:

Artikel1 Nr.1 FachbereichX
Artikel2 Nr.4 FachbereichX
Artikel8 Nr.5 FachbereichY
Artikel4 Nr.7 FachbereichZ

Ich habe also rund 3000 Datensätze. und jeder datensatz hat seinen eigenen Fachbereich. Dieser Fachbereich ist auch mehrfach vergeben.

Mein Sql abfrage:

PHP:
$sqlkommando_bereiche = "select fachbereich from imlieferanten";
$sqlanfrage_bereiche = mysql_query($sqlkommando_bereiche) or die ("Error: " .mysql_error());

Meine ausgabeschleife ins html:

PHP:
          <select name="fachbereich" class="button" size="1" id="fachbereich">
            <?
			while($daten_b = mysql_fetch_object($sqlanfrage_bereiche))
			{
			echo"<option value=\"$daten_b->fachbereich\">$daten_b->fachbereich</option>";
			}
			?>
          </select>

Nun habe ich das Problem, dass die Bereiche nun mehrfach in der optionsliste stehen. Wie könnte man das definieren, dass jedes Ergebnis nur einmal angezeigt wird und nicht doppelt.


Danke
 
ganz einfach. Entweder du normalisierst mal deine Datenabnkstruktur dann hättest du nämlich diene Fachbereiche ausgelagert in eine Extra tabelle und der Schlüssel dieser wäre ein Fremdschlüssel in deiner Artikeltabelle.
Ein Workaround wäre, wenn du nur den Fachbereich selektierst, mit distinct nur die verschiedenen zu holen, sprich
SELECT DISTINCT fachbereich FROM woauchimmer....
 
Indem Du Deine sql-Abfrage veränderst:

PHP:
select fachbereich from imlieferanten GROUP BY fachbereich;
 
Zurück