webForumDet fria alternativet

Räkna poster

3 svar · 321 visningar · startad av Type

TypeMedlem sedan mars 20021 239 inlägg
#1

Hejsan
Jag har ett kategoriID som innehåller 1, 2 eller 3.
Sen vill jag kunna skriva ut nåt sånt här;
kategori1(antal)
kategori2(antal)
kategori3(antal)
dvs antalet poster med en viss kategori inom parantesen.

Nu har jag löst det genom att anropa databasen en gång för varje kategoriID men det känns väldigt onödigt...

$res_c = do_query("SELECT * FROM blog_categories ORDER BY ID");
$res=do_query("SELECT *,DATE_FORMAT(b_date, '%Y-%m-%d') AS b_date FROM blog_posts WHERE category_id = $cat");
$a_1=get_assoc_array(do_query("SELECT COUNT(*) AS a1 FROM blog_posts WHERE category_id = 1"));
$a_2=get_assoc_array(do_query("SELECT COUNT(*) AS a2 FROM blog_posts WHERE category_id = 2"));
$a_3=get_assoc_array(do_query("SELECT COUNT(*) AS a3 FROM blog_posts WHERE category_id = 3"));
		
$thiscategory = get_value(do_query("SELECT category FROM blog_categories WHERE ID = $cat"));

Jag gör 5 st anrop till databasen.... kan man på något sätt göra det smidigare? Min skalle är lite trött och det enda sättet jag kan komma på är att spara ett heltal i blog_categories som får visa hur många poster det finns med en viss kategori... Då räcker det ju att hämta blog_categories och sen läsa ut antalet där...

Vad tycker ni? Sitter någon på värsta smarta lösningen?

@ndersMedlem sedan juni 200032 969 inlägg
#2
SELECT category_id, COUNT(*) AS antal
FROM tbl
GROUP BY category_id
ORDER BY category_id
TypeMedlem sedan mars 20021 239 inlägg
#3

/red

SELECT `category_id` , COUNT( * ) AS antal
FROM blog_posts
GROUP BY `category_id`
ORDER BY `category_id`

Det funkar fint!

TypeMedlem sedan mars 20021 239 inlägg
#4

/red
Jag vet inte vad jag håller på med!

i fortsättningen ska jag testa 1000 gånger innan jag skriver ett inlägg... :stud

Tack @nders!

134 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)