mahmod2000
سه شنبه 31 مرداد 1391, 23:34 عصر
سلام..
من یک دیتابیس به صورت text دارم که مثلا به این صورته :
a :: حرف اول الفباى انگلیسی ,حرف اضافه مثبت
به این صورته
چجور میتونم تبدیل کنم به sql که توی mysql بتونم ایمپورت کنم
ممنون میشم کمک کنید
siedmohsen
چهارشنبه 01 شهریور 1391, 23:31 عصر
سلام
اگه تو php کد میزنی و داده هات هم مثل زیر هست!
باید اول یه جدولی که دادهات رو میخوای اون تو بریزی بسازی!
AR8010BLK | AR8010BLK | RECESSED RAIL KIT FOR 600MM WIDE 19 BLACK | 128,75 | 110,21 | 2 | APC | 030000 | | CR3 | Cap.Rack 19 inch | 43172605 | 10
AR8105BLK | AR8105BLK | APC NETSHELTER MONITOR SHELF | 57,5 | 49,22 | 3 | APC | 030000 | | CR3 | Cap.Rack 19 inch | 24102001 | 15
AR8122BLK | AR8122BLK | APC NETSHELTER HEAVY DUTY SHELF BLACK | 97,5 | 83,46 | 1 | APC | 030000 | | CR3 | Cap.Rack 19 inch | 24102001 | 9]
مرحله اول )باید اول اون فایل رو باز کنی
$file = "/path/to/text/file.txt";
$fp = fopen($file, "r");
$data = fread($fp, filesize($file));
fclose($fp);
مرحله دوم)
باید اون فضاهای اضافه که وجود داه رو حذف کنی.( فرضا اون فضای خالی Tab هست)
$output = str_replace("\t|\t", "|", $data);
مرحله بعدی این هست که اون New line ها رو حذف کنی.
$output = explode("\n", $output);
مرحله آخر!
حالا باید یه حلقه تشکیل بدی و داده ها رو تا زمانی که | رو بببینی بخونی و سپس تو فیلدهای جدا جدا بریزی ودر باید اونها رو تو جدول درج کنی
foreach($output as $var) {
$tmp = explode("|", $var);
$artikelcode = $tmp[0];
$leverancierscode = $tmp[1];
$omschrijving = $tmp[2];
....
....
$sql = "INSERT INTO table SET artikelcode='$artikelcode', leverancierscode='$leverancierscode', .....";
mysql_query($sql);
مو فق باشی
منیع:
http://www.howtoforge.com/forums/archive/index.php/t-7925.html
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.