Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Можно ли с Excel таблицы слить данные в MySQL? Как это сделать? 
:(
    Опции темы
ARTi13
Дата 8.4.2008, 01:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 6.1.2008
Где: г. Хабаровск

Репутация: нет
Всего: нет



Доброго всем времени суток!

Кто нибудь пробовал  с Excel таблицы слить данные в MySQL, возможно ли такое осуществить?





PM MAIL   Вверх
n0ns3ns3
Дата 8.4.2008, 07:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 6.12.2004

Репутация: нет
Всего: нет



сохранить лист как *.CSV а потом fgetcsv (: 
PM MAIL   Вверх
mishaSL
Дата 8.4.2008, 10:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1046
Регистрация: 10.1.2007
Где: Санкт-Петербург

Репутация: 7
Всего: 54





--------------------
Лучший способ научиться программированию - это посмотреть как это делают другие...
PM MAIL   Вверх
bars80080
Дата 8.4.2008, 10:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 9
Всего: 315



судя по тому что пишут на форумах .xls распарсить весьма и весьма проблематично из-за используемых майкрософтом стандартов

единственный вариант - научить пользователей сохранять в формате csv (в этом случае таблица превращается в обычный текстовый файл), но это конечно уже другая тема
PM MAIL WWW   Вверх
ARTi13
Дата 10.4.2008, 09:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 6.1.2008
Где: г. Хабаровск

Репутация: нет
Всего: нет



Попробовал то, что предложил n0ns3ns3, перешёл на ссылку и не обнаружил там не одного примера, где показывается заполнения данных в MySQL с Excel.
Так же попробовал SQL скрипт предложенный mishaSL, не получается его осуществить он точно правильный?

Почему возник ввопрос да потому, что когда набираешь команды 
Код

OPTIONALLY ENCLOSED BY '\"' 
 ESCAPED BY '\\\'


то клиент MySQL выдаёт надпись что не знает таких команд т.е. Unknown command '\\'.
and Unknown command '\''.
Код написан верно?
Код

LOAD DATA LOW_PRIORITY LOCAL INFILE '/export.csv'
        REPLACE
        INTO TABLE `table_name`
        FIELDS
            TERMINATED BY '|'
            OPTIONALLY ENCLOSED BY '\"'
            ESCAPED BY '\\\'
        LINES TERMINATED BY '\\r\\n'
        (`pole1`, `pole2)";

Помогите разобраться, что не так, пожалуйста!   
PM MAIL   Вверх
mishaSL
Дата 10.4.2008, 12:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1046
Регистрация: 10.1.2007
Где: Санкт-Петербург

Репутация: 7
Всего: 54



Цитата(ARTi13 @  10.4.2008,  09:15 Найти цитируемый пост)
Код написан верно?

Дак запустите этот код, если возникают ошибки, то выложите сюда их текст.


--------------------
Лучший способ научиться программированию - это посмотреть как это делают другие...
PM MAIL   Вверх
n0ns3ns3
Дата 23.4.2008, 06:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 6.12.2004

Репутация: нет
Всего: нет



как это нет примера.. эмм

Код

<?php
$row = 1;
$handle = fopen("test.csv", "r"); //открываем
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) { //читаем и заносим элементы строк csv файла в массив $data
    $num = count($data); //общее число строк в файле
    $row++;
    for ($c=0; $c < $num; $c++) { 
        echo $data[$c] . "<br />\n"; //тут мы просто выводим содержимое массива $data, но можно также делать INSERT данных (элементы массива $data[]) в таблицу MySQL, как это делается, думаю, объяснять не стоит
    }
}
fclose($handle); //закрываем
?>

PM MAIL   Вверх
bars80080
Дата 23.4.2008, 08:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 9
Всего: 315



to n0ns3ns3, а без перевода в csv есть? (файлы .xls)
PM MAIL WWW   Вверх
Glip
Дата 23.4.2008, 10:10 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 473
Регистрация: 30.12.2006

Репутация: 1
Всего: 18





--------------------
user posted image
PM MAIL   Вверх
ARTi13
Дата 24.4.2008, 07:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 6.1.2008
Где: г. Хабаровск

Репутация: нет
Всего: нет



MishaSL не могу избавится от возникающей ошибки.
Цитата

Дак запустите этот код, если возникают ошибки, то выложите сюда их текст. 

Где ошибка ниже мною написанный код? Подскажите

Код

mysql> use directory;
Database changed
mysql> show tables;
+---------------------+
| Tables_in_directory |
+---------------------+
| export              |
| sdirectory          |
+---------------------+
2 rows in set (0.02 sec)

mysql> select * from export;
Empty set (0.01 sec)

  mysql> LOAD DATA LOW_PRIORITY LOCAL INFILE '/export.csv'
    -> REPLACE
    -> INTO TABLE `export`
    -> FIELDS
    -> TEMINATED BY '|'
    -> OPTIONALLY ENCLOSED BY '\"'
    -> ESCAPED BY '\\\'
    '> LINES TERMINATED BY '\\r\\n'
ERROR:
Unknown command '\\'.
ERROR:
Unknown command '\\'.
    '>


Спасибо n0ns3ns3  выложенный  Тобой  код работает, я его сразу не увидел в той ссылке,  может от невнимательности, а может и от недостаточного подробного комментария поясняющего его работу или времени потраченное на ссылку.  Сама ссылка очень познавательная. 
Но у меня мало опыта в программировании в php и в базах данных тоже, сейчас наверстываю упущенный пробел в знаниях, т.к. необходимо решить задачу в создании телефонного справочника. Получается пока медленно, но иду как мне кажется в правильном направлении smile   
Цитата

for ($c=0; $c < $num; $c++) { 
        echo $data[$c] . "<br />\n"; //тут мы просто выводим содержимое массива $data, но можно также делать INSERT данных (элементы массива $data[]) в таблицу MySQL, как это делается, думаю, объяснять не стоит
    }

Не могли ли вы n0ns3ns3 предоставить мне пример, ссылку,  как  делать INSERT данных (элементы массива $data[]) в таблицу MySQL.
Заранее спасибо!

Это сообщение отредактировал(а) ARTi13 - 18.5.2008, 07:08
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Базы Данных | Следующая тема »


 




[ Время генерации скрипта: 0.0676 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.