|
|
|
|
|
для: cheops
(04.01.2012 в 15:19)
| | Ну наконец то. )
А я то думаю в чем же тут дело?,
почему строка не урезается как надо, и по коду всё правильно, и скриптом регулярного выражения я проверял, строка обрезалась.
В кодировке оказывается дело.
Спасибо Вам огромное. | |
|
|
|
|
|
|
|
для: pautina
(04.01.2012 в 14:56)
| | У вас скрипт в какой кодировке работает и в какой кодировке данные в базе данных? | |
|
|
|
|
|
|
|
для: cheops
(04.01.2012 в 14:37)
| | Содержимое ячейки обновляется, контент урезается, но не так как нужно.
Сбой выгледит так урезается строка с 0 символа, а не с символа $pos+129, там по исходному коду видно что контента должно быть больше.
Почему контент так урезается не понятно? | |
|
|
|
|
|
|
|
для: pautina
(04.01.2012 в 13:34)
| | У меня ваш скрипт сработал как надо. У вас вообще не обновляется дамп, как выглядит сбой? | |
|
|
|
|
 88.3 Кб |
|
|
для: cheops
(04.01.2012 в 13:07)
| | Файл прикрепил. Посмотрите. Все из этого исходника берётся.
Данный файл формирует таблицу из 3 строк, сделайте sql запрос в phpMyAdmin получите исходную таблицу из поля Field 3 которой нужно удалить лишний участок кода. | |
|
|
|
|
|
|
|
для: pautina
(04.01.2012 в 12:55)
| | Выведите сбойный $catagory['Field 3'] в файл (не в браузер, а именно в файл) и прикрепите сюда, там может быть что угодно, нужно ситуацию воспроизводить. | |
|
|
|
|
|
|
|
для: cheops
(04.01.2012 в 12:12)
| | По более простому выражению
$findme='<P>Данный урок подготовлен для Вас командой сайта';
|
оно уникально для содержимого каждой ячейки и встречается только 1 раз строка всё равно урезается с 0 символа.
$findme='<P>Данный урок подготовлен для Вас командой сайта';
$pos = strpos($catagory['Field 3'], $findme); // определяем позицию $findme в содержимом поля Field 3
//$newstr = substr($str, 0, $pos+129); // создаём новую строку из Field 3 от 0 сивола до символа $pos+129
$newField_3 = substr($catagory['Field 3'], 0, $pos+129);
// Запрос для обновления
$query = "UPDATE material_content_into3
SET `Field 3` = '{$newField_3}'
WHERE ID = {$catagory['ID']}";
|
Нужно вывести на печать, чему равна $pos, и понять почему она =0, а не 780 например. | |
|
|
|
|
|
|
|
для: pautina
(04.01.2012 в 09:32)
| | Зря по такой сложной строке ищите... нельзя упростить искомое выражение? в HTML-коде адрес http://www.photoshop-master.ru где-нибудь еще встречается? | |
|
|
|
|
 88.3 Кб |
|
|
для: cheops
(03.01.2012 в 18:10)
| | Взгляните на этот код
<?php
$conn = mysql_connect ("localhost", "root", "")
or die ("Соединение не установлено!");
mysql_select_db("bd_photoshop-portal", $conn);
$query = "SELECT * FROM material_content_into3";
$cat = mysql_query($query);
if(!$cat) exit("Ошибка выполнения запроса - ".mysql_error()."<br />".$query);
if(mysql_num_rows($cat))
{
while($catagory = mysql_fetch_assoc($cat))
{
$findme='<P>Данный урок подготовлен для Вас командой сайта <A href="http://www.photoshop-master.ru">http://www.photoshop-master.ru</A></P>';
$pos = strpos($catagory['Field 3'], $findme); // определяем позицию $findme в содержимом поля Field 3
//$newstr = substr($str, 0, $pos+129); // создаём новую строку из Field 3 от 0 сивола до символа $pos+129
$newField_3 = substr($catagory['Field 3'], 0, $pos+129);
// Запрос для обновления
$query = "UPDATE material_content_into3
SET `Field 3` = '{$newField_3}'
WHERE ID = {$catagory['ID']}";
if(!mysql_query($query))
{
exit("Ошибка выполнения запроса - ".mysql_error()."<br />".$query);
}
echo 'Запрос выполнен успешно';
}
}
?>
|
Почему здесь строка урезается не с позиции 780 например, это то место где в коде присутствует текст '<P>Данный урок подготовлен для Вас командой сайта <A href="http://www.photoshop-master.ru">http://www.photoshop-master.ru</A></P>' а с 0 символа строки,
может дело как то в типе данных Field 3 это longtext.
Файл который создает таблицу material_content_into3 через mysql запрос прикрепил. | |
|
|
|
|
|
|
|
для: pautina
(03.01.2012 в 17:31)
| | Мне иногда еще и работу делать нужно по студии :) Постараюсь чуть попозже ответить. | |
|
|
|
|