Jedes Element Einzeln in MySQL eintragen?
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
array
aufbau
befehl
code
datei
datenbank
eintrag
eintragen
element
experte
forum
http
importieren
liste
manual
problem
schleife
tabelle
text
url
-
Hi Leute.
Arbeite mal wieder mit PHP. Stehe jetzt vor dem Problem, dass ich gerne Mehrere Elemente in eine MySQL- DB eintragen möchte. Sieht in etwa wie folgt aus:
<ul> <li><h2>title</h2>Lorem ipsum dol....</li> <li><h2>title</h2>Lorem ipsum dol....</li> <li><h2>title</h2>Lorem ipsum dol....</li> </ul>
Jedes Der li elemente soll in eine einzelne Zeile der Tabelle eingetragen werden. dabei soll der h2- tag vom resttext getrennt werden. Habe mich jetzt einige Stunden damit beschäftigt, aber leider keinen Ansatz zum lösen des Problems gefunden. Hätte jemand einen Tipp/ Tutorial welches dieses Problem lösen könnte?
Würde mich freuen
Daniel
Ps.: schönen dritten advent :-)
Ps2.: Entschuldigung aber den Text habe ich in etwas müdem zustand geschrieben
Mein Ansatz war, dass ich eine HTML- Datei habe, welche mehrere <li> - tags beeinhaltet. Diese Listenpunkte sind in reinem textformat!! Also noch in keiner Datenbank.
Diese Informationen möchte ich jetzt in eine Datenbank eintragen. Mir fehlt jetzt das wissen, wie ich pro li- Tag einen neuen Eintrag in die DB mache.
Würde vermuten das das auf das umwandeln in einen array und dem folgenden durchlaufen einer foreach- schleife hinauslaufen könnte...
Wie kann man aus einer foreach- schleife in die DB eintragen?
Gruß
Daniel
Beitrag zuletzt geändert: 14.12.2009 8:33:01 von goldeneye -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
vopvop schrieb:
Als erstes überlegst du dir eine Datenbankstruktur (Tabellen und deren Aufbau)
Dann erstellst du pro <li>-Eintrag einen passenden Insert-Befehl, in einer Schleife.
Wo ist dein Problem?
Was für einen insert-befehl kann verwenden bzw. wie kann ich für jedes li- element einenen neuen eintrag verfassen?
Die Datenbank besteht berreits. -
Na dann lass doch mal die Tabelle sehen, in die der Eintrag geschehen soll.
-
vopvop schrieb:
Na dann lass doch mal die Tabelle sehen, in die der Eintrag geschehen soll.
Die Datenbank besteht aus 5 Spalten:
id | title | text | wertung | tags
id automatisch erhöhen.
nur title und text werden aus der Liste entnommen.
die liste ist wie folgt aufgebaut:
<ul> <li><h2>title</h2>Lorem ipsum dol....</li> <li><h2>title</h2>Lorem ipsum dol....</li> <li><h2>title</h2>Lorem ipsum dol....</li> </ul>
Wie würdest du das machen? -
Id ist sicherlich ein autoinc, erhöht sich also selbst.
Die Insert-Befehle sehen also so aus
INSERT INTO TABELLE (title, text) VALUES ('Dein Titel', 'passender Text')
Womit arbeitest Du? PHP?
Vielleicht liest du die in den Tutorials vorhandenen MySQL-Tutorials dazu:
Z.B.
http://www.lima-city.de/tutorials/ein-mysql-einstieg-1-teil
Ansonsten Stichwort 'MySQL' unter PHP -
vopvop schrieb:
Id ist sicherlich ein autoinc, erhöht sich also selbst.
Die Insert-Befehle sehen also so aus
INSERT INTO TABELLE (title, text) VALUES ('Dein Titel', 'passender Text')
Womit arbeitest Du? PHP?
Vielleicht liest du die in den Tutorials vorhandenen MySQL-Tutorials dazu:
Z.B.
http://www.lima-city.de/tutorials/ein-mysql-einstieg-1-teil
Ansonsten Stichwort 'MySQL' unter PHP
Das Problem ist nicht das ich mich nicht mit Datenbanken auskenne, sondern das ich z.B. direckt von http://de.selfhtml.org/html/text/anzeige/ul.htm eine Liste importieren möchte. diese möchte ich dann in eine Datenbank speichern.
Also das pro <li>element ein neuer eintrag in der DB entsteht.
-
Erstens
lies die html-Datei als Text ein
Zweitens
Zerlege die Datei in einen Array, indem du beispielsweise an den <li> -Elementen splittest.
(http://www.php.net/manual/de/function.split.php)
Drittens
Verwende reguläre expressions, um die Teilstücke korrekt zu interpretieren
http://www.php.net/manual/de/function.ereg.php
Habe persönlich sehr lange nicht mehr mit PHP gearbeitet. Du mußt also etwas probieren bzw. die Experten im Forum fragen... -
Hallo,
am einfachsten kannst du in die DB importieren:
- Text in Editor kopieren
- mit Ersetzen-Funktion zeilenweise SQL INSERTs machen
- in mySqlAdmin über SQL die Inserts absetzen
-
vopvop schrieb:
Erstens
lies die html-Datei als Text ein
Zweitens
Zerlege die Datei in einen Array, indem du beispielsweise an den <li> -Elementen splittest.
(http://www.php.net/manual/de/function.split.php)
Drittens
Verwende reguläre expressions, um die Teilstücke korrekt zu interpretieren
http://www.php.net/manual/de/function.ereg.php
Habe persönlich sehr lange nicht mehr mit PHP gearbeitet. Du mußt also etwas probieren bzw. die Experten im Forum fragen...
habe es jetzt etwas alternativ gelöst. werde diesen Beitrag aber für follgende schritte auch gut gebrauchen können
Danke :-) -
Vielleicht hilft es noch jemand anderem, wenn du deine alternative Lösung hier postest?
-
Wieso denn immer so kompliziert ? Schreib dir nen Regex, gib ne Resultvariable an und starte nen Foreach. Fertig.
Das Regex kann ich dir auch kurz zusammenschreiben:
So.#<li><h2>(.*)</h2>(.*)</li>#ui
Damit sollte es eigtl ohne Probleme laufen.
Liebe Grüße
- VampireSilence
Beitrag zuletzt geändert: 16.12.2009 13:31:55 von vampiresilence -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage