Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Поиск на сайте

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
pava77
Отправлено: 21 Апреля, 2013 - 21:48:22
Post Id


Гость


Покинул форум
Сообщений всего: 92
Дата рег-ции: Март 2013  


Помог: 0 раз(а)

[+]


PHP:
скопировать код в буфер обмена
  1. <?PHP include "/include/header.php" ?>
  2. <?PHP include "/include/nav.php" ?>
  3. <div id="main">
  4. <?
  5.  
  6. /*Обработка поискового запроса*/
  7. function search ($query) {
  8. $text = '';
  9. $up = "/doska/11/";
  10.  
  11. // Проводим фильтрацию данных
  12. $query = trim($query);                     // Обрезаем пробелы и спецсиволы
  13. $query = strip_tags($query);               // Удаляем HTML и PHP теги
  14. $query = mysql_real_escape_string($query); // Экранируем специальные символы
  15. $oblast = $_POST["oblast"];    
  16.  
  17.  
  18. //Поисковый запрос не пустой?
  19. if (!empty($query)){
  20.   if (strlen($query) < 4) {
  21.     $text = '<p>короткий поисковый запрос.</p>';
  22.   }elseif (strlen($query) > 128) {
  23.     $text = '<p>длинный поисковый запрос.</p>';
  24.   } else {
  25.                                         if   ($oblast = '--- Все регионы ---'){
  26.                                             $sql = "SELECT `id`, `title`, `description`, `foto`, `price`, `oblast`
  27.         FROM `obyavi` WHERE description LIKE '%$query%' OR title LIKE '%$query%'";
  28.                                         }
  29.                                         else{
  30.                                        
  31.                                             $sql = "SELECT `id`, `title`, `description`, `foto`, `price`, `oblast`
  32.         FROM `obyavi` WHERE  (oblast='$oblast' AND description LIKE '%$query%')
  33.      OR (title LIKE '%$query%' AND oblast='$oblast')";}
  34.                                        
  35.  
  36.     // и выполняем его
  37.     $result = mysql_query($sql);
  38.     //Определим колличество найденных совпадений
  39.     $num = mysql_num_rows($result);
  40.     //Если число совпадений (строк результата запроса) больше 0
  41.     if ( $num > 0) {
  42.       //Получаем ассоциативный массив
  43.       $row = mysql_fetch_assoc($result);
  44.       //и начинаем формировать строку поисковой выдачи
  45.       echo '<p>По вашему запросу  <strong>'.$query.'</strong>';
  46.       echo ' найдено '.$num.' объявления</p>' ;
  47.  
  48.       do {
  49.           echo "<table class='th'><tr><td>";
  50.         //Продолжаем  формировать строку поисковой выдачи
  51.         echo '<h2><a href="obyava.php?id='.$row['id'].'">';
  52.         echo  $row['title'].'</a></h2></td></tr>';?>
  53.         <tr><td><img width="200" height="150" src="<?=$up ?><?PHP  echo$row['foto'] ?>"></td></tr><br>
  54.         <tr><td width="400px"><b>Цена:</b> <?PHP echo $row["price"] ?> грн</td></tr>
  55.         <tr><td width="400px"><b>Регион:</b> <?PHP echo $row["oblast"] ?> </td></tr>
  56.        
  57.         </table>
  58.       <?PHP  
  59.         // Делаем это пока у нас есть результаты
  60.       } while ($row = mysql_fetch_assoc($result));
  61.     } else {
  62.       // Найти совпадение не удалось
  63.       $text = '<p>По вашему запросу ничего не найдено.</p>';
  64.          
  65.     }
  66.   }
  67. }else {
  68.   $text = '<p>Задан пустой поисковый запрос.</p>';
  69. }
  70. //Возвращаем сформированную строку поисковой выдачи
  71. return $text;
  72. }
  73.  
  74. ///////////// Сам скрипт обработчик ///////////////
  75. if (isset ($_POST['query']) && !empty($_POST['query'])){
  76.   // Открываем соединение с базой данных
  77.  
  78.   $search_result = search ($_POST['query']);
  79.   echo $search_result;
  80.   // Закрываем соединение с  базой данных
  81.  
  82. }
  83. ?>
  84.  
  85. </div>
  86. <?PHP include "/include/sidebar.php" ?>
  87. <?PHP include "/include/footer.php" ?>
  88.  
  89. </body></html>

$oblast = $_POST["oblast"]; - что бы здесь не было, все равно ищет во всей базе, не пойму где ошибка
 
 Top
Мелкий Супермодератор
Отправлено: 22 Апреля, 2013 - 08:01:19
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




pava77 пишет:
if ($oblast = '--- Все регионы ---'){


-----
PostgreSQL DBA
 
 Top
pava77
Отправлено: 22 Апреля, 2013 - 18:17:19
Post Id


Гость


Покинул форум
Сообщений всего: 92
Дата рег-ции: Март 2013  


Помог: 0 раз(а)

[+]


так а как заменить его, если оно не правельно?
 
 Top
Мелкий Супермодератор
Отправлено: 22 Апреля, 2013 - 21:27:07
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




А вы сравнение от присваивания не отличаете? Однако


-----
PostgreSQL DBA
 
 Top
pava77
Отправлено: 23 Апреля, 2013 - 17:24:07
Post Id


Гость


Покинул форум
Сообщений всего: 92
Дата рег-ции: Март 2013  


Помог: 0 раз(а)

[+]


Спасибо, теперь работает
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB