Показать сообщение отдельно
Старый 12.01.2011, 03:27 Вверх   #3
Fedoraвод
 
Аватар для Злой
Злой вне форума
Доп. информация
По умолчанию

предположим что файл называется file.txt
тогда пишем такой скрипт на php

PHP код:
<?
$link 
= mysql_connect(DBHOST, DBUSER, DBPASS) or die ("Не могу подключиться !");  // подключаемся к базе MySQL 
mysql_select_db(DBNAME, $link) or die ('Не могу выбрать БД'); // выбираем нужную нам базу
mysql_query("SET NAMES 'UTF8'"); // указываем кодировку для обмена с данными с базой
// внимание - все что выделено большими буквами нужно заменить на то что нужно. Тоесть для каждого случая эти значения будут разными

$keys = fopen('file.txt', 'r'); // открываем наш файлик, обязательное условие - он должен лежать в одной папке с этим скриптом
$1=0; // объявляем счетчик, будем его писать в первую колонку в таблице
foreach ($keys as $stroka) { //запускаем цикл в котором будем обрабатывать каждую считанную строку
$i++; //увеличиваем счетчик на 1
$str = explode("|", $stroka); // разбиваем каждую строку на две, используя в качестве сепаратора знак |,  а его самого выкидываем
$result = mysql_query("INSERT INTO voc2_quiz VALUES ($i,$str[0],$str[1],date(Y-m-d H:m:s))"); // пишем строку в базу
}

mysql_close($link);  // закрываем соединение с базой
?>
перед его запуском нудно создать в базе данных таблицу, проще всего это сделать через phpmyadmin
достаточно просто перейти на страницу с вводом команд и закопипастить туда
Код:
DROP TABLE IF EXISTS `voc2_quiz`;
CREATE TABLE `voc2_quiz` (
`id` int(11) unsigned NOT NULL auto_increment,
`question` text NOT NULL,
`answer` varchar(255) NOT NULL default '',
`last_use` datetime NOT NULL default '0000-00-00 00:00:00',
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=2 /*!40101 DEFAULT CHARSET=latin1 */;
Думаю не стоит объяснять что для запуска php скриптов нужен сервер...
Упустил момент, счетчик можно не использовать в цикле, так как у первой записи в базе данных флаг авто инкремент, можно при записи в базу убрать счетчик, оставив пустое место, все будет работать корректно

Последний раз редактировалось Злой; 12.01.2011 в 16:31..
  Ответить с цитированием
Cказали cпасибо:
 
Время генерации страницы 6.60881 секунды с 9 запросами