ďťż
Podstrony
|
telcocafeWitamChciałbym prosić o pomoc przy budowie nieco bardziej niż standardowe zapytania SQL Rzecz ma się tak, że mam dwie tabele: TABELA CAT id | name TABELA ZAW id | cat_id | x Otwieram stronę, gdzie wyświetlam wszystkie kategorie. Chciałbym aby obok nazwy kategorii wyświetlić ilość elementów do niej przypisanych znajdujących się w tabeli ZAW, czyli wylistować wszystkie wiersze z tabeli CAT i w nawiasie podać ilość wierszy z tabeli ZAW których cat_id jest równe id z tabeli CAT. Mam nadzieję, że za bardzo nie namieszałem. Proszę o pomoc, bo sam już tego wszystkiego zapomniałem... Przecież to jest standardowe... W Ekspercie było nieraz na ten temat. Zaraz coś naskrobię... //edit <?php $list = array(); $sql = 'SELECT id, name FROM cat'; $result = mysql_query($sql); while ($data = mysql_fetch_assoc($result)) $list[]= $data; foreach ($list as $item) { $items = mysql_num_rows(mysql_query('SELECT cat_id FROM zaw WHERE cat_id="'.$item['id'].'"')); echo($item['name'].'('.$items.')<br />'."\n"); } Chyba tak... Ale nie wiem, nie sprawdzałem czy dobrze. Użytkownik andrzej_aa edytował ten post 29 styczeń 2007, 10:33 można też to zrobić za pomocą 1 zapytania z joinem :) riklaunim -> może byś napisał jak to zrobić? posty nabijasz czy jak? piszę zapytanie tylko bo nie napisąłes czy do jakiejś konkretnej technologi sql to potrzebujesz, ale zapytanie wszędzie zadziała select c1.name ,count(c2.id) ilosc from tabela_cat c1 inner join tabela_zaw c2 on c1.id = c2.cat_id group by c1.name order by c1.name Riki, weź napisz :) //j-mail, działa, świetnie, dzięki :D Użytkownik pawkow edytował ten post 29 styczeń 2007, 14:11 jutro mam egzamin z krystalografii/H NMR/Masówki i IR :P więc za dużo czasu na inne przemyślenia nie mam.. generalnie będzie to coś w stylu tego... j-mail już napisał ;) Użytkownik Riklaunim edytował ten post 29 styczeń 2007, 15:02 |
|||
Sitedesign by AltusUmbrae. |