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 |
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 ? |
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.
|
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 ? |
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); |
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.