ďťż
Podstrony
|
telcocafeWitam. Tak się zastanawiam...$inne = "SELECT count(dzial) as ile, dzial FROM articles WHERE dzial = 'Polityka' GROUP BY dzial"; Te zapytanie zwraca liczbę atykułów z kategorii "polityka". Mam jeszcze kilka kategorii. Jak usprawnić skrypt abym ciągle nie musiał pisać: $inne = "SELECT count(dzial) as ile, dzial FROM articles WHERE dzial = 'Polityka' GROUP BY dzial"; $inne2 = "SELECT count(dzial) as ile2, dzial FROM articles WHERE dzial = 'Kategoria3' GROUP BY dzial"; $inne3 = "SELECT count(dzial) as ile3, dzial FROM articles WHERE dzial = 'Sport' GROUP BY dzial"; $inne4 = "SELECT count(dzial) as ile4, dzial FROM articles WHERE dzial = 'Media' GROUP BY dzial"; ?? Da się to jakoś zoptymalizować? Aby wyświetlało się pokolei ilość artykułów ze wszystkich działów? np: Polityka - 43 Sport - 12 Media - 99 Kategoria3 = 2 itepe Użytkownik sauron edytował ten post 17 sierpień 2007, 12:47 Utwórz tablicę ze wszystkimi działami. $tablica = array('Polityka', 'Dzial2'); for($i=0;$i<count($tablica);$i++) { $sql = "SELECT count(dzial) as ile, dzial FROM articles WHERE dzial = '$tablica[$i]' GROUP BY dzial"; $result = mysql_query($sql) or die('Error'.mysql_error()); $result = mysql_fetch_row($result); echo("Dział $tablica[$i] posiada $result[0] artykułów.<br>"); } //Jeśli coś napisałem źle to poprawcie. Użytkownik kokoss15 edytował ten post 17 sierpień 2007, 12:53 A nie możesz po prostu wywalić warunek WHERE? Wtedy pobiorą Ci się wszystkie rekordy, czyli de facto wszystkie kategorie i ilość artykułów w nich. I potem przelecisz to pętlą while z mysql_fetch_array chociażby. @EDIT: Riklaunim - o to mi mniej więcej chodziło, tylko nie wiedziałem jak to ująć :) Użytkownik kutar edytował ten post 17 sierpień 2007, 15:16 fakt.. ale dobrze jest tez zrobic tak jak ja podalem tylko zamiast samemu pisac tablice z dzialami to pobrac ja z mysql i zastosowac mysql_fetch_array lub nawet mysql_fetch_row... wtedy skrypt bedzie tez dobrze dzialal po dodaniu nowej kat. zamiast wykonywać zapytania w pętli dodawać jakieś tablice wystarczy jedno zapytanie COUNT grupujące po nazwie kategorii i zrobione. Przecież to banał <_< Wywal dialektywę WHERE i przechwytuj mysql_fetch_assoc czy tak tam uważasz . . . Ja sprawdziłem i działa :) BTW @sauron: Chciałem nawet zakładać podobny temat,ale dzięki,Tobie rozwiązałem swój problem :P |
|||
Sitedesign by AltusUmbrae. |