Pagina 1 van 1

berichten tellen in functions.php

Geplaatst: 01 jun 2004, 18:47
door LazyTiger
case 'postcount2':
case 'topiccount2':
$sql = "SELECT SUM(forum_topics) AS topic_total, SUM(forum_posts) AS post_total
FROM " .FORUMS_TABLE ;
break;
hierboven zie je hoe berichten in mijn forum worden geteld. (functions.php) om daarna op de index te verschijnen.

nu wil ik eigenlijk dat hij wat apart telt.
namelijk de forums met het id: 50, 51, 52, 53 of 54.
nou, een makkie eigenlijk. kwestie van WHERE forum_id = 51 || enz...

nu moet er dan natuurlijk nog een 2de sql bij, waarbij hij de forums telt die niet het forum id 50, 51 enz. hebben.
echter, hoe noem je dit?
WHERE NOT of zo?

ik vind het namelijk nogal lastig als ik de andere forum_id moet gaan opnoemen en later een forum zou toevoegen.

Geplaatst: 01 jun 2004, 18:51
door Luuk
where not is idd goed ja

Geplaatst: 01 jun 2004, 18:53
door LazyTiger
okee... het was maar een wilde, logische gok.
zit overigens net op w3schools.com te neuzen. (straks niet aan gedacht.)

WHERE <> forum_id gaat ook?
al wordt vaker WHERE != forum_id gebruikt.

Geplaatst: 01 jun 2004, 20:13
door mosymuis
P.T. schreef:WHERE <> forum_id gaat ook?
al wordt vaker WHERE != forum_id gebruikt.
Het bovenste is SQL, onderste is PHP.

Code: Selecteer alles

WHERE forum_id NOT IN($forums_sql)
zal waarschijnlijk werken

//edit
^^foutje verbeterd

Geplaatst: 01 jun 2004, 20:17
door LazyTiger
IN moet erbij staan?

Geplaatst: 01 jun 2004, 20:18
door mosymuis
Ja, dat werkt heel wat sneller dan forum_id = X OR forum_id = X OR forum_id = X OR .... ;)

Geplaatst: 01 jun 2004, 20:23
door LazyTiger
als ik er dus bij zet ($forums_sql) anders geen IN als ik gewoon forum_id = 50 || forum_id = 51 enz.

ik moet er dan ook AND tussen zetten ipv OR he?
(hij moet alle berichten van die 5 fora bij elkaar tellen)

Geplaatst: 01 jun 2004, 20:25
door mosymuis
P.T. schreef:anders geen IN als ik gewoon forum_id = 50 || forum_id = 51 enz.

ik moet er dan ook AND tussen zetten ipv OR he?
Nogmaals, || is PHP, AND/OR is SQL/PHP.

Geplaatst: 01 jun 2004, 20:29
door LazyTiger
ja okee, maar zie dat even als 2 losse stukjes.
dus:
als ik er dus bij zet ($forums_sql) anders geen IN als ik gewoon forum_id = 50 || forum_id = 51 enz.
en:
ik moet er dan ook AND tussen zetten ipv OR he?
(hij moet alle berichten van die 5 fora bij elkaar tellen)
dat er || staat is gewoon omdat ik dat telkens nog heb gebruikt.
kan hem ook veranderen naar OR, maar was dit even gewent.

Geplaatst: 01 jun 2004, 20:33
door mosymuis
Alles binnen IN($forums_sql) vat hij op als OR, en dat is ook wat je nodig hebt.

Geplaatst: 01 jun 2004, 20:37
door LazyTiger
dat bedoel ik dus niet. :lol:

ik defineer ergens $forums_sql
daarna zet ik bij een sql neer: WHERE forum_id NOT IN ($forums_sql)

maar stel nu, dat ik niet met $forums_sql wil werken.
maar dat ik gewoon met forum_id = 50 OR forum_id = 51 OR forum_id = 52 enz..
moet ik dan ook IN gebruiken?
of moet het dan gewoon zo zijn:
WHERE NOT forum_id = 50 OR forum_id = 51 enz

vraag 2:
moet ik OR of AND gebruiken om te zorgen dat hij de 5 fora bij elkaar optelt? mij lijkt eigenlijk AND, maar weet het niet zeker.
Wijziging: [/b]

Geplaatst: 01 jun 2004, 20:39
door mosymuis
P.T. schreef:WHERE NOT forum_id = 50 OR forum_id = 51 enz
Ik denk:
WHERE NOT forum_id = 50 AND NOT forum_id = 51 enz

Geplaatst: 01 jun 2004, 20:40
door LazyTiger
hm ja.. klinkt logischer ja. maar ik hoef dus geen IN te gebruiken.
(en dat bedoelde ik :wink: )

bedankt.
ik hoop hiermee weer wat af te kunnen maken! :thumb:

Geplaatst: 02 jun 2004, 13:35
door WebSiteNet
Ik denk niet dat het veel oplevert.

Dit is het. Tussen die haakjes moeten de forum id's met komma's er tussen en er moet IN bij. Zo iets:

Code: Selecteer alles

WHERE forum_id NOT IN (1,2,3,4,5,6,7)
Dit zou moeten werken. Ik doe het altijd zo. Als je het omgedraaid wilt maken kan je NOT weghalen.

Geplaatst: 02 jun 2004, 13:59
door LazyTiger
hm.. okee.
zal het vanavond eens allemaal gaan installeren en proberen.
(berichten die in de gedeelde categorie van MFO en FFO worden gepost, worden automatisch bij MFO opgeteld. dit wil ik nu dus apart gaan tellen.)