Спасибо. Подскажите кто-нибудь как импортировать csv в mysql через phpmyadmin, если имеется 2 таблицы: одна с набором данных, а другая описание структуры. Как их подружить? Например данные с сайта ФНС www.nalog.ru/opendata/7707329152-massleaders/ набор импортируется нормально, только разделитель " , " меняем на " ; ". А вот как нормально прочитать таблицу в которой структура? Или что с ней вообще делать? Я так понимаю ее как-то нужно прикрутить к набору. Спасибо.
сделал все как в видео, в браузер выводит, а в базе ничего не добавляется. Тестирую на денвере. Ошибок никаких нет на странице с выводом. Как быть, куда копать?
значит сделали что-то не так. Пример в видео полностью рабочий, в самом видео все продемонстрировано. Если в базу данные не добавляются, значит стоит проверить синтаксис команды INSERT
Доброе утро. Большое спасибо за код. Подскажите пожалуйста запрос, когда надо обновить только например col_2, col_3. При этом другие данные , что бы не затирались. Спасибо.
для этого есть запрос на обновление данных UPDATE название_таблицы SET col_2=значение, col_3=значение WHERE условие. Через запятую указываем только нужные для обновления поля с новыми значениями
Хотелось бы узнать как сделать импорт с перезаписью еже записанных данных, и добавлением новых строк, если они появились в csv ? В остальном видео полезно, но не очень функционально. Кому нужно, что бы при каждом импорте, увеличивалась таблица в два раза?
Алексей, большое спасибо за комментарий. Бывают разные случаи: кому то нужно разово сделать импорт данных, кому то нужно постоянно импортом данные обновлять. Данные урок предназначен для ознакомления с этой темой тем "кто не умеет". В остальном, полагаясь на свое творчество и отталкиваясь от данного видео, можно сделать тот функционал который нужен именно Вам.
для тех, у кого проблемы с русским языком: header('Content-type: text/html; charset=utf-8'); if(!setlocale(LC_ALL, 'ru_RU.utf8')) setlocale(LC_ALL, 'en_US.utf8'); if(setlocale(LC_ALL, 0) == 'C') die('Не поддерживается ни одна из перечисленных локалей (ru_RU.utf8, en_US.utf8)'); $handle = fopen('php://memory', 'w+'); fwrite($handle, iconv('CP1251', 'UTF-8', file_get_contents('test.csv'))); rewind($handle); while (($row = fgetcsv($handle, 1000, ';')) !== false) print_r($row); fclose($handle);
@@alafanasyevru почитал комментарии, чёт пошаманил и вроде как заработало + добавил в sql строку col_1 (unique) и теперь он не дублирует все строки заново при обновлении) Спасибо большое
Проблема в следующем: если в таблице стоит латинская буква то далее русские буквы отображаются, а если убрать латинскую и оставить русские то в таблице на выходе будет пусто. Аналогично и в БД mysql