Neuigkeiten:

still alive...

Hauptmenü

Hilfe PHP Array einlesen in MySQL

Begonnen von adriano, 28. Juni 2007, 15:53:45

Vorheriges Thema - Nächstes Thema

adriano

Hallo zusammen,
ich habe ein sehr großes Array mit über 1000 Elementen und ich möchte diese Elemente nun in eine MySQL Datenbank ablegen.
Array sieht folgendermaßen aus:

$array = array (
      0 => array(
      \"1\" => \"Test\",
      \"2\" => \"20%\",
      \"3\" => \"3000\"
      .................................      
                                            )
);
 

 
Zur Info: In dem Array ist eine HTML Tabelle abgelegt und ca. 200 Elementen sind in eine Zeile in der Tabelle.
Ich möchte gerne das Array so auslesen, dass diese richtig in der Datenbank abgelegt werden.
Hoffe dass mir jemand helfen kann bzw. mir Tipps geben kann wie man so etwas sinnvoll löst.
Vielen Dank im Voraus.
Gruß
Nano

k00ni

Sinnvoll lösen? Na an sich bin ich grad am überlegen, ob sowas überhaupt sinnvoll ist, in der Datenbank abzulegen, aber ok. Scheint so, als parst du ein bestehendes (x)HTML-Dokument, oder? Wenn ja, dann beschäftige dich mal mit XPath und XSL glaub ich, kann aber auch so ähnlich heißen.
Das mit dem direkten Einlesen von HTML-Dokumenten hatten wir hier schon einmal und es wurde immer geraten, nicht direkt mit PHP diese zu parsen und dann einzulesen.
Was machst du eigentlich dann mit den eingelesenen Daten? Werden die dann einfach wieder als reines HTML ausgegeben?
 
Grüße

So lange Du ein echtes Array mit Werten hast, kannst Du daraus auch bequem SQL erzeugen. Das geht mit den absoluten Grundlagen von PHP.

adriano

Hi,
danke für deine Antwort.
Also das Array beninhaltet eine HTML Tabelle, d.h. ich habe eine HTML Tabelle geparst und die Werte in ein Array abgespeichert.
Jedes Element entspricht einem Wert in der Tabelle und eine Tabellenzeile entspricht im Array 267 Element.
Eine Tabllenzeile ist wie folgt im Array abgelegt:
Es fängt an mit einer Datumsangabe also z.B. \"März 2007\" und dann kommen nur Zahlenwerte z.B. 1000, 20 %, 0,012 usw.
Beispiel:
PHP-Code:
Array (
              1 => \"März 2007\",
              2 => \"1000\",
              3 => \"20%\",
              ......
              268 => \"Februar 2007\",
              269 => \"4000\",
              270 => \"15%\",
              ......
               usw.
         )  
Ich möchte nun immer so eine Zeile aus dem Array ausschneiden und die Werte in den richtigen Datentyp parsen und diese in der Datenbank abspeichern.
Hoffe ich habe es dir einwenig verständlicher erklären können, was ich meine??
Vielen Dank für deine Hilfe.
Gruß
Nano

raiser

wilst du das array speichern, oder werte aus dem array in einzelne spalten der tabelle.
zu ersterem:
http://php.net/serialize\" rel=\"external nofollow\">serialize()
zu zweitem:
durch was wird ein neuer datensatz gekennzeichnet? immer wenn ein datum follgt, ist es ein neuer datensatz?
http://php.net/foreach\" rel=\"external nofollow\">foreach()

oder anders zu http://php.net/ereg\" rel=\"external nofollow\">ereg() , wenn du weist, nach wieviel indizes ein neuer datensatz beginnnt, kannst da ja auch eine zählvar verwenden;
if($i==0 || $i==\'wert für nächsten datensatz\'). als beispiel habe ich jetz mal datum + 2 weitere werte wie in deinem beispiel aufgezeigt.
so, nun musste halt nur noch dein sql-statement schreiben und fertig!
gruß raiser

Wissen ist das einzige Gut, dass sich vermehrt, wenn man es teilt! (Marie von Ebner-Eschenbach)




Irren ist menschlich!




Wer andern eine Grube gräbt,


sollte darüber nachdenken,


ob sie tief genug ist!!!!




Kameradschaft ist, wenn der


Kamerad schafft !!!!


all your base are belong to us / Discord