SOS - Script για εισαγωγή εγγραφών σε MySQL

Συζητήσεις για την βάση δεδομένων MySQL και το phpMyAdmin

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
deadbpz
Δημοσιεύσεις: 29
Εγγραφή: 18 Μάιος 2005 17:15

SOS - Script για εισαγωγή εγγραφών σε MySQL

Δημοσίευση από deadbpz » 06 Ιούλ 2005 10:51

Γεια σας.
Θα ήθελα και πάλι την βοήθεια σας
Από ένα πρόγραμμα γίνεται εξαγωγή των στοιχείων σε txt αρχειο στην παρακάτω μορφή:

"Α.Α.";"ΕΠΩΝΥΜΙΑ";"ΠΟΛΗ";"Τ.Κ.";"ΤΗΛΕΦΩΝΟ";"FAX"
"1";"ΚΑΡΑΜΑΝΤΑΝΗΣ";"";"ΑΡΓΟΣ";"23007";"223366";"";"ΕΡΓΑΣΤΗΡΙΟ ΞΥΛΕΙΑΣ"
"2";"ΚΑΡΑΓΙΑΝΝΗΣ";"";"ΚΑΡΔΙΤΣΑ";"56100";"273767";"";"ΕΡΓΑΣΤΗΡΙΟ Η/Υ"

Μπορεί κάποιος να με βοηθήσει λέγοντας μου πως μπορώ να φτιάξω ένα script ώστε να μπορέσω να κάνω Insert τα στοιχεία με Α.Α 1 και 2 σε ένα πίνακα με τα πεδία "Α.Α.";"ΕΠΩΝΥΜΙΑ";"ΠΟΛΗ";"Τ.Κ.";"ΤΗΛΕΦΩΝΟ";"FAX"

Θα ήθελα ένα script γιατί υπάρχουν γύρω στις 15.000 εγγραφές και όπως καταλαβαίνετε είναι λίγο δύσκολο να τις περάσω μία μια.

Σας ευχαριστώ πολύ
Φιλικά,
Ειρήνη

Άβαταρ μέλους
shadow
Script Master
Δημοσιεύσεις: 606
Εγγραφή: 14 Απρ 2005 18:30

SOS - Script για εισαγωγή εγγραφών σε MySQL

Δημοσίευση από shadow » 06 Ιούλ 2005 13:55

Απο οτι κατάλαβα, θες από το αρχείο να κρατήσεις τις εγγραφές που έχουν Α.Α=1 και Α.Α=2
Κατι απλό που μπορείς να κάνεις με php, ειναι το εξής:

Κώδικας: Επιλογή όλων

$fp=fopen('file.txt' , 'r'); //ανοιγμα του αρχειου
while($line = fgets($fp)){ //διαβασμα 1-1 γραμμες
	$tmp = explode(";" , $line); //διαχωρισμος των πεδιων
	if($tmp[0]=='"1"' || $tmp[0]=='"0"')
		mysql_query($db_name , "INSERT into table (aa ,eponimia , poli, zip,phone , fax) values ($tmp[0] , $tmp[1] , $tmp[2], $tmp[3], $tmp[4],$tmp[5])", $connection); //εισαγωγη στη βαση
}
fclose($fp);
Close your eyes
For your eyes will only tell the truth and the truth isnt what you want to see
In the dark, is it easy to pretend that the truth is it ought to be.
Programmers are programmers because they like to code

Άβαταρ μέλους
xultimatex
Honorary Member
Δημοσιεύσεις: 2505
Εγγραφή: 26 Ιούλ 2003 13:02
Τοποθεσία: Ξάνθη
Επικοινωνία:

SOS - Script για εισαγωγή εγγραφών σε MySQL

Δημοσίευση από xultimatex » 06 Ιούλ 2005 16:35

Πριν το query ας χρησιμοποιήσει και την addslashes() και όταν κάνει εξαγωγή την stripslashes(). Αλλιώς ίσως υπάρξει πρόβλημα...
:arrow: Αν προσπαθείς πολύ για να πετύχεις κάτι, ίσως το κάνεις με λάθος τρόπο...

