Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Помогите с поиском
 
 автор: gurza   (03.01.2009 в 02:44)   письмо автору
 
 


 IF ( isset ($category_1) ){
      $where.="p.CID='1'";
      }
 IF ( isset ($category_2) ){
        if ($where==true){
            $where.=" OR ";
            }
       $where.="p.CID='2'";
       }
IF ( isset ($category_3) ){
        if ($where==true){
            $where.=" OR ";
            }
       $where.="p.CID='3'";
       }
IF ( isset ($category_4) ){
        if ($where==true){
            $where.=" OR ";
            }
       $where.="p.CID='4'";
       }
       If ($row['All']==true){
       $where="p.CID='1' OR p.CID='2' OR p.CID='3' OR p.CID='4'";
       }  
          
    $num=1;
    $i=0;
    
$sql = $db->sql_query(" SELECT p.ID, p.CID, p.Title, p.Image, p.Info, p.Image2, p.Image3, p.Image4, p.Image5, p.Style, p.Chan, c.lid, c.title, c.style, c.clid
                          FROM ".$prefix."_db  as p
                          LEFT JOIN ".$prefix."_db_url as c on (p.ID=c.clid)
                          where ($where) AND (p.Title like '%$SearchWord%' OR c.title like '%$SearchWord%')");
    




на локальной машине работает все нормально
переставил на хостиг
если поиск идет по одной двум категориям все нормально
если же выбрать все категории то страница грузится долго и выводит пустую страницу вообще без всего
в базе пока около 3000 записей в одной и другой
такое ощущения что скрипту не хватает времени
что можно зделать

  Ответить  
 
 автор: gurza   (03.01.2009 в 17:37)   письмо автору
 
   для: gurza   (03.01.2009 в 02:44)
 

неужели нет вариантов

  Ответить  
 
 автор: Николай2357   (03.01.2009 в 17:48)   письмо автору
 
   для: gurza   (03.01.2009 в 17:37)
 

Можно конечно попробовать увеличить время работы скрипта функцией set_time_limit(), но если скрипт работает больше 30 сек, которые отведены по умолчанию, это не есть хорошо. Наверное нужно попытаться изменить структуру запроса, и скорее всего всей бд...

  Ответить  
 
 автор: gurza   (03.01.2009 в 18:18)   письмо автору
 
   для: Николай2357   (03.01.2009 в 17:48)
 

может попытатся делать полнотекстовой поиск он в этой ситуации поможет?
set_time_limit() пробывал уже выдал ошибку чето там с safe_mode

  Ответить  
 
 автор: Николай2357   (03.01.2009 в 18:39)   письмо автору
 
   для: gurza   (03.01.2009 в 18:18)
 

Вам действительно не поможет данная функция, так как она увеличивает время работы PHP скрипта, а проблема в "тяжелом" запросе. Да и ни к чему тратить столько времени. 3000 записей не такая уж и страшная цифра. Не совсем понятен алгоритм запроса, боюсь чего нибудь напутать. Можно поподробнее?

  Ответить  
 
 автор: gurza   (03.01.2009 в 18:48)   письмо автору
 
   для: Николай2357   (03.01.2009 в 18:39)
 

в таблице _db находятся названия двд ,сд дисков
в таблице _db_url находятся названия клипов, песен на этом двд или сд
4 категории дисков при поиске

  Ответить  
 
 автор: Николай2357   (03.01.2009 в 19:00)   письмо автору
 
   для: gurza   (03.01.2009 в 18:48)
 

На мой взгляд, Вам не зачем делать такой сложный запрос, а нужно при записи присвоить необходимые категории и принадлежность. Тогда выборку делать гораздо проще. Сначала выбираете название, а потом всё остальное. Или наоборот. А вообще можно и не делить это всё по разным таблицам.

  Ответить  
 
 автор: gurza   (03.01.2009 в 19:45)   письмо автору
 
   для: Николай2357   (03.01.2009 в 19:00)
 

спасибо буду пробывать

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования