|
 20.3 Кб |
|
| Здравствуйте Уважаемое сообщество,
У меня есть таблица category_effect.sql (файл таблицы я прикрепил) в ней поле Field 31 поле содержит html код типа
<LI><P class=index_lessons><IMG title="миниатюра к уроку Создаём абстрактное золотое кольцо в Фотошоп" height=42 alt="миниатюра к уроку Создаём абстрактное золотое кольцо в Фотошоп" src="lessons/les1689/mini.jpg" width=42><A href="lessons.php?rub=1&id=1689">Создаём абстрактное золотое кольцо в Фотошоп</A><SPAN>Автор/Переводчик: <A class=small href="/lessons.php?aut=40">Максим Енин</A></SPAN> <BR><SPAN class=Hard>Сложность: <A class=small href="/lessons.php?dif=1">Легкая</A></SPAN></P>
<P>В этом уроке вы узнаете, как при помощи кистей дыма сделать абстрактное кольцо со световыми эффектами.</P>
<P class=Created>Создан: 11.11.2011 | Просмотров: 52043 | Выполнено работ: 211</P>
подобный код содержится в каждой ячейке
Мне нужно вытащить из ячейки содержащий html код текст сложности (там может быть либо Легкая. Средняя, Усложнённая)
Для этого использую скрипт
<?php
header("Content-Type: text/html; charset=UTF-8");
$conn = mysql_connect ("localhost", "root", "")
or die ("Соединение не установлено!");
mysql_select_db("bd_photoshop-portal", $conn);
$query = "SELECT * FROM category_effects";
$cat = mysql_query($query);
if(!$cat) exit("Ошибка выполнения запроса - ".mysql_error()."<br />".$query);
if(mysql_num_rows($cat))
{
while($catagory = mysql_fetch_assoc($cat))
{
$pattern = "|<SPAN[^>]+>Сложность:[\s]+<A[^>]+>(.+)</A>|is";
if(preg_match($pattern, $catagory['Field 31'], $out))
{
$newField_31 = $out[1];
// echo $out[1];
}
// echo $newField_3."<br>";
// Запрос для обновления
$query = "UPDATE category_effects
SET `Field 31` = '{$newField_31}'
WHERE ID = {$catagory['ID']}";
if(!mysql_query($query))
{
exit("Ошибка выполнения запроса - ".mysql_error()."<br />".$query);
}
echo 'Запрос выполнен успешно';
}
}
?>
|
Но после обновления поля пустые, в чём ошибка? | |
|
|
|
|
|
|
|
для: pautina
(23.01.2012 в 15:33)
| | А посмотрите дамп, у вас там уже нет слова "Сложность", вместо него "Field 31:". | |
|
|
|
|
|
|
|
для: cheops
(23.01.2012 в 16:58)
| | Да извиняюсь, спасибо большое. | |
|
|
|