PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   PHP Entwicklung und Softwaredesign (http://www.selfphp.de/forum/forumdisplay.php?f=14)
-   -   array_unique nicht nach Wunsch (http://www.selfphp.de/forum/showthread.php?t=17115)

phpTippse 25.06.2007 17:11:52

array_unique nicht nach Wunsch
 
Hey Leute...

ich habe aus meiner Datenbanktabelle eine Spalte ausgelesen, in der sämtliche Bundesländer stehen. Die Bundesländer (wie NRW) können zum Teil doppelt und dreifach dort drin stehen. Ich lese das zunächst in ein Array aus und möchte dann das Ergebnis durch eine foreach Schleife in ein html-select darstellen.
Nun habe ich ein bisschen gegoogelt und herausgefunden, dass array_unique doppelte Einträge entfernen soll. Gut und schön. Sagen wir mal, ich habe als Bundesland NDS, BW, BAY, NRW, NRW, NRW im Array $bllist stehen. Jetzt wende ich array_unique an:
$bllist = array_unique($bllist); oder $result = array_unique($bllist); kommt beides zu folgendem Ergebnis: im Array steht nur noch NDS und danach kommt nichts mehr. Naja...so war das nun nicht gedacht. Oder ist array_unique doch nicht das richtige für mich?

Ciao,
phpTippse

Chance 25.06.2007 17:40:22

AW: array_unique nicht nach Wunsch
 
Ich würde die Liste direkt über die datebanktabelle Sortieren lassen, und auch das HTML Gerüst gleich mit. Wenn es aufgelistet werden soll.

Oder du erweiterst das Assitioative Array...
Z.B.
$bllist[*bundesland*][*etc*]

Oder wie meinst du die Ausgabe ganz genau ?

phpTippse 25.06.2007 17:54:20

AW: array_unique nicht nach Wunsch
 
Welche Vorteile habe ich dann vom Sortieren? Mein Problem ist momentan, dass nach dem ersten Wert bei Verwendung von array_unique einfach alle anderen Elemente abgeschnitten werden. Liegt das evtl. daran, dass die Beispiele, die ich gefunden habe, ohne Keys im Array stehen und mein Array 1 => NRW, 2 => NRW, 3 => NDS [...] so aufgebaut ist? Ich möchte einfach nur verhindern, dass die doppelten Einträge aus der Datenbank dann auch im HTML-Formular sichtbar sind. Es soll jedes Bundesland nur einmal auftauchen in der Select-Liste.

Chance 25.06.2007 18:25:41

AW: array_unique nicht nach Wunsch
 
Normalerweise sollte es so funktionieren, wie du es vorhast... laut Doku.

Kannst du mal ein Stück vom Quellcode posten ?

phpTippse 26.06.2007 09:04:08

AW: array_unique nicht nach Wunsch
 
Also..:

$bl_list = new DB_Class();
$bllist = $bl_list->getBL();

$result = array_unique($bllist);

und in getBL:
$query = "SELECT state FROM bundesland";
return mysql_query($query);

phpTippse 26.06.2007 09:49:21

AW: array_unique nicht nach Wunsch
 
Hi,
habs mit DISTINCT im sql gelöst.
Danke trotzdem.
LG,
phpTippse


Alle Zeitangaben in WEZ +2. Es ist jetzt 14:50:36 Uhr.

Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.