Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > Серверные технологии и Flash

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 24.11.2006, 22:55
Americanets вне форума Посмотреть профиль Отправить личное сообщение для Americanets Найти все сообщения от Americanets
  № 1  
Ответить с цитированием
Americanets
 
Аватар для Americanets

Регистрация: Jun 2005
Сообщений: 127
По умолчанию Поиск по базе с parent_url (вложенными страницами), не могу вывести корректный УРЛ

не знаю как при поиске вывести корректный URL

ищу так

PHP код:
$query="SELECT * from pages where content LIKE '%$poisk%'";
$query mysql_query($query) or die (mysql_error());



WHILE (
$dat=mysql_fetch_array($query))
     {
    print 
"<li>".$dat[content]."URL".$dat[name_url];} 
база

Код:
CREATE TABLE `pages` (`id` int(11) NOT NULL auto_increment, `name_url` varchar(255) NOT NULL default '', `content` text,`parent` int(11) NOT NULL default '0',  PRIMARY KEY  (`id`));
INSERT INTO `pages` VALUES (1, 'home','просто страница', 0);
INSERT INTO `pages` VALUES (2, 'pod','просто подстраница', 1);
INSERT INTO `pages` VALUES (3, 'podstr3','просто подстраница3', 2);
INSERT INTO `pages` VALUES (5, 'satranica', 'просто подстраница 2', 0);
INSERT INTO `pages` VALUES (6, 'podstresho', 'просто подстраница 2osds', 5);
INSERT INTO `pages` VALUES (7, 'podstresho', 'просто подстраница isho i ischo', 6);

Старый 27.11.2006, 12:27
Skubent вне форума Посмотреть профиль Отправить личное сообщение для Skubent Посетить домашнюю страницу Skubent Найти все сообщения от Skubent
  № 2  
Ответить с цитированием
Skubent
 
Аватар для Skubent

Регистрация: Oct 2005
Адрес: Млечный Путь, 7-й рукав, YD AC-451, 3-я планета.
Сообщений: 996
Отправить сообщение для Skubent с помощью ICQ
А чего добиться-то хочешь ?
__________________
Тут вы найдете ответы на почти все вопросы:
А можно ли сделать так ? - Можно.
Почему не работает ? - Неправильно сделано.
Где ошибка ? - В ДНК.

Старый 27.11.2006, 13:39
rtm вне форума Посмотреть профиль Отправить личное сообщение для rtm Найти все сообщения от rtm
  № 3  
Ответить с цитированием
rtm

Регистрация: Nov 2006
Сообщений: 39
А добиться автор по всей видимости хочет построения URL, то есть при поиске строки "isho i ischo" он хочет от скрипта получить URL "http://example.com/satranica/podstresho/podstresho/".

