залить из txt список каналов в бд

Регистрация
14 Апр 2013
Сообщения
29
Реакции
10
Доброго времени суток . Подскажите кто знает - столкнулся с траблом необходимо из txt с тв программо залить все в бд. в бд есть ячейки time conten day - что соответсвует записям в txt времени когда идет тот или иной фильм, его названию и к какому дню недели он относится. Подскажите как это сделать? (перепробовал все что знал и нашел на форумах - не работает (()
запись в txt такого формата
Код:
Первый Автомобильный.

Понедельник, 14 октября
1.00 Blancpain Endurance Series 2013 г. ( Spa )
1.30 Автопатруль
1.55 Автоподиумы
2.00 4х4
2.30 Эврика!
3.00 Эврика!
3.30 Двойной тест
...

Вторник, 15 октября
0.00 Спецпроект Франкфуртский автосалон 2013 г.
1.00 Ни пуха ни пера
1.30 Авто по требованию
1.55 АвтоНовости
...
 
Я бы искал Для просмотра ссылки Войди или Зарегистрируйся, и разбивал бы все в массив. потом forech'ем разбивал каждую строку на подстроку найдя первый пробел в строке, то есть сразу после времени.
Итого, получился бы массив с временем и программами.
Опять же, я так понимаю, после названия канала есть точка, а после даты её нету.
То есть если было сразу два переноса строки - а следующая с точкой - это будет следующий канал.
А если без точки - то это будет следующий день.

Ну, а потом запрос INSERT INTO.
 
непонятно в каком формате хранить день и время, и нет года.
Я бы вынес время в одно поле, типа datetime, ну а про парсинг уже сказал Для просмотра ссылки Войди или Зарегистрируйся
PHP:
<?php
$file = file("file.txt");

foreach($file as $row){
    // В переменной $row содержится строка, проверяешь её на соответствие неким условиям и делаешь что-либо
}
 
PHP:
<?php
$file = fopen('tv.txt',"r");
$tv = array();
while($row = fgets($file)){
  if(preg_match("/^[а-яА-Я]/",$row)){
    $curr_day = split(',',$row);
    $curr_day = $curr_day[0];
  }elseif(preg_match("/^[0-9]/",$row)){
    $tv[$curr_day][substr($row,0,strpos($row,' '))] = substr($row,strpos($row,' '));
  }  
}
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Ошибка соединения: ' . mysql_error());
}
mysql_select_db('mydb');
foreach($tv as $day=>$prog){
   foreach($prog as $time=>$title)
   mysql_query("INSER INTO `table` (day,time,title) VALUES ('$day','$time','$title')");
}
?>
 
Назад
Сверху