|
|
|
|
|
для: ols
(21.10.2008 в 12:33)
| | о все, рабит!!!Поставил разделитель ; и все прекрасно импортировалось)))))))))
Trianon , Вы мой спаситель))))))))) | |
|
|
|
|
|
|
|
для: Trianon
(21.10.2008 в 12:19)
| | >Чего я не понял так это вот: У Вас файл из одного столбца прикреплен.
>Вам нужно все столбики в таблицу БД укладывать, или только первый?
Да, правильно, только первый, тоесть который заполнен и его нужно обязательно в поле area (tinytext) | |
|
|
|
|
|
|
|
для: ols
(21.10.2008 в 12:02)
| | >Спасибо что помогли шире глаза раскрыть, но только не могу понять убрал я в скрипте разделитель, это же параметр необязательный?
Необязательный он лишь тогда, когда соответствует разделителю по умолчанию, коим в англоязычных странах является запятая.
У Вас наверняка стандартные росийские насторойки экселя, где этот разделитель - точка с запятой.
Вот его-то и нужно указывать обязательно, т.к. с умалчиваемым он не совпадает.
Чего я не понял так это вот: У Вас файл из одного столбца прикреплен.
Вам нужно все столбики в таблицу БД укладывать, или только первый? | |
|
|
|
|
 5.5 Кб |
|
|
для: Trianon
(21.10.2008 в 11:27)
| | Спасибо что помогли шире глаза раскрыть, но только не могу понять убрал я в скрипте разделитель, это же параметр необязательный? Только вот все равно та же ерунда получается.
Если Вам несложно, пожалуйста посмотрите или протестируйте у себя, очень Вас прошу!
Файл federal.csv прикрепил во вложении | |
|
|
|
|
|
|
|
для: ols
(21.10.2008 в 10:50)
| | ну с запятой, удивляться не приходится. Она у Вас служит разделителем полей, судя. по вызову fgetcsv()
А точка, по идее , резать ничего не должна. | |
|
|
|
|
|
|
|
для: ols
(21.10.2008 в 10:31)
| | Иесли есть запятая тоже вырезается.....почему так? | |
|
|
|
|
|
|
| Вот скрипт
<?php
//Вспомогательный скрипт, импортирующий БД из csv в MySQL
include "config.php";
$row = 1;
$handle = fopen("federal.csv", "r");
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
$num = count($data);
$row++;
for ($c=0; $c < $num; $c++) {
$sql = "INSERT INTO budget VALUES (null,'federal','$data[$c]')";
if(mysql_query($sql))
{
echo "Данные импортированы";
}
else echo mysql_error();
echo "</br>".$sql;
}
}
fclose($handle);
?>
|
Скрипт импортирует в базу данных файл csv, но почему то если есть строка, содержащая точку он все посе этой точки вырезает, например строку
Ветераны ГОС-непосред.участники подземн.испытаний
|
вырежет так
Почему так? Тип данных поля tynytext
вот структура
`id_area` int(11) NOT NULL auto_increment,
`name_budget` enum('federal','obl','gor') NOT NULL default 'federal',
`area` tinytext NOT NULL,
PRIMARY KEY (`id_area`)
|
| |
|
|
|
|