Помощник
|
Помогите дописать скрипт импорта csv |
scva
|
Сообщение
#1
|
||
|
|
||
|
|||
Webmaster_hb |
2.7.2009, 11:27;
Ответить: Webmaster_hb
Сообщение
#2
|
|
а подумать ?
1. прочитать файл построчно 2. разделить каждую строку на элементы (используя разделители) 3. записать каждый элемент в базу |
|
|
scva
|
Сообщение
#3
|
|
по первому пункту будет так?
readfile( "file.csv" );
|
|
|
Webmaster_hb |
2.7.2009, 12:16;
Ответить: Webmaster_hb
Сообщение
#4
|
|
для построчного чтения, можно использовать
fgets |
|
|
scva
|
Сообщение
#5
|
|
|
|
|
Webmaster_hb |
2.7.2009, 13:54;
Ответить: Webmaster_hb
Сообщение
#6
|
|
fgets считывает только одну строку
после этого вам нужно разбить строку на переменные вот так [PHP]list( $id, $title, $name, $price) = explode(",", $str);[/PHP] разделитель укажите тот что у вас в CSV файле он может быть и другим |
|
|
scva
|
Сообщение
#7
|
|
fgets считывает только одну строку после этого вам нужно разбить строку на переменные вот так [php]list( $id, $title, $name, $price) = explode(",", $str);[/php]разделитель укажите тот что у вас в CSV файле он может быть и другим то есть <form action="<?=$_SERVER['PHP_SELF']?>" method="post" enctype="multipart/form-data"> а дальше что?<input type="file" name="file" /><br /><br /> <input type="submit" name="import_file" value="Импортировать" /> </form> <? if (isset($submit)) { $str=fgets ("file.csv"); list( $id, $title, $name, $price) = explode(",", $str); } ?> прошу прощение просто я чайник в этом деле и мне просто надо разжевать каждую строчку |
|
|
Webmaster_hb |
2.7.2009, 16:03;
Ответить: Webmaster_hb
Сообщение
#8
|
|
а вы попробуйте сами решить, эти вопросы уже самые простые
уже несколько раз намекал что fgets прочитает только одну строчку а вам нужно прочитать весь файл по одной строчке [PHP]<?php $query=""; $handle = fopen("file.csv", "r"); while (!feof($handle)) { $str= fgets($handle, 4096); list( $id, $title, $name, $price) = explode(",", $str); $query .= "INSERT INTO `table` SET `id`='$id', `title`='$title', `name`='$name', `price`='$price';\n"; } fclose($handle); mysql_query($query); ?> [/PHP] p.s. вы наверно забыли еще один вопрос - это загрузка самого файла ))))) судя по форме, файл загружает пользователь, и до того как его читать, его надо загрузить на сервер |
|
|
scva
|
Сообщение
#9
|
|
|
не работает импорт, то есть мне надо обновить данные
[php] <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" /> <title>Импортер</title> </head> <body> <? if (isset($_GET['id'])) {$id = $_GET['id'];} if (isset($_POST['import'])) {$import = $_POST['import'];} if (isset($_POST['id'])) {$id = $_POST['id'];} if (isset ($import)) { $data = File("..../admin/1.csv"); for ($i=0;$i<count($data);$i++) { $data_array = explode(";", $data[$i]); unset ($data_array[0]); $query = "UPDATE table SET id='$data_array[0]', title='$data_array[1]', des='$data_array[2]', sex='$data_array[3]', korpus='$data_array[4]', color='$data_array[5]', bracelet='$data_array[6]', glass='$data_array[7]', wr='$data_array[8]', diameter='$data_array[9]', description='$data_array[10]', price='$data_array[11]', id_category='$data_array[12]', name_category='$data_array[13]', id_podcat='$data_array[14]', name_podcat='$data_array[15]', opisanie='$data_array[16]', id_brand='$data_array[17]', name_brand='$data_array[18]', aricul='$data_array[19]', dop='$data_array[20]', yamarket='$data_array[21]', spec='$data_array[22]' WHERE id='$data_array[0]'" or die("error"); $result = mysql_query( $query); echo "Успешно"; } } else { echo '<form action="importer.php" method="post" name="form"> Обновить? <input name="import" type="submit" value="да" /> </form>'; } ?> [/php]после выполнения пишет успешно, а изменений в базе нет
|
|
|
||
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
Продам скрипт rtb exchange suite - система перепродажи трафика dsp/ssp в реальном времени. | 5 | buypushplatform | 4285 | Вчера, 21:02 автор: 100ftd |
|
Помогите вспомнить рекламного бота Телеграм для обмена рекламой | 0 | Mixatraider | 728 | 21.2.2024, 23:42 автор: Mixatraider |
|
Скрипт поисковика видео StrongTube | 3 | 3josoft | 1575 | 14.8.2023, 14:45 автор: 3josoft |
|
Скрипт приема платежей p2p с карты на карту card2card Скрипт приема платежей p2p с карты на карту card2card |
15 | zladey1986 | 7840 | 26.3.2023, 8:54 автор: Palundra |
|
Продам скрипт перевода постов и комментариев | 4 | Tutich | 788 | 19.1.2023, 17:23 автор: Tutich |
Текстовая версия | Сейчас: 24.4.2024, 3:28 |