Ankündigung

Einklappen
Keine Ankündigung bisher.

Ausgabe Array in schleife

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Ausgabe Array in schleife

    Hallo Leute,

    Ich brauch nochmal eure Hilfe, bin am verzweifeln da ich keine Lösung dafür finde.
    Ich habe ein mehrdimensionales Array $data:

    PHP-Code:
    Array
    (
        [
    1] => Array
            (
                [
    1] => Birne
                
    [2] => Apfel
            
    )

        [
    3] => Array
            (
                [
    8] => Orange
                
    [9] => Erdbere
            
    )



    Dann habe ich noch ein array wo die gruppen zu den schlüsseln im obigen array stehen (1,3).
    Noch ein Array in dem die vom Benutzer gewählten Gruppen stehen (in dem fall 1,3).
    Und noch ein Array in dem die vom Benutzer gewählten Früchte oder so stehen (1,2).

    Nun will ich immer den Gruppenamen ausgeben und daneben in einem extra selectfeld die früchte,
    soweit kein problem. Das große Problem ist das ich eine ausgabe in die andere includere und er mir
    somit bei der zweiten gruppe auch die früchte der ersten gruppe mit ausgibt im selectfeld.
    Ich denke es liegt einfach an der zweiten schleife wo ich nicht weiss wie ich das anderest machen sollte.

    $selectfruechte ist im template $gruppen eingebunden und das template $gruppen im Template $body.
    Ich muss also soviele $gruppen ausgeben wie der benutzer gewählt hat und alle vorhandenen $selectfuechte
    wo die markiert sind die der benutzer schon gewählt hatte im array fruechte.

    Hier mein Code:

    PHP-Code:
    foreach($data as $key => $value) {
            
    $gruppenname=$gruppen[$key];
            foreach(
    $value as $key2 => $value2) {
                
    $selected=in_array($key2,$userfruechte) ? "selected" "";
                
    $selectfruechte.=sprintf("<option value=\"%d\" %s >%s</option>\n" $key2$selected$value2);
            }
        eval (
    "\$gruppen.=\"".templateinclude("gruppen_fruechteselect")."\";");
        }
        eval (
    "\$body.= \"".getTemplate("haupttabelle")."\";"); 

  • #2
    Warum sind die Daten so in den Feldern abgelegt?
    Wo kommen sie her?

    Kommentar


    • #3
      Also das Array $data bekommt seine Daten aus der mysql DB, weil die query ein join hat, lese ich das in das array.

      Also DB ausgabe der abfrage wäre dann z.B:
      Code:
      id gruppenname fruchtid gruppenid fruchtname
      1  Gruppe 1       3          1       Frucht 1 
      1  Gruppe 1       5          1       Frucht 3 
      1  Gruppe 1       4          1       Frucht 2 
      3  Gruppe 2       1          3       Frucht 1 
      3  Gruppe 2       2          3       Frucht 2
      Da ich ja nur einmal den Gruppennamen brauche, aber alle früchte die es gibt, lese ich das in das array $data, damit ich ebend nur einmal den Gruppennamen habe. Desweiteren gibt es eine Tabelle in der DB in der steht weche gruppen der benutzer hat unnd welche früchte er darin ausgewählt hatte, die auswahl bezieht sich dann nur aufs markieren der daten (selected), auflisten muss er immer alle.
      Gruppen sollen nur die aufgelistet werden die in der benutzertabelle eingetragen sind beim benutzer.

      Kommentar

      Lädt...
      X