login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Tabellen samen laten werken

Offline seba - 26/01/2005 18:19
Avatar van sebaOnbekend hey, ik heb 2 tabellen:
tabel:
games, met rijen
id
naam
info
review

tabel:
reviews:
id
gameid
tekst

hoe kan ik nu bij alle rijen van tabel: games bij review een 1-waarde zetten. (dus review=1 in de database)
bij de games waarvan er een bijhorende review is, dus de games die in de tabel reviews een game hebben met de gameid, hetzelfde als hun id.

ik zou dit natuurlijk handmatig kunnen doen bij alle games en gaan kijken of er een review is, maar aangezien ik een paar honderden games is, is dit onbegonnen werk.

kan ik dat met een bepaalde query doen ofzo??

2 antwoorden

Gesponsorde links
Offline Thomas - 26/01/2005 18:45 (laatste wijziging 26/01/2005 18:45)
Avatar van Thomas Moderator Hmm... Dit zal je toch ff in een scriptje moeten zetten denk ik.
Trouwens, het feit of een game een review heeft is afleidbaar uit enkel de tabel "reviews", hier houd je namelijk een game-id bij.

Om te kijken of een game een review heeft zou je toch gewoon kunnen controleren op het bestaan van dat game-id in de tabel reviews ? Dit hoef je dus niet expliciet op te slaan in de tabel games.

  1. <?php
  2. // aanname: $id bevat het id van een game
  3. // controleer of een game een review heeft
  4.  
  5. $row = array();
  6. $res = mysql_query("SELECT * FROM reviews WHERE gameid=".$id) or die(mysql_error());
  7. if(mysql_num_rows($res) > 0) {
  8. // review - aanwezig, sla de gegevens op in $row
  9. $row = mysql_fetch_assoc($res);
  10. }
  11.  
  12. if(sizeof($row)) {
  13. // review staat in $row
  14. } else {
  15. // geen review in $row
  16. }
  17. ?>
Offline seba - 27/01/2005 19:39
Avatar van seba Onbekend hmzz, het lukte zo niet,
'k heb zelf iets gevonden alsvolgt:
  1. <?php
  2. class shownews
  3. {
  4. function shownews(){
  5. $database = new database;
  6. $bericht=$this->listnews();
  7. for($i=0; $i<count($bericht); $i++){
  8. $SQL="UPDATE games SET preview='1' WHERE id='".$bericht[$i]."'";
  9. $database->connectDB($SQL);
  10. }
  11. }
  12. function listnews()
  13. {
  14. $db = new database;
  15. $info = array();
  16. $SQL = "SELECT gid FROM previews ORDER BY id DESC";
  17. if(!$result = $db->connectDB($SQL))
  18. {
  19. die(language_error_database);
  20. }
  21. while($data = mysql_fetch_array($result))
  22. {
  23. $info[] = $data['gid'];
  24. }
  25. return $info;
  26. }
  27. }
  28.  
  29. $news = new shownews;?>

staan wel een aantal eigen functies in, maar de essentie is duidelijk
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.185s