Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MySQL]Wyszukiwarka, a powtarzające się wyniki
adrianozo
post
Post #1





Grupa: Zarejestrowani
Postów: 733
Pomógł: 4
Dołączył: 11.11.2009

Ostrzeżenie: (0%)
-----


Witam wszystkich.
Mam pewien problem. W tym momencie moja wyszukiwarka oparta o bazę danych MySQL bazuje na kilku kolumnach. Mianowicie pobiera dane z warunkiem WHERE z jednej tabeli z kilku kolumn:

  1. $pobierz = mysql_query("(SELECT `id`, `nazwa`, `tresc`, `kategoria`, `cena`, `zdjecie` FROM cms_sklep_produkty WHERE nazwa LIKE '%{$wynik_filtru}%')
  2. UNION ALL (SELECT `id`, `nazwa`, `tresc`, `kategoria`, `cena`, `zdjecie` FROM cms_sklep_produkty WHERE tresc LIKE '%{$wynik_filtru}%')
  3. UNION ALL (SELECT `id`, `nazwa`, `tresc`, `kategoria`, `cena`, `zdjecie` FROM cms_sklep_produkty WHERE kategoria LIKE '%{$wynik_filtru}%') ORDER BY `id` DESC LIMIT $aktualnie, $na_stronie");
  4.  



Problem polega na tym, że jeżeli dany wyraz znajduje się w kolumnie tresc, kategoria oraz nazwa to wyniki przy wyświetlaniu się powielają. Jak tego uniknąć?

  1. while ($wiersz = mysql_fetch_array($pobierz))
  2. {
  3. if($wiersz['nazwa'] != '')
  4. {
  5. $wyraz = explode(' ',substr($wiersz['nazwa'], 50));
  6. $wyrazy = substr($wiersz['nazwa'], 0, 50).$wyraz[0];
  7. $wyraz = $wyrazy;
  8. $array = array('','','','','','','','','[small]','[/small]',
  9. '[big]','[/big]','[p]','[/p]','
    ','
    '
    ,'','',
  10. '','','[hr=([0-9]{1,2}|100)]','[/hr]');
  11. $wyrazek = str_replace($array,'',$wyraz);
  12. echo ''.$i.'<a style="text-decoration: none;" href="index.php?page=kat&subkat='.$wiersz['kategoria'].'&id='.$wiersz['id'].'"><b>'.zabezpiecz($wyrazek).'</b></a>';
  13. echo'<br /><br />';
  14. }
  15. }


Rozwiązane:

  1. $pobierz = mysql_query("(SELECT `id`, `nazwa`, `tresc`, `kategoria`, `cena`, `zdjecie` FROM cms_sklep_produkty WHERE nazwa LIKE '%{$wynik_filtru}%' or tresc LIKE '%{$wynik_filtru}%' or kategoria LIKE '%{$wynik_filtru}%') ORDER BY `id` DESC LIMIT $aktualnie, $na_stronie");
  2.  


Ten post edytował adrianozo 24.06.2012, 11:55:49


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 03:27