Skocz do zawartości

[PHP/MYSQL] Ilość filmów w kategorii


Necro

Rekomendowane odpowiedzi

Witam.

Mam pytanie jak zrobić aby obok nazwy kategorii była również wyświetlana w niej ilość plików.

Struktura bazy.

 
CREATE TABLE `filmy` (
 `id` int(11) NOT NULL auto_increment,
 `licznik` int(11) NOT NULL default '0',
 `nazwa` tinytext NOT NULL,
 `thumbs` tinytext NOT NULL,
 `pobierz` text NOT NULL,
 `rozmiar` text NOT NULL,
 `opis` text NOT NULL,
 `data` varchar(50) NOT NULL default '',
 `kat` int(11) NOT NULL default '0',
 PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=251;

CREATE TABLE `kategorie` (
 `id` int(11) NOT NULL auto_increment,
 `kat_tytul` varchar(50) NOT NULL default '',
 PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=62;

Kategorie na głównej wyświetlam tak:

<?
$query = 'SELECT * FROM kategorie';
	$res = mysql_query( $query );
while( $data = mysql_fetch_array( $res ) )
	echo '<li> <a href="kategoria,'.$data['id'].'.html">» '.$data['kat_tytul'].'</a></li>';	
?>

Jeżeli ktoś wie jak do tego dopisać ilość filmów w danej kategorii to bardzo proszę o pomoc.

Z góry dziękuje i Pozdrawiam

Odnośnik do komentarza
Udostępnij na innych stronach

Moze byc tak:

<?
$query = 'SELECT kategorie.id,kategorie.kat_tytul,COUNT(filmy.id) as filmow FROM kategorie
		   LEFT JOIN filmy ON filmy.kat=kategorie.id
		   GROUP BY kategorie.id';
	$res = mysql_query( $query );
while( $data = mysql_fetch_array( $res ) )
	echo '<li> <a href="kategoria,'.$data['id'].'.html">? '.$data['kat_tytul'].'</a> ('.$data['filmow'].')</li>';	
?>

ale szybciej byloby dodac pole w tabeli kategorie, w ktorym przechowywana bylaby ilosc filmow.

Jedynie podczas dodawania/usuwania/modyfikowania wypadaloby zmieniac wartosc tego pola [;

Odnośnik do komentarza
Udostępnij na innych stronach

Przy małej ilości rekordów nie ma problemu liczenie COUNT(...) działa szybko

jednak jak baza urośnie to wtedy będzie mulić bo czas potrzebny na policzenie jest wprost proporcjonalny do ilości rekordów w bazie :)

Skłaniał bym sie wiec ku rozwiązaniu z dodatkową kolumną :) Oczywiście do niczego nie zmuszam :P

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności