Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Sortowanie według ilości
Forum PHP.pl > Forum > Przedszkole
slawo
Witam
mam tabele szukane gdzie są pola id i słowo, zapisują się tam szukane słowa z mojej wyszukiwarki.

  1. $szukane_slowa = mysql_query("SELECT DISTINCT slowo FROM szukane")
  2. or die('Błąd zapytania');
  3.  
  4. while($s = mysql_fetch_assoc($szukane_slowa)) {
  5.  
  6. $liczba_slow = mysql_query("SELECT COUNT(*) as liczba_slow FROM szukane WHERE slowo='".$s['slowo']."'");
  7. $ls = mysql_fetch_array($liczba_slow, MYSQL_ASSOC);
  8.  
  9. echo " ".$s['slowo']." (".$ls['liczba_slow'].")<br>";
  10.  
  11. }


Napisałem coś takiego. Wyświetla mi wszystkie szukane słowa (bez powtarzania) i liczby ile ich jest, teraz chciałbym aby pokazało mi np. 10 najczęściej szukanych słów. Jak to napisać?
b4rt3kk
  1. SELECT slowo, COUNT(id) AS liczba_wyszukan FROM szukane GROUP BY slowo ORDER BY liczba_wyszukan DESC LIMIT 0,10
slawo
dzięki! działa:)
b4rt3kk
Cytat(slawo @ 8.10.2012, 23:10:53 ) *
dzięki! działa:)


Nie ma sprawy. smile.gif Całą tę pętlę mógłbyś również zastąpić jednym zapytaniem:

  1. $szukane_slowa = mysql_query("SELECT DISTINCT slowo FROM szukane")
  2. or die('Błąd zapytania');
  3.  
  4. while($s = mysql_fetch_assoc($szukane_slowa)) {
  5.  
  6. $liczba_slow = mysql_query("SELECT COUNT(*) as liczba_slow FROM szukane WHERE slowo='".$s['slowo']."'");
  7. $ls = mysql_fetch_array($liczba_slow, MYSQL_ASSOC);
  8.  
  9. echo " ".$s['slowo']." (".$ls['liczba_slow'].")<br>";
  10.  
  11. }


w sumie bardzo podobnym do poprzedniego, które podałem:

  1. SELECT slowo, COUNT(id) FROM szukane GROUP BY slowo
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.