in DB einfügen aus einer text datei!!

nachtmensch

Grünschnabel
hallo

also ich würde gerne aus einer text datei mehrere begriffe (durch @) getrennt) und die dazu gehöhrenen Texte per script in eine tabelle einfügen!??

Wie bekomme ich das hin??

Wäre über Hilfe sehr dankbar

hier einige auszüge aus dem code!

if($_POST['submit2']){
$res=mysql_query("select * from $mysqltable where name='$_POST[begriff]'");
if(mysql_num_rows($res)==0){
mysql_query("insert into $mysqltable (name,text) values ('$_POST[begriff]','$_POST[descr]');");
echo "<b>Begriff eingefügt.</b>";
} else {
echo "<b>Fehler! Begriff existiert bereits in der Datenbank!</b>";
}
}


das ist ein auszug beim einfügen eines begriffes und deren text!

taballen formation

CREATE TABLE lexikon (
id bigint(20) DEFAULT '0' NOT NULL auto_increment,
name varchar(255) NOT NULL,
text text NOT NULL,
PRIMARY KEY (id),
UNIQUE name (name),
UNIQUE id (id),
KEY id_2 (id)
);



>>>>>> dieses scipt ist teil eines lexikons


mfg

freue mich wenn eine rmir helfen würde!
 
Wenn du uns verrätst, wie die TXT aufgebaut ist!

Etwa so:
Code:
Begriff 1@Begriff 2@Begriff 4
Und wo sind dann die Bescreibeungen der Begriffe?

Zum trennen der einzelnen Begriffe:
Code:
$begriff_array = explode("@", implode("", file("deine.txt")));

Und: :suchen: suchen suchen

Wie oft kommt idese Frage eigentlich noch!
 
Zuletzt bearbeitet von einem Moderator:
also....

also die txt file ist folgender maßen aufgebaut


$begriff@@$text;; (also begriff und text abgegrenz durch @@)
(dieses wiederum durch ;; von anderen begriffen)

thx


mfg

nachti
 
Dann mach es so:

PHP:
$begriffe = array();
$beschreibungen = array();

$alle = explode("@@", implode("", file("deine.txt")));
for ($i=0; $i<count($alle); $i++) {
  $temp_e = explode(";;", $alle[$i]);
  $begriffe[] = $temp_e[0];
  $beschreibungen[] = $temp_e[1];
}


#...


for ($i=0; $i<count($begriffe); $i++) {
  mysql_query("INSERT INTO `$mysqltable` (`name`, `text`) VALUES ('".$begriffe[$i]."', '".$beschreibungen[$i]."')");
}


//Edit: Sorry wegen der Langen Zeile
 
also wenn ich es einfügen soll!????

moment.....

teil des script'S.......

PHP:
<?
   /* Config-Teile. Einstellungen anpassen! */
 
 $mysqlhost="localhost"; 	//Datenbankserver
 $mysqldb="xxx"; 		//Datenbank, in der die Tabelle ist
 $mysqltable="xxx"; 	//Name der Tabelle
 $mysqluser="xxx"; 		//Benutzername für die Datenbank
 $mysqlpw="xxx"; 				//Passwort für die Datenbank
 
 /* Ende Config-Teil. Ab hier nichts mehr ändern! */

 mysql_connect($mysqlhost,$mysqluser,$mysqlpw);
 mysql_select_db($mysqldb);
 [COLOR=firebrick]
$begriffe = array();
$beschreibungen = array();

$alle = explode("@@", implode("", file("deine.txt")));
for ($i=0; $i<count($alle); $i++) {
  $temp_e = explode(";;", $alle[$i]);
  $begriffe[] = $temp_e[0];
  $beschreibungen[] = $temp_e[1];
}

for ($i=0; $i<count($begriffe); $i++) {
  mysql_query("INSERT INTO `$mysqltable` (`name`, `text`) VALUES ('".$begriffe[$i]."', '".$beschreibungen[$i]."')");
}


?>
 
rießen problem

hallo

also ich hab diesen code eingefügt und erhalte als result!

nur einfügungen der begriffe,,, es wird alles als begriff erkannt und kein dazugehörener text!!


wo liegt das problem====???



bitte um hilfe
 
bitte bitte help....

hallo

also ich wollte mal wissen wie bekomme ich das hin das man anders ausliest in einer txt file!????

jetzt muss ich es so schreiben:

@@begriff 1;;text 1@@begriff 2;;text 2@@
PHP:
<?
   /* Config-Teile. Einstellungen anpassen! */
 
 $mysqlhost="localhost";     //Datenbankserver
 $mysqldb="xxx";         //Datenbank, in der die Tabelle ist
 $mysqltable="xxx";     //Name der Tabelle
 $mysqluser="xxx";         //Benutzername für die Datenbank
 $mysqlpw="xxx";                 //Passwort für die Datenbank
 
 /* Ende Config-Teil. Ab hier nichts mehr ändern! */

 mysql_connect($mysqlhost,$mysqluser,$mysqlpw);
 mysql_select_db($mysqldb);
 [COLOR=firebrick]
$begriffe = array();
$beschreibungen = array();

$alle = explode("@@", implode("", file("deine.txt")));
for ($i=0; $i<count($alle); $i++) {
  $temp_e = explode(";;", $alle[$i]);
  $begriffe[] = $temp_e[0];
  $beschreibungen[] = $temp_e[1];
}

for ($i=0; $i<count($begriffe); $i++) {
  mysql_query("INSERT INTO `$mysqltable` (`name`, `text`) VALUES ('".$begriffe[$i]."', '".$beschreibungen[$i]."')");
}


?>

ich möchte aber gerne das die datei wiefolgt augebaut ist!!

begriff 1;;text 1
begriff 2;;text 2



also immer nach einer zeile fängt der neue begriff an!!

würde mich über antworten freuen!

mfg

nachtmensch
 
PHP:
$alle = explode("@@", implode("", file("deine.txt")));
wird zu
PHP:
$alle = explode("\n", implode("", file("deine.txt")));
 
Zurück