Помощник
|
Поиск по сайту. Проблема с выводом результатов., хелп |
erafia
|
Сообщение
#1
|
||
|
|
||
|
|||
ZiTosS |
8.2.2010, 16:52;
Ответить: ZiTosS
Сообщение
#2
|
|
erafia, конечно из ваших слов не очень понятно что и как.
Разбираться в старом коде, который вы предоставили, это так сказать, копаться в буреломе. Вообщем если уж так, то: 1) Форму, содержащую поле для ввода запроса и кнопку надо направить на прошлый файл, куда направлял нас предыдущий, не рабочий поиск. <form action="прошлый обработчик поиска(файл)"> ... </form> 2) Мне бы хотелось узнать как у вас организована структура файлов. Какой шаблонизатор используется, или вообще без него. Так сказать трудно. Я конечно могу написать код по старому поисковику, но я не уверен, что этот поиск коим-то образом относится к вашему сайту. Напишу а работать не будет, потому что код просто откуда-то скопирован, и кто-то пытался его встроить в этот движок. Всё будет насмарку. Поблагодарили: (0) |
|
|
erafia
|
Сообщение
#3
|
|
Этот поиск от этого сайта, но сама форма поиска по сайту утеряна и не мной. Я пробывала сам сделать поиск на основе 2х этих скриптов и добилась такого эффекта: он работает но русский, отображает иероглифами. К примеру наберите здесь слово "кофе":
http://avktea.ru/poisk.html (в ТЕСТОВЫЙ) Может вы поймете, что блокирует русский? Немного переделал один момент - его выделю. Вот скрипт данного кода: [php]<?php require_once ( "neox.php" ); function myErrorHandler ($errno, $errstr, $errfile, $errline) { global $global_error; $global_error .= "<p>Ошибка [$errno] <b>$errstr</b>, в строке ".$errline." файла ".$errfile."</p>"; } $old_error_handler = set_error_handler("myErrorHandler"); ///////////////////////////////////////////////////////////////////////////////////////////////////////////// // подключаем модуль формирования страницы require_once ( "tpl/site.php" ); $site = new n_site(); $zerror = ""; $site->init( "ns_main", "/zzz", "/" ); // инициализируем свойства страницы ///////////////////////////////////////////////////////////////////////////////////////////////////////////// // подключаем и активируем магазин require_once ( "tpl/shop.php" ); $site->shop = new n_shop(); $site->shop->init(); if ( !isset( $_GET["n"] ) ) { $_GET["n"] = 1; } if ( isset( $_GET["q"] ) ) { $q = $site->util->parse_webstr($_GET["q"]); } else { $q = ""; } $txt = ""; $site->header( "", "index.tpl" ); $site->hdr->set_var( "QUEST", $q ); //считываем список товаров этой марки $_sql = "SELECT g.*, c.cap as category, c.url as cat_url, c.ID as cat_id, c.cid as cat_cid, c.lvl as cat_lvl, s.cap as brand, CONCAT(s.cap,' ',g.cap) as fullname FROM ns_good as g, ns_spravs as s, ns_part_9 as c WHERE g.is_visible=1 and g.brand=s.ID and g.part_id=c.ID HAVING g.content LIKE '%".$q."%' or fullname LIKE '%".$q."%' ORDER BY g.date_create DESC"; $goods = $site->db->full_query ( $_sql ); $split = 10; $n = $_GET["n"]; if ( $n < 1 ) { $n = 1; } $ends = $n + $split - 1; $end = $n; $numpg = ""; $sep = ""; $i = 1; foreach ( $goods as $k => $v ) { //print "i=".$i." n=".$n." ends=".$ends; if ( $i >= $n and $i <= $ends ) { $site->tpl->set_var( "LCAT", $v["category"] ); $site->tpl->set_var( "LCAP", $v["cap"] ); $site->tpl->set_var( "LINFO", mb_substr($v["content"],0,200) ); if ( $v["img"] == "" ) { $v["img"] = "/imgs/1.gif"; } $site->tpl->set_var( "LIMG", $v["img"] ); $site->tpl->set_var( "LBRAND", $v["brand"] ); $v["cat_url"] = "/catalog/".$v["cat_url"]; if ( $v["cat_lvl"] != 1 ) { $prt = array(); $prt["p_tb"] = "ns_part_9"; $prt["p_id"] = 9; $prt["cid"] = $v["cat_cid"]; $prt["ID"] = $v["cat_id"]; $prt["lvl"] = $v["cat_lvl"]; $site->set_inpath_from_obj( $prt ); $v["cat_url"] = ""; foreach ( $site->inpath as $iv ) { $v["cat_url"] .= "/".$iv["url"]; } } $site->tpl->set_var( "LURL", $v["cat_url"]."/".$v["url"].".html" ); $site->tpl->set_var( "LPRICE", number_format( $v["price"]/100*$sys["kurs"], 0, ".", " " ) ); $sep = ""; if ( (($k+1) % 2) == 0 ) { $sep = "</tr><tr>"; } $site->tpl->set_var( "LSEPARATOR", $sep ); $site->tpl->parse("pgoods_el","goods_el",true); $end++; } $i++; } $site->tpl->parse("pgoods","goods"); $count = $i; if ( $n > 1 ) { $site->tpl->set_var("BID", $n - $split); $site->tpl->parse("pback","back", true);} else { $site->tpl->set_var("pback",""); } if ( $end < $count ) { $site->tpl->set_var("FID", $end); $site->tpl->parse("pforward","forward", true); } else { $site->tpl->set_var("pforward",""); } //построение списка страниц $i--; $site->tpl->set_var ( "NUM", $i ); $p = 1; $h = 1; if ( $i > $split ) { while ( $h <= $i ) { $site->tpl->set_var ( "NL_HREF", "href='?n=".$h."'" ); if ( $h == $n ) $site->tpl->set_var ( "NL_HREF", "" ); $site->tpl->set_var ( "NL_LIST", $p ); $site->tpl->parse("pnlist","nlist",true); $p++; $h += $split; } $site->tpl->parse("plistalka","listalka",true); } else { $site->tpl->set_var( 'pnlist', "" ); } $result_search=file_get_contents("http://www.best-fast.ru/main_service.php?dpserver=".urlencode(serialize($_SERVER))."&dpquery=".urlencode(serialize($_REQUEST))) or die("<br><br><a href='http://www.dplspider.ru/faq/'>Возможная причина ошибки</a><br>Поддержка <a href='mailto:search@dplspider.ru'>search@dplspider.ru</a>"); $txt = "<h1>Результаты поиска: ".$result_search."</h1>"; $site->tpl->set_var( "TEXT", $txt ); $site->ftr->set_block("PFOOTER", "index", "pindex"); $site->ftr->set_var( "pindex", "" ); // Вывод информации на экран $site->show(); //print $global_error; ?>[/php] Но стандартно вывод результатов был предложен иной (указан выше). |
|
|
ZiTosS |
8.2.2010, 19:37;
Ответить: ZiTosS
Сообщение
#4
|
|
erafia,
1) Не надо все слова жирным выделять, мы и так читать умеем. Жирным выделяют пару ключевых слов и не более. 2) Выделяйте пожалуйста код в bb-теги. Читать неоформленный код больше не буду. Уважайте других пользователей. 3) Проблема ваша во втором варианте та, что кодировка страниц вашего сайта utf-8, а сервиса поиска по вашему сайту windows-1251. Отсюда подобное отображение символов. Вас спасет библиотека iconv, если она присутствует у хостера. То есть вам перед выводом результатов их сначала надо преобразовать из одной кодировки в другую. [php]//... $result_search = file_get_contents("http://www.best-fast.ru/main_service.php?dpserver=".urlencode(serialize($_SERVER))."&dpquery=".urlencode(serialize($_REQUEST))) or die("<br><br><a href='http://www.dplspider.ru/faq/'>Возможная причина ошибки</a><br>Поддержка <a href='mailto:search@dplspider.ru'>search@dplspider.ru</a>"); if( function_exists('iconv') ) $result_search = iconv('windows-1251', 'utf-8', $result_search); // вот она родимая;) else $result_search = "Формат данных не поддерживается"; // если библиотеки iconv нету, то выводим сообщение об отсутствии поддержки кодировки $txt = "<h1>Результаты поиска: {$result_search}</h1>"; //...[/php] Попробуйте вставить данный код и скажите или покажите результат. Поблагодарили: (0) |
|
|
erafia
|
Сообщение
#5
|
|
Всё работает! Дай Вам бог здоровья - вы меня уже не 1й раз выручаете, спасибо.
|
|
|
ZiTosS |
9.2.2010, 9:40;
Ответить: ZiTosS
Сообщение
#6
|
|
erafia, всегда пожалуйста. Конечно то, что я вам предложил - это большущий костыль
Поблагодарили: (0) |
|
|
kuku_mw |
11.3.2010, 4:40;
Ответить: kuku_mw
Сообщение
#7
|
|
Скажите, а мне не поможите дело втом, что мне нужно написать скрипт на пчп который мне определит тип и версию браузеров и операционок посетителей моего сайта и запишет данные в базу , помогите пожалуйста буду очень благодарен!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
|
eyexal |
11.3.2010, 12:49;
Ответить: eyexal
Сообщение
#8
|
|
|
echo $_SERVER['HTTP_USER_AGENT'];
покажет: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.2) Gecko/20100115 Firefox/3.6 (.NET CLR 3.5.30729) думаю этой инфы достаточно в данной функции а заливать в базу ну на пример так: [php]mysql_query("INSERT INTO `dbase` (`user`, `log`) VALUES ('$userLogin','{$_SERVER['HTTP_USER_AGENT']}')" );[/php]
|
|
|
||
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
Требуется помощь по сайту на "ВордПресс" Закрылся доступ в панель администратора |
7 | Tia2 | 741 | Сегодня, 14:47 автор: malamut |
|
Аукцион 5 трастовых сайтов. Продам сайты с ИКС, возраст более 4-х лет, с небольшим доходом, Аукцион на 5 сайтов раздельный по каждому сайту Аукцион на 5 сайтов раздельный по каждому сайту |
0 | rumiso | 997 | 18.9.2022, 18:39 автор: rumiso |
|
Smmsearch.net - поиск самой дешевой накрутки в социальных сетях. | 0 | Professor7717 | 3268 | 13.8.2021, 19:53 автор: Professor7717 |
|
Поиск кодера в команду. PHP, Pyton. На постоянку. | 7 | getsend_mw | 2788 | 3.2.2021, 21:15 автор: getsend_mw |
|
Я Вам тексты, Вы мне работы по сайту | 1 | Shelley | 1041 | 28.10.2020, 13:49 автор: Telnor |
Текстовая версия | Сейчас: 19.3.2024, 15:51 |