Ankündigung

Einklappen
Keine Ankündigung bisher.

multidimensionales Array aus Textdatei

Einklappen

Neue Werbung 2019

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

  • Gast-Avatar
    Ein Gast erstellte das Thema multidimensionales Array aus Textdatei.

    multidimensionales Array aus Textdatei

    Liebes Forum,

    ich hab gerade das Netz nach der Problematik durchsucht - aber mir fehlen am Ende die richtigen Stichworte ...

    Ich hab ne .txt Datei, welche |-separierte Daten beinhaltet, die via EXPLODE in einem Array gespeichert werden. Es handelt sich hierbei um 6 Sachen die in einem Shop-System angeboten werden (das Array beinhaltet nun Ware, Bild, Beschreibung und Preis). Allerdings sind nun T-Shirts hinzugekommen, und damit die Variablen Größe und Farbe. Die sollen nun mit in das Array mit rein, bilden aber selbst ein Array.

    Array1(Ware[1-6],Bild[1-6],Beschreibung[1-6],Preis[1-6],

    Array2(Größe[1-3],Farbe[1-6]))

    irgendwie so ...

    Dazu muss ich aber natürlich die Textdatei entsprechend auslesen. Wie kann ich das realisieren?

    Mein bisheriger Code:

    Code:
    foreach($data as $k=>$v) {	
    		$tmp = explode("|", $v);
    		$waren[$tmp[0]]["Name"] = $tmp[1];
    		$waren[$tmp[0]]["Beschreibung"] = $tmp[2];
    		$waren[$tmp[0]]["Bild"] = $tmp[3];
    		$waren[$tmp[0]]["Preis"] = $tmp[4];
    wo kommt jetzt das explode zu den ausgelesenen Grössen und Farben hinzu? Wie werden die entsprechenden Daten zu den jeweiligen Waren zugeordnet?

    Grüsse Franko[/code]

  • Gast-Avatar
    Ein Gast antwortete
    War weg....so, jetzt zur Antwort:

    Code:
    $zahl = count($v["Grösse"]);
    for($i=0;$i<$zahl;$i++)
    {
    if($v["Grösse"][$i])
    {
    echo'
                             <td class="tablebody" align="right">
                             <input name="" type="checkbox" title= value="">'.$value.'
                             </td>
           '; 
    }
    esle
    {
    echo'
                             <td class="tablebody" align="right">
                             </td>
           '; 
    }
    if($v["farbe"][$i])
    {
    echo '<td>'.$v["farbe"][$i].'</td>';
    }
    }
    wilko

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    yipp!

    und Danke, dass Du Dich der Sache so annimmst!

    Franko

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Ich verstehe noch nicht ganz, was du meinst!

    Möchtest du in einer Tabelle, in der Linken Spalte alle Größen und in der Rechten Spalte alle Farben?


    wilko[/code]

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    He Wilko,

    rockt wie Hölle. Ich hab nur noch ein Ausleseproblem!

    Ich will sozusagen automatisch Checkboxen daraus generieren.

    Folgender Code bis nun:

    Code:
    echo '
    							</table>
    							<table border="1" cellpadding="0" cellspacing="0">
    							<tr>
    						
    ';
    
    foreach ($v["Grösse"] as $value) {
    							if ($value<>""){
    	    
                        echo'
    							    <td class="tablebody" align="right">
    							    <input name="" type="checkbox" title= value="">'.$value.'
    							    </td>
    							    </tr>
    	    ';
                   }
    }
    Da legt er mir auch eine Tab an in dem er 1 Spalte mit 2 Zeilen erstellt.
    Nun will ich aber in einer zweiten Spalte daneben die jeweiligen Farben - erscheinen lassen (die Länge des Farben-Arrays ist länger als die des Grössen-Arrays --> also muss er auch eine Prüfung mit if $value="" einbauen).

    Wo bind ich jetzt dieses Grössen-Array ein.

    Tschuldigung is ein simples Verständnisproblem...

    Franko
    [/code]

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Wenn du das so machst, müsste es aber gehen!

    Code:
    foreach($data as $k=>$v) {      
          $tmp = explode("|", $v);
          $waren[$tmp[0]]["Name"] = $tmp[1];
          $waren[$tmp[0]]["Beschreibung"] = $tmp[2];
          $waren[$tmp[0]]["Bild"] = $tmp[3];
          $waren[$tmp[0]]["Preis"] = $tmp[4];
          $waren[$tmp[0]]["groesse"] = explode(";", $tmp[5]);
          $waren[$tmp[0]]["Farbe"] = explode(";", $tmp[6]);
    }

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    he wilko,

    ja aber dann speicherts doch nur (Beispiel)

    t-shirt, t-shirt.gif, ..., 10€, S;M, blau;gelb;grün

    jetzt will ich aber S;M und blau;gelb;grün als jeweils seperates Array speichern -->

    t-shirt, t-shirt.gif, ..., 10€, array (s,m), array (blau,gelb,grün)

    Da hab ich sozusagen gedacht:

    Code:
    	foreach($data as $k=>$v) {		
    		$tmp = explode("|", $v);
    		$waren[$tmp[0]]["Name"] = $tmp[1];
    		$waren[$tmp[0]]["Beschreibung"] = $tmp[2];
    		$waren[$tmp[0]]["Bild"] = $tmp[3];
    		$waren[$tmp[0]]["Preis"] = $tmp[4];
    		$waren[$tmp[0]]["Grösse"] = $tmp[5];
    		$waren[$tmp[0]]["Farbe"] = $tmp[6];
    		$g_array = explode(";", $tmp[5]);
    		$f_array = explode(";", $tmp[6]);
    }
    aber dat funzt ni!

    Frank

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Nehmen wir an, du machst das so:

    Code:
    Name|Beschreibung|Bild|Preis|größe|farbe
    Dann kannst du das so machen:

    Code:
    foreach($data as $k=>$v) {   
          $tmp = explode("|", $v);
          $waren[$tmp[0]]["Name"] = $tmp[1];
          $waren[$tmp[0]]["Beschreibung"] = $tmp[2];
          $waren[$tmp[0]]["Bild"] = $tmp[3];
          $waren[$tmp[0]]["Preis"] = $tmp[4];
           $waren[$tmp[0]]["groesse"] = $tmp[5];
          $waren[$tmp[0]]["farbe"] = $tmp[6];
          }

    Einen Kommentar schreiben:

Lädt...
X