добрый день.
имеется таблица с 4 полями (id, head, news, header) при этом
в id стоят идентификаторы (не все и не по порядку то есть 2, 324, 345 и т.д.)
в ячейке head и news тексты с разметкой html.
ячейка header - пустая.
текст в ячейке head пресдтавляет собой html конструкцию вида
Код:
<b>Заголовок</b><br>Анонс новости
задача: вычленить из ячейки head текст Заголовка и прописать его в ячейку header. Почитал, что на эту тему пишут и говорят и выдал следующее:
PHP код:
<?php
// Подключаемся
$link = mysql_connect($db, $user, $pass) ;
if(!$link ) die("Could not connect on connection part: ".mysql_error());
// Выбираем базу
$db mysql_select_db($base , $link ) or die("Could not select database: ".mysql_error());
$query = "SELECT * FROM `publication_reform`";
$result = mysql_query ( $query , $link ); //считываем всю таблицу
while ($row = mysql_fetch_row($result))
{ $text = $row[1];//присваиваем $text значение из ячейки с заголовком и анонсом
$id=$row[0];//задаем переменной значение ячейки id из обрабатываемой строки.
echo "$id<br>";//это для проверки просто, что переменная определилась.
preg_match_all ("#<b>(.*)</b>#", $text, $regs);//ищем соответствие на все что между тегами <B>
$out = $regs[1][0];//вынимаем из массива только текст без <B>. присваиваем это значение новой переменной $OUT иначе не выводится через echo.
$query = "UPDATE `publication_reform` SET `header` = '$out' WHERE `id`='$id'";//апдейтим таблицу. Записываем в пустую ячейку header заголовок (ID которой как бы сейчас обрабатывается)
$result = mysql_query ( $query , $link );
echo "$out inserted<br>";//тоже просто для проверки.
$i++;
}
?>
в итоге скрипт записывает только одну ячейку и дальше цикл выполнять не хочет. При этом если с записью данных в БД не связываться, а включить например построчный вывод на экран наших строк, то цикл проходит всю базу.
Подскажите в чем дело?