login  Naam:   Wachtwoord: 
Registreer je!
 Forum

tellen van reacties

Offline XTREEMRaGE - 06/02/2005 22:42 (laatste wijziging 06/02/2005 23:09)
Avatar van XTREEMRaGENieuw lid Yo, ik ben redelijk nieuw met php dus zal wel een n00b vraag zijn ;x
Ik wil een reactie teller maken , dus ik wil de aantal reacties zien op de bepaalde nieuws item. Maar ik krijg telkens te zien dat ie maar 1 reactie is terwijl er zijn meer :x. Ik heb de forum ook doorgezocht, maar werd er nie veel wijzer van 
ik heb het nieuws in table 'nieuws'
en ik heb de reacties in table 'reacties'

in reacties zit een kolom 'tid' die checkt bij welk nieuws item de reactie 'id' hoort.

dus 'tid' = 'id' ( id is het nieuws id )
Of denk ik nou helemaal verkeerd 

Dit is wat ik er van gebakken heb :/
  1. <?php
  2. $sql = mysql_query("SELECT COUNT(*) FROM reacties WHERE tid=id");
  3. $Aantal = mysql_num_rows($sql);
  4. if($Aantal == "0")
  5. {
  6. echo "Er zijn <B>geen</B> reacties.<BR>";
  7. } else if($Aantal == "1")
  8. {
  9. echo "Er is <B>1</B> reactie.<BR>";
  10. } else
  11. {
  12. echo "Er zijn <B>".$Aantal."</B> reacties.<BR>";
  13. }
  14. ?>


HElp!! 

13 antwoorden

Gesponsorde links
Offline Maarten - 06/02/2005 22:46
Avatar van Maarten Erelid Euhm waarom gebruik je niet $aantalreacties?

  1. $aantalreacties = mysql_num_rows($sql);
  2.  
  3. $Aantal = mysql_num_rows($sql);

Is toch gewoon 2 keer hetzelfde?
Offline XTREEMRaGE - 06/02/2005 23:09
Avatar van XTREEMRaGE Nieuw lid omg ik had die fout erin gelaten, maar dat is het nie :x
;D
Offline S_tef - 06/02/2005 23:32
Avatar van S_tef HTML interesse Volgens mij geef je query nu al gewoon een getal terug, omdat je count() doet, echo eens $sql....als hier een getal uitkomt wat overeen komt met het aantal reacties in de db. Dan kun je wel verder ;)
Werk niet zo vaak met count in sql, maar volgens mij klopt het wat ik zeg ;-)
Offline XTREEMRaGE - 06/02/2005 23:45 (laatste wijziging 06/02/2005 23:46)
Avatar van XTREEMRaGE Nieuw lid nou volgens mij doe ik echt wat verkeerd D:
want ik krijg resource id#14 en bij een ander artikel resource id#15 etc, toen ik het alleen ging echoën.
:X, begrijp het nie meer :/
Offline roy - 06/02/2005 23:49 (laatste wijziging 06/02/2005 23:55)
Avatar van roy PHP gevorderde
  1. <?PHP
  2. $result = mysql_query("SELECT * FROM reacties WHERE tid='id'");
  3. $count = mysql_num_rows($result);
  4. //er zijn geen reacties
  5. if ($count == 0)
  6. {
  7. // jouw bewerking
  8. }
  9. elseif ($count == 1)
  10. {
  11. // jouw bewerking
  12. }
  13. ?>


Misschien helpt dit je een eind op weg
Offline Thomas - 06/02/2005 23:55 (laatste wijziging 06/02/2005 23:56)
Avatar van Thomas Moderator Een COUNT-query geeft meestal maar één resultaatrij terug, en deze rij bevat het aantal (reacties). Oplossingen met mysql_num_rows bij een COUNT-query zijn dus FOUT.

  1. <?php
  2. $sql = mysql_query("SELECT COUNT(*) FROM reacties WHERE tid=".$een_of_ander_nieuws_id);
  3.  
  4. // een COUNT-query heeft altijd een (één) resultaat
  5. $aantal = mysql_result($sql, 0);
  6. if($aantal == 0) {
  7. echo "Er zijn <b>geen</b> reacties.<br />";
  8. } else {
  9. echo "Er ".($aantal == 1 ? "is" : "zijn")." <b>".$aantal."</b> reactie".($aantal == 1 ? "" : "s").".<br />";
  10. }
  11. ?>
Offline delta_004 - 07/02/2005 08:07
Avatar van delta_004 Onbekend Hey Fangorn nu begrijp ik het pas
$aantal = mysql_result($sql, 0);
Ik moest effe een voobeeld
Offline Thomas - 07/02/2005 11:20
Avatar van Thomas Moderator Je kan het ook met een fetch-opdracht doen hoor, het kan precies hetzelfde als een normale query - dit is een shorthand, omdat COUNT-queries en equivalenten er altijd hetzelfde uit zien.
Offline XTREEMRaGE - 07/02/2005 16:34
Avatar van XTREEMRaGE Nieuw lid Fangorn: ik begrijp dit niet
  1. WHERE tid=".$een_of_ander_nieuws_id);

waarom heb je het zo gedaan, ik had gewoon WHERE tid=id
Ik heb een aparte tabel voor het 'nieuws' en voor de 'reacties' . En in de tabel 'reacties' heb ik de 'id' (id van de reacties) en 'tid' (id van het nieuws). Ik begrijp niet echt waarom je het zo hebt gedaan, duizendmaal dank als je het wil uitleggen 
Offline Maarten - 07/02/2005 16:36 (laatste wijziging 07/02/2005 16:37)
Avatar van Maarten Erelid Hoe weet je anders bij welk item die reacties horen?
Ik zou eens een nieuwsscript doorlezen als ik jou was, dan zou je er meer van snappen.
Offline XTREEMRaGE - 30/11/1999 00:00
Avatar van XTREEMRaGE Nieuw lid aha dus die moet ik nog aan geven x, ik zal dat doen.rn
Offline Thomas - 30/11/1999 00:00
Avatar van Thomas Moderator Kijk als je van meerdere nieuwsitems (tegelijkertijd) het aantal reacties wilt weten, dus iets van de vormrnrnnieuws_id, reactiesrn1, 0rn2, 4rn3, 1rn4, 2rn...rnrndan wordt het natuurlijk een ander verhaal he - ik dacht dat je van één (specifiek) nieuwsitem het aantal reacties wilde weten. Als je van meerdere nieuwsitems het aantal reacties wilt weten, dan krijg je vanzelf meer resultaat-rijen (zelfs bij een COUNT-query).
Offline XTREEMRaGE - 30/11/1999 00:00 (laatste wijziging 30/11/1999 00:00)
Avatar van XTREEMRaGE Nieuw lid Ik heb hem eindelijk, misschien 2 n00by for u all. Maar werkt voor mij p. Tnx voor de hulp iedereen DD kan een slotje op ;Drnrn[code]rn$sql = mysql_query(SELECT FROM reacties WHERE tid='$row[id]');rn$Aantal = mysql_num_rows($sql);rnif($Aantal == 0)rn{rn echo Er zijn bgeenb reacties.br ;rn} else if($Aantal == 1)rn{rn echo Er is b1b reactie.br ;rn} elsern{rn echo Er zijn b.$Aantal.b reacties.br br ;rn} [code]
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.215s