Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Oblicznie ilości znalezionych przedmiotów w kategoriach
Forum PHP.pl > Forum > PHP
cichy19-
Witam,

Piszę zaawansowaną wyszukiwarkę do dużego sklepu, w którym znajduje się prawie 500.000 produktów i 10.000 kategorii.
Wyszukiwarka ma być podobna do wyszukiwarki na Allegro.pl

Wyszukując jakiś przedmiot ma wyświetlać w jakich kategoriach i w jakiej ilości został znaleziony.
Obecnie używam poniższego skryptu ale przy większej ilości znalezionych przedmiotów wyszukiwanie trwa bardzo długo.

Prosze o pomoc jak można to bardziej zoptymalizować.

  1. <?php
  2. foreach($katAn['response']['document'] as $kat) {
  3.  $rodzicID = trim($kat['itemCategoryID']);
  4.  
  5.  while($rodzicID != 0) {
  6.    $resultQuery = mysql_query('SELECT catID, parentID, catName FROM SHOP_kategorie WHERE catID=''.$rodzicID.''');
  7.    if($resultQuery) {
  8.      $rowRodzic = mysql_fetch_array($resultQuery);
  9.  
  10.      if($rowRodzic) {
  11.        $rodzicID = intval($rowRodzic['parentID']);
  12.              
  13.        $licznik[$rowRodzic['parentID']][$rowRodzic['catID']] += '1';
  14.  
  15.        // Zwaraca tylko kategorie główne
  16.        if($rowRodzic['parentID'] == 0) {
  17.          $nazwa[$rowRodzic['parentID']][$rowRodzic['catID']] = $rowRodzic['catName'].' - '.$licznik[$rowRodzic['parentID']][$rowRodzic['catID']]."\n";
  18.        }
  19.      } else {
  20.        $rodzicID = 0;
  21.      }
  22.    } else {
  23.      $rodzicID = 0;
  24.    }
  25.  }
  26. }
  27. ?>


Z góry dziekuję i pozdrawiam
MMX3
musisz przebudować sql'ke tak aby wykonywała się raz lub najchętniej bym jeszcze zrezygnował z podwójnego zapętlenia mysql_query(). To po pierwsze i najważniejsze.
cichy19-
Jakaś podpowiedź jak to zrobić?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.