login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Vergelijken

Offline giellexe - 23/10/2006 14:39
Avatar van giellexeMySQL interesse Ik ben bezig met een site en daar ga ik tutorials op plaatsen.

Nu zou ik graag willen dat ze 1 keer een beoordeling kunnen geven op die tutorial.

Wat ik nu heb:

Ik heb in de database een tabel leden .
In die tabel staat een veld genaamd: tutorials_gestemd .
Daar staat in, op welke tutorials ze al gestemd hebben.
bijvoorbeeld: 1,5,8,10 (dit zijn dan de id's van de tutorials)

Ik ben bezig geweest met een explode op die komma's.
Maar dat lukt niet echt (of ik gebruik verkeerd commando )

en: if($tut_id == $db2->tutorials_gestemd){ werkt natuurlijk niet

Zou iemand mij hiermee willen helpen

8 antwoorden

Gesponsorde links
Offline Wijnand - 23/10/2006 14:43
Avatar van Wijnand Moderator ik zou zeggen.. koppeltabel 

Een tabel met leden met als Primairy Key: lid_id
Een tabel met tutorials met als Primairy Key: tut_id

En dan een koppeltabel:
lid_id
kop_id


dan kun je het koppelen... snap je? 
Offline Xan - 23/10/2006 14:47
Avatar van Xan HTML interesse Voor explode zou ik zeggen kijk hier:

http://www.site...amp;id=122
Offline giellexe - 23/10/2006 14:47 (laatste wijziging 23/10/2006 14:55)
Avatar van giellexe MySQL interesse Ik weet hoe explode werkt, maar kun je ook zeggen dat hij het ID van de tutorial vergelijkt met die array?

En zoja wat is dat commando?
Offline Xan - 23/10/2006 15:01
Avatar van Xan HTML interesse ehm misschien kun je dit proberen:
  1. if($array[] == $tut_id){
  2. echo 'al gestemd';
  3. }else{
  4. echo 'je mag stemmen';
  5. }


ik weet het niet zeker hoor, probeer ook maar wat 
Offline Thomas - 23/10/2006 15:12
Avatar van Thomas Moderator Zucht... En jij maakt een site met tutorials? 

Wat dacht je van:
  1. if(in_array($tut_id, explode(",", $db2->tutorials_gestemd)))
  2. {
  3. ...
  4. }


Werkt waarschijnlijk niet als iemand nog nergens op gestemd heeft... probeer het eens uit.
Offline giellexe - 23/10/2006 15:13
Avatar van giellexe MySQL interesse het is inmiddels gelukt met hetvolgende:

  1. $expl = explode (',', $db2->tutorials_gestemd);
  2. foreach($expl as $tut_vote) {
  3. if ($tut_id == $tut_vote) {
  4. $voted = true;
  5. }
  6. }
  7. if ($voted) {
  8. echo 'je hebt al gestemd';
  9. } else {
  10. echo 'je list of wat je ook gebruikt om te laten stemmen';
  11. }


Iedereen bedankt voor de moeite 
Offline Thomas - 23/10/2006 15:48
Avatar van Thomas Moderator Die oplossing is niet echt netjes.
Als er niet gestemd is op $tut_id, is $voted ongeinitialiseerd...

Daarnaast kan het korter met in_array.
Offline Ibrahim - 23/10/2006 16:29
Avatar van Ibrahim PHP expert en je kunt het ook oplossen met (zoals Wijnand zei) een koppeltabel 
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.197s