|
|
|
| Здравствуйте Уважаемое сообщество.
У меня есть таблица category1 нужно из содержимого поля Field2 этой таблицы вытащить адреса ссылок
для этого использую скрипт
<?php
$query = "SELECT * FROM category1";
$cat = mysql_query($query);
if(!$cat) exit("Ошибка выполнения запроса - ".mysql_error()."<br />".$query);
if(mysql_num_rows($cat))
{
while($catagory = mysql_fetch_array)
{
// Осуществляем преобразование URL
preg_match('/A href="(lessons.php?[^"]*)">/', $string,$matches);
// Обновляем запрос
$catagory['Field 2'] = mysql_escape_string($catagory['Field 2']);
$query = "UPDATE category1
SET `Field 2` = '{$catagory['Field 2']}'
WHERE ID = {$catagory['ID']}";
if(!mysql_query($query))
{
exit("Ошибка выполнения запроса - ".mysql_error()."<br />".$query);
}
}
}
?>
|
При выполении скрипта выходит
Warning: mysql_query() [function.mysql-query]: Access denied for user ''@'localhost' (using password: NO) in M:\home\photoshop-portal\www\link_category.php on line 4
Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in M:\home\photoshop-portal\www\link_category.php on line 4
Ошибка выполнения запроса - Access denied for user ''@'localhost' (using password: NO)
SELECT * FROM category1
как её исправить | |
|
|
|
|
|
|
|
для: pautina
(28.12.2011 в 15:02)
| | У вас соединение установлено из под анонимного пользователя, т.е. пользователя с пустым именем. У этого пользователя нет прав доступа для работы с вашими таблицами. Т.е. проблема выше, в точке установке соединения. | |
|
|
|
|
|
|
|
для: cheops
(28.12.2011 в 15:04)
| |
<?php
$conn = mysql_connect ("localhost", "root", "")
or die ("Соединение не установлено!");
mysql_select_db("bd_photoshop-portal", $conn);
$query = "SELECT * FROM category1";
$cat = mysql_query($query);
if(!$cat) exit("Ошибка выполнения запроса - ".mysql_error()."<br />".$query);
if(mysql_num_rows($cat))
{
while($catagory = mysql_fetch_array)
{
// Осуществляем преобразование URL
preg_match('/A href="(lessons.php?[^"]*)">/', $string,$matches);
// Обновляем запрос
$catagory['Field 2'] = mysql_escape_string($catagory['Field 2']);
$query = "UPDATE category1
SET `Field 2` = '{$catagory['Field 2']}'
WHERE ID = {$catagory['ID']}";
if(!mysql_query($query))
{
exit("Ошибка выполнения запроса - ".mysql_error()."<br />".$query);
}
}
}
?>
|
выходит сообщение
Unknown column 'm' in 'where clause'
UPDATE category1 SET `Field 2` = 'm' WHERE ID = m | |
|
|
|
|
|
|
|
для: pautina
(28.12.2011 в 15:17)
| | >WHERE ID = m
Ммм... это нормально? У вас в ID хранятся символы? Если да, тогда их нужно заключать в двойные кавычки, если нет, то нужно разобраться, как туда попал этот символ вместо первичного ключа. | |
|
|
|
|
|
|
|
для: pautina
(28.12.2011 в 15:17)
| | Обычно вместо
while($catagory = mysql_fetch_array)
|
пишут
while($catagory = mysql_fetch_assoc(cat))
|
или
while($catagory = mysql_fetch_array(cat))
|
но ни как не без ($cat). | |
|
|
|
|
|
|
|
для: deimand
(28.12.2011 в 20:26)
| | Если писать
while($catagory = mysql_fetch_assoc(cat))
| или
while($catagory = mysql_fetch_array(cat))
|
то выходит ошибка
Warning: mysql_fetch_assoc() expects parameter 1 to be resource, string given in M:\home\photoshop-portal\www\link_category.php on line 10
по
>WHERE ID = m
Ммм... это нормально? У вас в ID хранятся символы? Если да, тогда их нужно заключать в двойные кавычки, если нет, то нужно разобраться, как туда попал этот символ вместо первичного ключа.
для ID
...
CREATE TABLE IF NOT EXISTS category1 (
`ID` VARCHAR(255),
`Field 1` VARCHAR(255),
`Image URL 1` VARCHAR(255),
`Field 2` VARCHAR(255),
`Автор/Переводчик` VARCHAR(255),
`Сложность` VARCHAR(255),
`Field 3` VARCHAR(255)) TYPE=MyISAM;
INSERT IGNORE INTO category1 (`ID`,`Field 1`,`Image URL 1`,`Field 2`,`Автор/Переводчик`,`Сложность`,`Field 3`) VALUES
('1','Уроки Photoshop','images\\mini_19.jpg','<A href=\"lessons.php?rub=1&id=1689\">Создаём абстрактное золотое кольцо в Фотошоп</A>','','','В этом уроке вы узнаете, как при помощи кистей дыма сделать абсткатное кольцо со световыми эффектами.'),
('2','Уроки Photoshop','images\\mini_20.jpg','<A href=\"lessons.php?rub=1&id=1677\">Создай экспрессивную космическую иллюстрацию в Фотошоп</A>','','','В этом уроке вы узнаете, создать интересную иллюстрацию, используя различные техники, световые эффекты, цветокоррекцию.'),
('3','Уроки Photoshop','images\\mini_1.gif','<A href=\"lessons.php?rub=1&id=1661\">Создай светящегося супергероя в Фотошоп</A>','','','В этом уроке вы узнаете, как обычную иллюстрацию превратить в ретро-футуристическую художественную работу, а так же как сделать световой эффект быстрого движения.'),
...
|
| |
|
|
|
|
|
|
|
для: pautina
(29.12.2011 в 06:04)
| | while($catagory = mysql_fetch_assoc($cat))
А автоинкрементного поля нет? | |
|
|
|
|
|
|
|
для: SerG7
(29.12.2011 в 09:39)
| | Нет таблица создается указанным текстовы файлом.
<?php
$conn = mysql_connect ("localhost", "root", "")
or die ("Соединение не установлено!");
mysql_select_db("bd_photoshop-portal", $conn);
$query = "SELECT * FROM category1";
$cat = mysql_query($query);
if(!$cat) exit("Ошибка выполнения запроса - ".mysql_error()."<br />".$query);
if(mysql_num_rows($cat))
{
while($catagory = mysql_fetch_assoc($cat))
{
// Осуществляем преобразование URL
preg_match('/lessons.php?rub=1&id=[0-9]/', '/<A href="lessons.php?rub=1&id=[0-9]">[а-яА-Я]</A>/', $matches);
// Обновляем запрос
$catagory['Field 2'] = mysql_escape_string($catagory['Field 2']);
$query = "UPDATE category1
SET `Field 2` = '{$catagory['Field 2']}'
WHERE ID = {$catagory['ID']}";
if(!mysql_query($query))
{
exit("Ошибка выполнения запроса - ".mysql_error()."<br />".$query);
}
}
}
?>
|
Скрипт выполнился без ошибок, но обновления в поле field 2 нет.
Правильно ли описано преобразование url
preg_match('/lessons.php?rub=1&id=[0-9]/', '/<A href="lessons.php?rub=1&id=[0-9]">[а-яА-Я]</A>/', $matches);
|
Нужно получить из
<A href="lessons.php?rub=1&id=1689">Создаём абстрактное золотое кольцо в Фотошоп</A>
<A href="lessons.php?rub=1&id=1677">Создай экспрессивную космическую иллюстрацию в Фотошоп</A>
<A href="lessons.php?rub=1&id=1661">Создай светящегося супергероя в Фотошоп</A>
<A href="lessons.php?rub=1&id=1641">Создаём абстрактный постер в Фотошоп</A>
<A href="lessons.php?rub=1&id=1608">Девушка в брызгах воды</A>
<A href="lessons.php?rub=1&id=1607">Создай абстракцию из фото в Фотошоп</A>
....
только адреса ссылок
lessons.php?rub=1&id=1689
lessons.php?rub=1&id=1677
lessons.php?rub=1&id=1661
lessons.php?rub=1&id=1641
lessons.php?rub=1&id=1608
lessons.php?rub=1&id=1607 | |
|
|
|
|
|
|
|
для: pautina
(29.12.2011 в 06:04)
| | Запустите такой скрипт и напишите результат его работы. Будем искать проблему пошагово.
<?php
$conn = mysql_connect ("localhost", "root", "") or die ("Соединение не установлено!");
mysql_select_db("bd_photoshop-portal", $conn);
$query = "SELECT * FROM category1";
$cat = mysql_query($query);
if(!$cat) exit("Ошибка выполнения запроса - ".mysql_error()."<br />".$query);
echo '<pre>';
print_r($cat);
?>
|
| |
|
|
|
|
|
|
|
для: deimand
(29.12.2011 в 11:17)
| | Пишет
Resource id #4 | |
|
|
|
|
|
|
|
для: pautina
(29.12.2011 в 12:09)
| | Ну да, я прогнал.
Что этот скрипт показывает?
<?php
error_reporting(2047);
$conn = mysql_connect ("localhost", "root", "") or die ("Соединение не установлено!");
mysql_select_db("bd_photoshop-portal", $conn);
$query = "SELECT * FROM category1";
$cat = mysql_query($query);
if(!$cat) exit("Ошибка выполнения запроса - ".mysql_error()."<br />".$query);
if(mysql_num_rows($cat) > 0)
{
echo '<pre>';
while($catagory = mysql_fetch_assoc($cat))
{
print_r($catagory);
}
}
else
{
echo 'Нет записей';
}
?>
|
| |
|
|
|
|
|
|
|
для: deimand
(29.12.2011 в 12:18)
| |
Array
(
[ID] => 1
[Field 1] => Уроки Photoshop
[Image URL 1] => images\mini_19.jpg
[Field 2] => замена
[Автор/Переводчик] =>
[Сложность] =>
[Field 3] => В этом уроке вы узнаете, как при помощи кистей дыма сделать абсткатное кольцо со световыми эффектами.
)
Array
(
[ID] => 2
[Field 1] => Уроки Photoshop
[Image URL 1] => images\mini_20.jpg
[Field 2] => Создай экспрессивную космическую иллюстрацию в Фотошоп
[Автор/Переводчик] =>
[Сложность] =>
[Field 3] => В этом уроке вы узнаете, создать интересную иллюстрацию, используя различные техники, световые эффекты, цветокоррекцию.
)
Array
(
[ID] => 3
[Field 1] => Уроки Photoshop
[Image URL 1] => images\mini_1.gif
[Field 2] => Создай светящегося супергероя в Фотошоп
[Автор/Переводчик] =>
[Сложность] =>
[Field 3] => В этом уроке вы узнаете, как обычную иллюстрацию превратить в ретро-футуристическую художественную работу, а так же как сделать световой эффект быстрого движения.
и т.д. до id=20
)
|
| |
|
|
|
|
|
|
|
для: pautina
(29.12.2011 в 12:26)
| | Ну все хорошо. Что теперь со ссылками нужно сделать? В таблице нет ссылок с текстом lesson. | |
|
|
|
|
|
|
|
для: deimand
(29.12.2011 в 12:53)
| |
Array
(
[ID] => 1
[Field 1] => Уроки Photoshop
[Image URL 1] => images\mini_19.jpg
[Field 2] => [url]замена[/url]
[Автор/Переводчик] =>
[Сложность] =>
[Field 3] => В этом уроке вы узнаете, как при помощи кистей дыма сделать абсткатное кольцо со световыми эффектами.
)
Array
(
[ID] => 2
[Field 1] => Уроки Photoshop
[Image URL 1] => images\mini_20.jpg
[Field 2] => [url]Создай экспрессивную космическую иллюстрацию в Фотошоп[/url]
[Автор/Переводчик] =>
[Сложность] =>
[Field 3] => В этом уроке вы узнаете, создать интересную иллюстрацию, используя различные техники, световые эффекты, цветокоррекцию.
)
Array
(
[ID] => 3
[Field 1] => Уроки Photoshop
[Image URL 1] => images\mini_1.gif
[Field 2] => [url]Создай светящегося супергероя в Фотошоп[/url]
[Автор/Переводчик] =>
[Сложность] =>
[Field 3] => В этом уроке вы узнаете, как обычную иллюстрацию превратить в ретро-футуристическую художественную работу, а так же как сделать световой эффект быстрого движения.
)
|
Поле Field2 это ссылка,
Я не говорю про ссылку с текстом lesson? я говорю про адрес ссылки.
А адрес этих ссылок такой
<A href="lessons.php?rub=1&id=1689">Создаём абстрактное золотое кольцо в Фотошоп</A>
<A href="lessons.php?rub=1&id=1677">Создай экспрессивную космическую иллюстрацию в Фотошоп</A>
<A href="lessons.php?rub=1&id=1661">Создай светящегося супергероя в Фотошоп</A>
<A href="lessons.php?rub=1&id=1641">Создаём абстрактный постер в Фотошоп</A>
<A href="lessons.php?rub=1&id=1608">Девушка в брызгах воды</A>
<A href="lessons.php?rub=1&id=1607">Создай абстракцию из фото в Фотошоп</A>
из них нужно получить только адреса ссылок
lessons.php?rub=1&id=1689
lessons.php?rub=1&id=1677
lessons.php?rub=1&id=1661
lessons.php?rub=1&id=1641
lessons.php?rub=1&id=1608
lessons.php?rub=1&id=1607 | |
|
|
|
|
|
|
|
для: pautina
(29.12.2011 в 13:12)
| | Чтобы получить в переменные содержимое атрибута href, можно воспользоваться следующим регулярным выражением
Пример работы
<?php
$str = '<A href="lessons.php?rub=1&id=1689">Создаём абстрактное золотое кольцо в Фотошоп</A>
<A href="lessons.php?rub=1&id=1677">Создай экспрессивную космическую иллюстрацию в Фотошоп</A>
<A href="lessons.php?rub=1&id=1661">Создай светящегося супергероя в Фотошоп</A>
<A href="lessons.php?rub=1&id=1641">Создаём абстрактный постер в Фотошоп</A>
<A href="lessons.php?rub=1&id=1608">Девушка в брызгах воды</A>
<A href="lessons.php?rub=1&id=1607">Создай абстракцию из фото в Фотошоп</A>';
preg_match_all('#href="(.*)"#siU', $str, $matches);
echo '<pre>';
print_r($matches[1]);
|
| |
|
|
|
|
|
|
|
для: deimand
(29.12.2011 в 13:35)
| | Вот как только применить ваше регулярное выражение к этому участку кода?
<?php
$conn = mysql_connect ("localhost", "root", "")
or die ("Соединение не установлено!");
mysql_select_db("bd_photoshop-portal", $conn);
$query = "SELECT * FROM category1";
$cat = mysql_query($query);
if(!$cat) exit("Ошибка выполнения запроса - ".mysql_error()."<br />".$query);
if(mysql_num_rows($cat))
{
while($catagory = mysql_fetch_assoc($cat))
{
// Осуществляем преобразование URL
// preg_match('/lessons.php?rub=1&id=2/', '<A href="lessons.php?rub=1&id=1677">Создай экспрессивную космическую иллюстрацию в Фотошоп</A>', $matches);
preg_match_all('#href="(.*)"#siU', $str, $matches);
// Обновляем запрос
$catagory['Field 2'] = mysql_escape_string($catagory['Field 2']);
$query = "UPDATE category1
SET `Field 2` = '{$catagory['Field 2']}'
WHERE ID = {$catagory['ID']}";
if(!mysql_query($query))
{
exit("Ошибка выполнения запроса - ".mysql_error()."<br />".$query);
}
}
}
?>
|
Чтоб на выходе только ссылки получить, в обновлённом поле таблицы. | |
|
|
|
|
|
|
|
для: pautina
(29.12.2011 в 14:17)
| |
<?php
$conn = mysql_connect ("localhost", "root", "")
or die ("Соединение не установлено!");
mysql_select_db("bd_photoshop-portal", $conn);
$query = "SELECT * FROM category1";
$cat = mysql_query($query);
if(!$cat) exit("Ошибка выполнения запроса - ".mysql_error()."<br />".$query);
if(mysql_num_rows($cat))
{
while($catagory = mysql_fetch_assoc($cat))
{
// Осуществляем преобразование URL
// искать URL нужно в поле, которое его хранит, а не в переменной от балды
preg_match('#href="(.*)"#siU', $catagory['Field 2'], $matches);
// найденное совпадение сохраняется в $matches, для этого оно в функцию и передается
// и брать его потом для запроса нужно именно оттуда
$newField_2 = mysql_escape_string($matches[1]);
// пробуйте
$query = "UPDATE category1
SET `Field 2` = '{$newField_2}'
WHERE ID = {$catagory['ID']}";
if(!mysql_query($query))
{
exit("Ошибка выполнения запроса - ".mysql_error()."<br />".$query);
}
echo 'Фух, неужели';
}
}
?>
|
| |
|
|
|
|
|
|
|
для: deimand
(29.12.2011 в 14:49)
| | Отлично огромное Вам спасибо, довели все таки этот вопрос. | |
|
|
|
|
|
|
|
для: pautina
(29.12.2011 в 14:54)
| | Хотя нет не скажете какой код мне использовать чтоб к этим адресам добавить текст
http://www.photoshop-master.ru/ | |
|
|
|
|
|
|
|
для: pautina
(29.12.2011 в 14:58)
| | Нужно эту строку
$catagory['Field 2'] = mysql_escape_string($catagory['Field 2']);
|
заменить на
$catagory['Field 2'] = mysql_escape_string('http://www.photoshop-master.ru/' . $catagory['Field 2']);
|
Но лучше иметь в конфигурационном файле переменную или константу, которая будет содержать адрес домена, и при формировании ссылки при выводе уже и подставлять. Это позволит избежать многих проблем в дальнейшем. | |
|
|
|
|
|
|
|
для: deimand
(29.12.2011 в 15:20)
| | хорошо давайте сделаем при помощи константы, как не подскажете? | |
|
|
|
|
|
|
|
для: pautina
(29.12.2011 в 15:24)
| | В конфигурационном файле содайте константу так
<?php define('URL_PATH', 'http://www.photoshop-master.ru/');
|
А при формировании ссылок сайта выводите ее первой, а за ней уже изменяющийся адрес
<?php
$name = 'Ссылка';
$url = 'lessons.php?rub=1&id=1689';
echo '<a href="' . URL_PATH . $url '">' . $name . '</a>';
// или
?><a href="<?php echo URL_PATH . $url; ?>"><?php echo $name; ?></a><?php
?>
|
| |
|
|
|
|
|
|
|
для: deimand
(29.12.2011 в 15:35)
| | При помощи константы что то не всё понятно, пробовал сделать простой заменой строки как вы писали, там что то тоже не всё ясно, какую строку заменять?
<?php
$conn = mysql_connect ("localhost", "root", "")
or die ("Соединение не установлено!");
mysql_select_db("bd_photoshop-portal", $conn);
$query = "SELECT * FROM category1";
$cat = mysql_query($query);
if(!$cat) exit("Ошибка выполнения запроса - ".mysql_error()."<br />".$query);
if(mysql_num_rows($cat))
{
while($catagory = mysql_fetch_assoc($cat))
{
// Осуществляем преобразование URL
// искать URL нужно в поле, которое его хранит, а не в переменной от балды
$catagory['Field 2'] = mysql_escape_string('http://www.photoshop-master.ru/' . $catagory['Field 2']);
preg_match('#href="(.*)"#siU', $catagory['Field 2'], $matches);
// найденное совпадение сохраняется в $matches, для этого оно в функцию и передается
// и брать его потом для запроса нужно именно оттуда
$newField_2 = mysql_escape_string($matches[1]);
// пробуйте
$query = "UPDATE category1
SET `Field 2` = '{$newField_2}'
WHERE ID = {$catagory['ID']}";
if(!mysql_query($query))
{
exit("Ошибка выполнения запроса - ".mysql_error()."<br />".$query);
}
echo 'Фух, неужели';
}
}
?>
|
| |
|
|
|
|
|
|
|
для: pautina
(29.12.2011 в 18:50)
| | Где Вы видите в своем участке кода оператор echo, который выводит ссылку? Правильно, нигде. Потому что ее там нет. Потому что адрес сайта, который сохранен в константе, использовать нужно не здесь, а когда Вы будете выводить свои уроки и другие страницы сайта. В базе будут лежать относительные пути, а при выводе на страницу будете добавлять адрес сайта.
Это все делается по той причине, что если Вы переедете с одного домена на другой, вдруг, или смените директорию, то чтобы весь Ваш сайт остался рабочим, достаточно будет просто поменять значение константы. Или Вы снова будете обходить всю таблицу, чтобы поменять ссылки? Не думаю что это хороший вариант. | |
|
|
|
|
|
|
|
для: deimand
(29.12.2011 в 21:48)
| | Что если мы будем делать всё в 2 этапа.
1) При помощи участка кода оставляем все адреса ссылок
2) На основе этого же участка кода, пишем другой php обработчик который добавит к ссылке http://www.photoshop-master.ru/
Для 1 пункта будем использовать код
<?php
$conn = mysql_connect ("localhost", "root", "")
or die ("Соединение не установлено!");
mysql_select_db("bd_photoshop-portal", $conn);
$query = "SELECT * FROM category1";
$cat = mysql_query($query);
if(!$cat) exit("Ошибка выполнения запроса - ".mysql_error()."<br />".$query);
if(mysql_num_rows($cat))
{
while($catagory = mysql_fetch_assoc($cat))
{
// Осуществляем преобразование URL
// искать URL нужно в поле, которое его хранит, а не в переменной от балды
preg_match('#href="(.*)"#siU', $catagory['Field 2'], $matches);
// найденное совпадение сохраняется в $matches, для этого оно в функцию и передается
// и брать его потом для запроса нужно именно оттуда
$newField_2 = mysql_escape_string($matches[1]);
// пробуйте
$query = "UPDATE category1
SET `Field 2` = '{$newField_2}'
WHERE ID = {$catagory['ID']}";
if(!mysql_query($query))
{
exit("Ошибка выполнения запроса - ".mysql_error()."<br />".$query);
}
echo 'Фух, неужели';
}
}
?>
|
В результате в поле Field 2 будут содержатся
lessons.php?rub=1&id=1689
lessons.php?rub=1&id=1677
lessons.php?rub=1&id=1661
...
lessons.php?rub=1&id=1424
Какой php обработчик написать (за основу можно использовать 1 участок кода) чтоб прикрепить к ссылке http://www.photoshop-master.ru/ в итоге должно получится
http://www.photoshop-master.ru/lessons.php?rub=1&id=1689
http://www.photoshop-master.ru/lessons.php?rub=1&id=1677
...
http://www.photoshop-master.ru/lessons.php?rub=1&id=1424
И записать этот результат в новое поле Field5 таблицы category1 БД photoshop-portal
Какая команда в Mysql делает объёдинение строк? | |
|
|
|
|
|
|
|
для: pautina
(30.12.2011 в 06:23)
| | Извините Вы не посмотрите этот участок кода
<?php
$conn = mysql_connect ("localhost", "root", "")
or die ("Соединение не установлено!");
mysql_select_db("bd_photoshop-portal", $conn);
$query = "SELECT * FROM category1";
$cat = mysql_query($query);
if(!$cat) exit("Ошибка выполнения запроса - ".mysql_error()."<br />".$query);
if(mysql_num_rows($cat))
{
while($catagory = mysql_fetch_assoc($cat))
{
// Регулярное выражение делающее объединение строк www.photoshop-master.ru/ и содержимое поля Field 2
// здесь команда добавления записи в новый столбец field 5
$query = "INSERT INTO category1
VALUE = ??";
// $query = "UPDATE category1
// SET `Field 2` = '{$newField_2}'
// WHERE ID = {$catagory['ID']}";
if(!mysql_query($query))
{
exit("Ошибка выполнения запроса - ".mysql_error()."<br />".$query);
}
echo 'Фух, неужели';
}
}
?>
|
| |
|
|
|
|
|
|
|
для: pautina
(30.12.2011 в 11:02)
| | Вы одно и то же по несколько раз спрашиваете. В этой теме есть все ответы на Ваши вопросы. Нет разницы какое поле обновлять, field 2 или field 5 в плане кода. Отличается только mysql запрос, после слова SET. Вы не можете изменить самостоятельно 2 на 5? Что касается добавить к ссылке адрес домена, то я показал как это делать и с каком месте скрипта в этом сообщении. | |
|
|
|
|
|
|
|
для: deimand
(30.12.2011 в 13:18)
| | Извиняюсь конечно, Смтрите у нас есть вот этот код
<?php
$conn = mysql_connect ("localhost", "root", "")
or die ("Соединение не установлено!");
mysql_select_db("bd_photoshop-portal", $conn);
$query = "SELECT * FROM category1";
$cat = mysql_query($query);
if(!$cat) exit("Ошибка выполнения запроса - ".mysql_error()."<br />".$query);
if(mysql_num_rows($cat))
{
while($catagory = mysql_fetch_assoc($cat))
{
// Осуществляем преобразование URL
// искать URL нужно в поле, которое его хранит, а не в переменной от балды
preg_match('#href="(.*)"#siU', $catagory['Field 2'], $matches);
// найденное совпадение сохраняется в $matches, для этого оно в функцию и передается
// и брать его потом для запроса нужно именно оттуда
$newField_2 = mysql_escape_string($matches[1]);
// пробуйте
$query = "UPDATE category1
SET `Field 2` = '{$newField_2}'
WHERE ID = {$catagory['ID']}";
if(!mysql_query($query))
{
exit("Ошибка выполнения запроса - ".mysql_error()."<br />".$query);
}
echo 'Запрос выполнен успешно';
}
}
?>
|
Вы пишите
Нужно эту строку
$catagory['Field 2'] = mysql_escape_string($catagory['Field 2']);
|
заменить на
$catagory['Field 2'] = mysql_escape_string('http://www.photoshop-master.ru/' . $catagory['Field 2']);
|
Я не нашёл строку для замены | |
|
|
|
|
|
|
|
для: pautina
(30.12.2011 в 13:32)
| | Замените
$newField_2 = mysql_escape_string($matches[1]);
|
на
$newField_2 = mysql_escape_string('http://www.photoshop-master.ru/' . $matches[1]);
|
Не забывайте, что именно в $matches находятся короткие сслылки, вырезанные из длинных функцией preg_match. Для этого она там и вызвана. Ничего лишнего в скрипте нет, там написано только то, что в точности выполняет ваше пожелание, не больше не меньше. | |
|
|
|
|
|
|
|
для: deimand
(30.12.2011 в 13:43)
| | Да всё в точности так как должно быть, правда я не учёл вот какой момент
В каждых ссылках нужно ещё удялять amp;
Он присутствует в конце и из-за него ссылка не активна,
http://www.photoshop-master.ru/lessons.php?rub=1&id=1689
Как удалить эти 4 символа со всех строк? | |
|
|
|
|
|
|
|
для: pautina
(30.12.2011 в 14:14)
| | Вообще нужно разбираться как он там оказался...
Ну да ладно
<?php
// есть некая строка, которая хранится в переменной $test
// строка содержит следующий текст.
$test = 'Да всё в точности так как должно быть, правда я не учёл вот какой момент
В каждых ссылках нужно ещё удялять amp;
Он присутствует в конце и из-за него ссылка не активна,
http://www.photoshop-master.ru/lessons.php?rub=1&id=1689
Как удалить эти 4 символа со всех строк?';
// Чтобы заменить & на & можно воспользоваться функцией замены в строках str_replace()
// Синтаксис функции
//str_replace(Что заменяем, На что заменяем, Где заменяем);
// Для решения задачи можно поставить условие так:
$test = str_replace('&', '&', $test);
echo $test;
// вместо $test необходимо подставить то имя переменной, в которой требуется сделать замену
|
| |
|
|
|
|
|
|
|
для: deimand
(30.12.2011 в 14:34)
| | Всё работает спасибо Вам огромное. | |
|
|
|