Если мои телепатические способности не подвели меня, то необходимо что-то типа этого:
PHP код:
function BuildFullPath($curId,$url="/") {
    while (
true) {
        
$query="SELECT `id`,`name_url`,`parent` from pages where `id`=$curId"
        
$query mysql_query($query) or die (mysql_error());
        
$pr mysql_fetch_row($query);
        
$url $pr['name_url']."/".$url;
        if (
$res[2]==0) {
            break;
        }
    }
    return 
$url;
}
query="SELECT * from pages where content LIKE '%$poisk%'"
$query mysql_query($query) or die (mysql_error());
WHILE (
$dat=mysql_fetch_array($query))  { 
    print 
"<li>".$dat['content']."URL: ".BuildFullPath($dat['id'],'http://example.com')."<br>\n";

P.S. работоспособность приведенного кода я не гарантирую так как проверять мне его не начем, но думаю суть ясна.

Старый 27.11.2006, 19:58
Americanets вне форума Посмотреть профиль Отправить личное сообщение для Americanets Найти все сообщения от Americanets
  № 4  
Ответить с цитированием
Americanets
 
Аватар для Americanets

Регистрация: Jun 2005
Сообщений: 127
Цитата:
Сообщение от rtm
А добиться автор по всей видимости хочет построения URL, то есть при поиске строки "isho i ischo" он хочет от скрипта получить URL "http://example.com/satranica/podstresho/podstresho/".

Если мои телепатические способности не подвели меня, то необходимо что-то типа этого:
PHP код:
function BuildFullPath($curId,$url="/") {
    while (
true) {
        
$query="SELECT `id`,`name_url`,`parent` from pages where `id`=$curId"
        
$query mysql_query($query) or die (mysql_error());
        
$pr mysql_fetch_row($query);
        
$url $pr['name_url']."/".$url;
        if (
$res[2]==0) {
            break;
        }
    }
    return 
$url;
}
query="SELECT * from pages where content LIKE '%$poisk%'"
$query mysql_query($query) or die (mysql_error());
WHILE (
$dat=mysql_fetch_array($query))  { 
    print 
"<li>".$dat['content']."URL: ".BuildFullPath($dat['id'],'http://example.com')."<br>\n";

P.S. работоспособность приведенного кода я не гарантирую так как проверять мне его не начем, но думаю суть ясна.
да все верно буду пробовать

Старый 28.11.2006, 00:26
Americanets вне форума Посмотреть профиль Отправить личное сообщение для Americanets Найти все сообщения от Americanets
  № 5  
Ответить с цитированием
Americanets
 
Аватар для Americanets

Регистрация: Jun 2005
Сообщений: 127
что-то не работает

Старый 28.11.2006, 00:36
Americanets вне форума Посмотреть профиль Отправить личное сообщение для Americanets Найти все сообщения от Americanets
  № 6  
Ответить с цитированием
Americanets
 
Аватар для Americanets

Регистрация: Jun 2005
Сообщений: 127
совсем, выдает /http://example.com

Старый 28.11.2006, 00:58
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 7  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Замени $url = $pr['name_url']."/".$url; на $url = $url.'/'.$pr['name_url'];

Старый 28.11.2006, 16:37
rtm вне форума Посмотреть профиль Отправить личное сообщение для rtm Найти все сообщения от rtm
  № 8  
Ответить с цитированием
rtm

Регистрация: Nov 2006
Сообщений: 39
Цитата:
Сообщение от __etc
Замени $url = $pr['name_url']."/".$url; на $url = $url.'/'.$pr['name_url'];
В корне не верное предложение, так как в этом случае получится обратный порядок вложенности страниц.
Нужно переписать функцию так:
PHP код:
function BuildFullPath($curId,$base_path="/") { 
    
$url "";
    while (
true) { 
        
$query="SELECT `id`,`name_url`,`parent` from pages where `id`=$curId"
        
$query mysql_query($query) or die (mysql_error()); 
        
$pr mysql_fetch_row($query); 
        
$url $pr['name_url']."/".$url
        if (
$res[2]==0) { 
            break; 
        } 
    } 
    return 
$base_path.$url


Старый 28.11.2006, 16:40
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 9  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Ещё бы неверное, я не разбирался особо в коде

Старый 28.11.2006, 16:44
rtm вне форума Посмотреть профиль Отправить личное сообщение для rtm Найти все сообщения от rtm
  № 10  
Ответить с цитированием
rtm

Регистрация: Nov 2006
Сообщений: 39
Параметр $base_path являет собой начальные путь, относительно которого будет строится окончательный путь. Пара примеров:
PHP код:
echo BuildFullPath('isho i ischo','http://example.com/'); 
даст, по приведенной Вами бд, путь: "http://example.com/satranica/podstresho/podstresho/"
PHP код:
echo BuildFullPath('isho i ischo','http://example.com/subfld/'); 
даст: "http://example.com/subfls/satranica/podstresho/podstresho/"
PHP код:
echo BuildFullPath('isho i ischo'); 
даст: "/satranica/podstresho/podstresho/"

Создать новую тему Ответ Часовой пояс GMT +4, время: 07:47.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 07:47.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.