Задавайте вопросы, мы ответим
Вы не зашли.
Всем добрый день. Очень нужна помощь.
У меня есть текстовый файл (file.ТХТ к примеру), в котором более 2000 записей. Это просто список имен, записанных в столбик. А так же есть база данных со столбцами "pole1" "pole2" "pole3" (к примеру). Требуется создать разовый скрипт, который скушает разом все 2000 записей и распределит определенным образом.
В "pole1" он должен вносить имена из списка, в "pole2" нужно вносить число 5, а в "pole3" фразу "polzovatel".
На что хотел бы обратить внимание:
1) Скрипт разовый и в случае повторного использования меняться не будет
2) Всю жизнь работал с АкшонСкрипт (флеш), но не с mySql и php. Поэтому в них я нуб нубом.
3) Нужно закончить до завтра (2 сентября). Работу поручил препод, и как следствие облажатся вообще нельзя. Очень прошу помочь.
Неактивен
Что именно Вам непонятно?, в чем КОНКРЕТНО нужна помощь? Вы не понимаете алгоритм или?...
Неактивен
Как сказано из названия раздела, он для начинающих. Я из их серии. Искал в интернете, на форумах, сайтах. Информации много, толку ноль. Тем более для человека, который впервые столкнулся с подобной задачей. Я бы хотел чтобы мне поэтапно объяснили что нужно сделать.
Неактивен
Я так понял, на php надо скрипт сделать?
подключаетесь к базе данных, если подключение непрошло, то ругань и остановка скрипта.
Неактивен
<?php
$host = "localhost";
$user = "root";
$password = "";
$db = "yourdb";
$linl = mysql_connect($host, $user, $password) or die("Не могу подключиться к серверу БД");
$selectDB = mysql_select_db($db) or die("Не могу выбрать указанную БД");
mysql_query("SET NAMES 'utf8'");
$file = file("yourfile.txt", FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
foreach($file as $key=>$line)
{
if($key%100 == 0)
sleep(5);
mysql_query("INSERT INTO `yourtable` (`pole1`, `pole2`, `pole3`) VALUES ('".$line."', 5, 'polzovatel')");
}
?>
Тоесть типа такого что то?
Неактивен
Похоже на то. Единственно, что зачем sleep(5)? Ну и хорошо бы проверять на ошибку результат mysql_query и $line оборачивать в mysql_real_escape_string
Неактивен
if($key%100 == 0)
sleep(5);
Это типа предохранителя. Он конечно и без паузы запишет все 2к, но мало ли.
Это я все подчерпнул, шарясь по интернетам. И это моя первая работа. Я смутно представляю даже как и куда все это засовывать. Впрочем ща в денвера кину и усе.
Отредактированно oplot (03.09.2012 22:14:45)
Неактивен
Первый вопрос, который Вам задаст преподаватель - насчет этого предохранителя - уберите его . Создаёте php-скрипт и пытаетесь через Denwer его запустить. Если что-то не получится, то на экран должны быть выданы ошибки.
Неактивен
Ну вроде получилось. Правда на новой таблице. В смысле новую создал. Но мне нужно данные внести в старую таблицу. Там есть уже имена. И печаль в том, что таблицы этой у меня на руках нет. А облажаться нельзя(. Вот и сижу, мучаюсь.
Насчет проверки ошибки... Опять же, таблицы нет, кодировку незнаю. Писал под юникод.
Отредактированно oplot (03.09.2012 22:32:14)
Неактивен