Άβαταρ μέλους
shadow
Script Master
Δημοσιεύσεις: 606
Εγγραφή: 14 Απρ 2005 18:30

SOS - Script για εισαγωγή εγγραφών σε MySQL

Δημοσίευση από shadow » 06 Ιούλ 2005 16:51

xultimatex έγραψε:Πριν το query ας χρησιμοποιήσει και την addslashes() και όταν κάνει εξαγωγή την stripslashes(). Αλλιώς ίσως υπάρξει πρόβλημα...
swstos
Close your eyes
For your eyes will only tell the truth and the truth isnt what you want to see
In the dark, is it easy to pretend that the truth is it ought to be.
Programmers are programmers because they like to code

deadbpz
Δημοσιεύσεις: 29
Εγγραφή: 18 Μάιος 2005 17:15

SOS - Script για εισαγωγή εγγραφών σε MySQL

Δημοσίευση από deadbpz » 07 Ιούλ 2005 10:00

Μάλλον δεν το είπα καλά.
Τα ΑΑ1 και ΑΑ2 είναι παράδειγμα.
Βασικά θέλω να βάλω γύρω στις 15000 εγγραφές

Άβαταρ μέλους
shadow
Script Master
Δημοσιεύσεις: 606
Εγγραφή: 14 Απρ 2005 18:30

SOS - Script για εισαγωγή εγγραφών σε MySQL

Δημοσίευση από shadow » 07 Ιούλ 2005 10:46

Τοτε απο το while loop βγαλε τη συνθήκη if ωστε κάθε γραμμή που διαβάζεται από το αρχείο να γίνεται και insert στη βάση.

Κώδικας: Επιλογή όλων

$fp=fopen('file.txt' , 'r'); //ανοιγμα του αρχειου
while($line = fgets($fp)){ //διαβασμα 1-1 γραμμες
   $tmp = explode(";" , $line); //διαχωρισμος των πεδιων
   mysql_query($db_name , "INSERT into table (aa ,eponimia , poli, zip,phone , fax) values ($tmp[0] , $tmp[1] , $tmp[2], $tmp[3], $tmp[4],$tmp[5])", $connection); //εισαγωγη στη βαση
}
fclose($fp); 
Close your eyes
For your eyes will only tell the truth and the truth isnt what you want to see
In the dark, is it easy to pretend that the truth is it ought to be.
Programmers are programmers because they like to code

Άβαταρ μέλους
Rapid-eraser
WebDev Moderator
Δημοσιεύσεις: 6851
Εγγραφή: 05 Απρ 2003 17:50
Τοποθεσία: Πειραιάς
Επικοινωνία:

SOS - Script για εισαγωγή εγγραφών σε MySQL

Δημοσίευση από Rapid-eraser » 08 Ιούλ 2005 02:04

iparxei tropos va to kaveis meso tou command line tis mysql. n mysql exei to katalilo ergalio gia afti tnv douleia mysqlimport.
sbise tnv proti grami pou periexei ta sxediastika parts
kai ftiakse eva pinaka pou va avtistixei sto dump pou exeis.

Stnv sivexeia apo command line kaveis to eksis

cmd> mysqlimport --lines-terminated-by="\r\n" --fields-terminated-by-string=";" --fields-enclosed-by="\"" dbname pinakas.txt
Cu, Rapid-eraser, Tα αγαθά copies κτώνται.
Love is like oxygen, You get too much you get too high
Not enough and you're gonna die, Love gets you high

Άβαταρ μέλους
mrpc
WebDev Moderator
Δημοσιεύσεις: 3393
Εγγραφή: 03 Μάιος 2000 03:00
Τοποθεσία: Εξάρχεια
Επικοινωνία:

SOS - Script για εισαγωγή εγγραφών σε MySQL

Δημοσίευση από mrpc » 08 Ιούλ 2005 02:15

Rapid είσαι κορυφή!

Απάντηση

Επιστροφή στο “MySQL”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 1 επισκέπτης