Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Поиск по сайту, проблемы 
:(
    Опции темы
PARROT
Дата 29.9.2005, 22:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: 3
Всего: 50



Написала поиск по сайту (долго писала, почти месяц...)
На локалке работает.
Закачала к хостеру на сервер, выводит все что есть в таблицах.
Кто мне сможет объяснить в чем дело?
Код

<?php
$badsearch=0;
function import ($x) {
                      $imp=mysql_query("SELECT * FROM import WHERE mark LIKE '%".$x."%' OR model LIKE '%".$x."%' OR year LIKE '%".$x."%' OR price LIKE '%".$x."%' OR title LIKE '%".$x."%'") or die(mysql_error());
                      if(mysql_num_rows($imp) > 0) {
                         $GLOBALS['badsearch']=1;
                                             while ($full=mysql_fetch_assoc($imp)) {
                                             print ($full['mark'] = str_replace($x, "<font color=red>".{$x}."</font>", $full['mark'])."&nbsp;");
                                             print ($full['model'] = str_replace($x, "<font color=red>".{$x}."</font>", $full['model'])."&nbsp;");
                                             print ($full['year'] = str_replace($x, "<font color=red>".{$x}."</font>", $full['year'])."&nbsp;");
                                             print ($full['price'] = str_replace($x, "<font color=red>".{$x}."</font>", $full['price'])."&nbsp;");
                                             $full['title']=str_replace($x, "<font color=red>".{$x}."</font>", $full['title']);
                                             print(substr($full['title']."&nbsp;", 0, 200));
                                             ?>
                                             <a href=index.php?page=import&category=<?=$full['id_category'];?>&id=<?=$full['id_import'];?>>читать</a><hr color=#E77817  size=0><br>
                                             <?
                                             }
                                     }
                                     }
function texnika ($t) {
                      $tex=mysql_query("SELECT * FROM texnika WHERE title LIKE '%".$t."%'") or die(mysql_error());
                      if(mysql_num_rows($tex) > 0) {
                                               $GLOBALS['badsearch']=1;
                                             while ($vse=mysql_fetch_assoc($tex)) {
                                             $vse['title']=strip_tags($vse['title']);
                                             $vse['title']=str_replace($t, "<font color=red>".{$t}."</font>", $vse['title']);
                                             print(substr($vse['title']."&nbsp;", 0, 200));
                                             ?>
                                             <a href=index.php?page=texnika&id=<?=$vse['id_texnika'];?>>читать</a><hr color=#E77817  size=0><br>
                                             <?
                                             }
                                     }
                                     }
function notice ($n) {
                      $not=mysql_query("SELECT * FROM notice WHERE caption LIKE '%".$n."%' OR txt LIKE '%".$n."%'") or die(mysql_error());
                      if(mysql_num_rows($not) > 0) {
                                               $GLOBALS['badsearch']=1;
                                             while ($ob=mysql_fetch_assoc($not)) {
                                             $ob['caption']=strip_tags($ob['caption']);
                                             $ob['txt']=strip_tags($ob['txt']);
                                             $ob['txt']=str_replace($n, "<font color=red>".{$n}."</font>", $ob['txt']);
                                             print(substr($ob['txt']."&nbsp;", 0, 200));
                                             ?>
                                             <a href=index.php?page=board&id=<?=$ob['id_notice'];?>>читать</a><hr color=#E77817  size=0><br>
                                             <?
                                             }
                                     }
                                     }
function reference ($r) {
                      $ref=mysql_query("SELECT * FROM reference WHERE txt LIKE '%".$r."%'") or die(mysql_error());
                      if(mysql_num_rows($ref) > 0)
                         {
                         $GLOBALS['badsearch']=1;
                         while ($ss=mysql_fetch_assoc($ref))
                                {
                                $ss['txt']=strip_tags($ss['txt']);
                                $ss['txt']=str_replace($r, "<font color=red>".{$r}."</font>", $ss['txt']);
                                print(substr($ss['txt']."&nbsp;", 0, 200));
                                ?>
                                <a href=index.php?page=reference&idr=<?=$ss['id_reference'];?>>читать</a><hr color=#E77817  size=0><br>
                                <?
                                }
                         }
}

if(isset($_POST['send']))
   {
   import($poisk);
   texnika($poisk);
   notice ($poisk);
   reference ($poisk);
   if ($badsearch==0)
      {
               echo "<center>Ничего не найдено!</center>";
       }
   }
?>

Хостер вразумительного ответа не дал.
И я незнаю на что пенять smile


--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
-=Ustas=-
Дата 29.9.2005, 23:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ustix IT Group
****


Профиль
Группа: Участник Клуба
Сообщений: 2222
Регистрация: 21.1.2005
Где: Краснодар

Репутация: 17
Всего: 69



PARROT, что-то мне подсказывает, что у хостера мускул коряво отконфигурирован, а если он и вразумительного ответа не дал, то это уже однозначно. А на всякий случай попробуй:
Код

REGEXP BINARY '".$your_var."';

вместо like.


--------------------
В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм.
-----
PM WWW ICQ Skype   Вверх
PARROT
Дата 30.9.2005, 08:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: 3
Всего: 50



-=Ustas=-, заменив LIKE на REGEXP BINARY, скрипт теперь пишет, что ничего не найдено.
Посмотреть можно тут http://www.avtodiesel.spb.ru
Сейчас пойду пошагово искать ошибки.
А не может быть проблем с функциями?


--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
PARROT
Дата 30.9.2005, 08:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: 3
Всего: 50



-=Ustas=-, тут дело не в Like, вынесла я все в отдельный файл, и форму и скрипт и все заработало, помотри: http://www.nov.grolvas.spb.ru/poisk.php
Дело в том что форма для поиска находится в top.php (верхний подключаемый файл), а вывод идет в search.php (меняющаяся середина)
Вот теперь нужно думать, почему нет связи, между формой и скриптом.
Вот форма:
Код

<form method=POST action=index.php?page=search>
<table cellpadding=0 cellspacing=0 width=200>
<tr valign=bottom>
<td><input type=text name=poisk maxlength=40 size=20   class=i></td>
<td><input type=submit name=send value=поиск class=inp style=height:22px; style=cursor:hand></td>
</tr>
</table>
</form>



--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
-=Ustas=-
Дата 30.9.2005, 08:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ustix IT Group
****


Профиль
Группа: Участник Клуба
Сообщений: 2222
Регистрация: 21.1.2005
Где: Краснодар

Репутация: 17
Всего: 69



Блин, подожди... Давай по размыслим, выводиться все результаты, независимо от запроса, могут только в одном случае - если переменная $poisk = "";, следовательно она у тебя этому и равна.
1. У хостера скорее всего register_grobals = off. Делай - $_POST['poisk'];
2. У тебя теряется где-то эта переменная. Делай пошаговую отладку, и проверяй, где она исчезает.
Мне кажется, проблема именно в потере этой переменной...


--------------------
В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм.
-----
PM WWW ICQ Skype   Вверх
PARROT
Дата 30.9.2005, 09:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: 3
Всего: 50



-=Ustas=-, уже нашла. Да, дело было в потере переменной, в форме на локалке имя одно и вызов ее, а на сервер закачала форму в другим именем переменной.
А пыли сколько подняла! Это все из-за невнимательности smile
Прошу прощение из-за бестолкового беспокойства...
Потому как пока пишешь, образуется 20 файлов одинакового содержания и можно запутаться в 2 соснах. smile
Чуствую надо отключать глобал на локалке. Иначе... smile


--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Базы Данных | Следующая тема »


 




[ Время генерации скрипта: 0.0444 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.