Sie befinden sich hier im Forenarchiv von phpforum.de wenn Sie direkt ins Forum möchten, klicken Sie bitte hier. Zur Startseite kommen Sie hier.

Drop Down Menu

guddn morgän

kann mir jmd bitte helfen? ich habe über templates in php ein drop down menu gefüttert. die einträge sind durch javascript auch schön farbig. nun meine frage kann ich die einträge nach der farbe sortieren lassen?

leider hab ich bis jetzt nichts im netz gefunden :( vlt hat ja von euch einer ne zündende idee

mfg maro

Hier gehts zum Orginal Eintrag "Drop Down Menu" im Forum

Antworten

das müsstest du dann schon vor dem befüllen erledigen. du hast doch bestimmt ein schema nach dem du die einträge farbig sortierst - das müsstest du dann auch im php teil nutzen um die sortierung zu erledigen.


2.

naja ich werde die eintraege jetzt halt nicht direkt ans template weitergeben sondern erstmal in einem mehrdimensionalen array speichern das dann sortieren und die einzelnen eintraege dann dem array übergeben.

könntest mir da mal schnell helfen:
original habe ich die eintragäe so übergeben:

$template->set_var( array( "NoNumber" => $db->f("Name"), "MatName" => $iMid."   ". $db->f("Name"), "COLOR" => "#FFCC00"));

jetzt speicher ich sie so zwischen:

$comboeintraege["3green"] = ( array( "NoNumber" => $db->f("Name"), "MatName" => $iMid."   ". $db->f("Name"), "COLOR" => "#00AA00"));

wie komm ich nun an den teil (per foreach schleife oder so) heran:

( array( "NoNumber" => $db->f("Name"), "MatName" => $iMid."   ". $db->f("Name"), "COLOR" => "#00AA00"));

um das dann dem $template->set_var( ... ) zu übergeben ?

verstanden :D?

geht das so wie ichs machen will überhaupt?


3.

Code:                   In Zwischenablage kopieren (nur IE)
1">

nicht wirklich, aber ich versuchs mal. jeder aufruf von $template->set_var( array(...) ) erzeugt einen eintrag im dropdown und entspricht einer zeile in der datenquelle, richtig!?

dann ist dein ansatz alles zunächst mal in einem array zu speichern okay. das sieht wahrscheinlich in etwa so aus
Code:                   In Zwischenablage kopieren (nur IE)
2">

jetzt kannst du mit [doc]usort[/doc] das array $temp sortieren lassen (lies dazu mal die anmerkungen in der doku) - ich weiss zwar nicht anhand welchen kriteriums du nun sortieren willst, aber das lässt sich mit der funktion sehr elegant lösen.

nachdem du das array sortiert hast, kannst du es ja wieder mit foreach($temp as $elem) durchlaufen und mit $template->set_var($elem) innerhalb des schleifenkörpers dem template zuweisen.

die beste variante wird aber sein, wenn du die sortierung schon bei der datenabfrage machen kannst.


4.

so also ich hab bissl rumprobiert nun hänge ich doch wieder fest.
ich habe mir nun ein array gebastelt habe aber keine ahnung wie ich dieses gebilde sortiere ich hoffe mir kann jmd helfen:

das beinhaltet mein array:

Code:                   In Zwischenablage kopieren (nur IE)
3">

Code:                   In Zwischenablage kopieren (nur IE)
4">

also auf der ersten position welcher farbe es anghört und zweite dimension halt der genaue wert.

ich will es nach "yellow" "green" ,usw. soriteren lassen also nach der ersten spalte also yellow vor green

geht das mit der einfachen funktion krsort($comboitems) ??? immerhin sortiert die bei eindimensionalen arrays auch die keys absteigend nur funktioniert das bei mehrdimensionalen auch und vorallem auf die 1 dimension ??

und wie lese ich dann den wert ( array(yyy) ) aus? mit eindimensionalen arrays bekomm ich das hin aber mit mehrdimensionalen verheddere ich mich :(

:)


Hier gehts zum Orginal Eintrag "Drop Down Menu" im Forum
 
phpforum.de | Impressum