|
автор: voderchek (25.04.2005 в 23:10) |
|
| Доброго времени суток ...
Вопрос к чеопсу )
Купил Вашу книгу : "PHP 5 - практика создания веб-сайтов" , и увидел прикольную штуку . Вообщем там у вас есть ипорт прайс-листа в базу MySQL , в файле все описанно , но не так что-бы уж подробно :( В книге смортю , а там пишется , подробное описание в главе №7. ТАкого я почему-то не нашел ...
А шеф у меня на работе строгий (( Надо импортировать базу данных в Mysql... Много сайтов перерыл , ничего путёвого не нашел :(
Так вот просьба .....
Допустим у меня в прайсе идёт около 5-ти полей , нужно их импортировать средствами php в таблицу : table_info (к примеру) в которой тоже 5 полей + 6-е id...
При это возможно ли сделать добавления id каждой записи при импорте?
Жду Вашей помощи )))
Заранее блогодарен !
Книга - СУПЕР .... Уже многому научился ))) | |
|
|
|
|
|
|
|
для: voderchek
(25.04.2005 в 23:10)
| | это просто.
<?
$data = File("file.csv");
for ($i=0;$i<count($data);$i++)
{
$data_array = explode(";", $data[$i]);
$query = "insert into table_info ( id , name1, name2, name3, name4, name5 ) values ( '', '".$data_array[1]."', '".$data_array[2]."' , '".$data_array[3]."', '".$data_array[4]."', '".$data_array[5]."')";
mysql_query( $query);
}
?>
|
| |
|
|
|
|
автор: voderchek (25.04.2005 в 23:52) |
|
|
для: Crux
(25.04.2005 в 23:36)
| | Вот какой у меня код :
<?
include "config.php";
$data = File("imp.csv");
for ($i=0;$i<count($data);$i++)
{
$data_array = explode(";", $data[$i]);
$query = "insert into cat ('id' , 'name1', 'name2', 'name3', 'name4', 'name5') values ( '', '".$data_array[1]."', '".$data_array[2]."' , '".$data_array[3]."', '".$data_array[4]."', '".$data_array[5]."')";
$result = mysql_query( $query);
}
?>
|
Вот конфиг :
<?php
$dblocation = "localhost";
$dbname = "test";
$dbuser = "test";
$dbpasswd = "test";
$dbcnx = @mysql_connect($dblocation,$dbuser,$dbpasswd);
mysql_select_db($dbname,$dbcnx);
?>
|
Вот структура бд :
CREATE TABLE cat (
id int(11) NOT NULL auto_increment,
name1 varchar(20) default NULL,
name2 varchar(20) default NULL,
name3 varchar(20) default NULL,
name4 varchar(20) default NULL,
name5 varchar(20) default NULL,
PRIMARY KEY (id)
) TYPE=MyISAM;
|
неработает :( | |
|
|
|
|
автор: voderchek (25.04.2005 в 23:53) |
|
|
для: voderchek
(25.04.2005 в 23:52)
| | Ни ошибок ни ипорта :(
Помогите разобратся | |
|
|
|
|
|
|
|
для: voderchek
(25.04.2005 в 23:53)
| | Думается мне, уважаемый Crux все-таки был прав, проименовав названия строк id, name1, name2, name3, name4, name5 без кавычек:
<?
include "config.php";
$data = File("imp.csv");
for ($i=0;$i<count($data);$i++)
{
$data_array = explode(";", $data[$i]);
$query = "insert into cat (id , name1, name2, name3, name4, name5) values ( '', '".$data_array[1]."', '".$data_array[2]."' , '".$data_array[3]."', '".$data_array[4]."', '".$data_array[5]."')";
$result = mysql_query( $query);
}
?>
|
| |
|
|
|
|
|
|
|
для: Serge
(26.04.2005 в 01:58)
| | скачай Скрипт "Каталог продукции" (MySQL) http://www.softtime.ru/info/catalog.php, там как раз реализовано запись в БД из файла CSV.
файл admin/catalog/import_act.php | |
|
|
|
|
|
|
|
для: voderchek
(25.04.2005 в 23:52)
| | Попробуйте обработать ошибку после строки
<?php
$result = mysql_query( $query);
?>
|
т.е. написать примерно следующий код
<?php
$result = mysql_query( $query);
if(!$result) exit("Ошибка в синтаксисе - ".mysql_error());
?>
|
PS Я и на Хеопс откликаюсь :))) | |
|
|
|
|
|
|
|
для: cheops
(26.04.2005 в 13:52)
| | Надо сделать импорт в БД из файла. Пытаюсь продумать структуру файла и возможные проблемы.
Если в csv данные разделены ";" то как его правильно обработать - ведь точка с запятой может встретится и внутри текстового поля?
Можно, конечно, использовать другой разделитель. Просто, не хотелось бы изобретать велосипед.
Как делают в таких случаях? | |
|
|
|
|
|
|
|
для: Loki
(01.07.2005 в 13:45)
| | Обычно в этом случае вместо ; используют символ табуляции, вероятность появления которого в тексте мала. | |
|
|
|
|
|
|
|
для: cheops
(01.07.2005 в 20:33)
| | А как он обозначается в коде? | |
|
|
|
|
|
|
|
для: Loki
(01.07.2005 в 21:49)
| | \t | |
|
|
|
|
автор: global_query (02.07.2005 в 14:39) |
|
|
для: cheops
(02.07.2005 в 00:05)
| | Огромное спасибо всем за помощь, ребят вы мне очень помогли, не было времени зайти и отписаться тут и поблагодарить Вас. Оказывается, очень легко делать import .
(с) voderchek | |
|
|
|