login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Twee dagen weergeven in resultaat

Offline GroundZero - 10/06/2012 16:59
Avatar van GroundZeroLid Beste,

ik haal uit de database de wedstrijden van de laatste 2 dagen (welke dagen dat zijn kan willekeurig zijn met willekeurige tussen marges).

Probleem nu is dat hij alle dagen weergeeft, en ik wil maar twee dagen weergeven.

Dit kan zijn:

3 maart en 9 maart, maar kan ook zijn 1 maart en 5 mei.

Dus gewoon 'twee' dagen die het laatst aanwezig zijn.

Ik heb nu de volgende code:

  1. function displayLastGames(){
  2. // date array
  3. $done = array();
  4.  
  5. // set query
  6. $query = mysql_query('SELECT * FROM site_games
  7. ORDER BY date DESC');
  8.  
  9. // start table
  10. echo '<table class="match">';
  11.  
  12. // loop
  13. while($fetch = mysql_fetch_assoc($query))
  14. {
  15. // set a query to select team info
  16. $team = mysql_query('SELECT * FROM site_teams
  17. WHERE
  18. id = "'.mysql_real_escape_string($fetch['team_id']).'"');
  19. $teamFetch = mysql_fetch_assoc($team);
  20.  
  21. // set a query to select opponent info
  22. $opponent = mysql_query('SELECT * FROM site_teams
  23. WHERE
  24. id = "'.mysql_real_escape_string($fetch['opponent_id']).'"');
  25. $opponentFetch = mysql_fetch_assoc($opponent);
  26.  
  27. // check if to display a header or not
  28. if(!in_array(ucfirst(strftime("%A %d %B %G", strtotime($fetch['date']))), $done))
  29. {
  30. // display header
  31. echo '<colgroup><col class="w170"><col class="w60"><col class="w170"><col class="w70"></colgroup>
  32. <thead>
  33. <tr><th colspan="4"><time> '.ucfirst(strftime("%A %d %B %G", strtotime($fetch['date']))).' </time></th></tr>
  34. </thead>
  35. <tbody>';
  36.  
  37. // add to the "done" list
  38. $done[] = ucfirst(strftime("%A %d %B %G", strtotime($fetch['date'])));
  39.  
  40. // display entry
  41. echo '<tr>
  42. <td><img src="../../images/shirts/'.$teamFetch['icon'].'" alt="'.$teamFetch['club'].'" /> '.$teamFetch['club'].'</td>
  43. <td>-</td>
  44. <td><img src="../../images/shirts/'.$opponentFetch['icon'].'" alt="'.$opponentFetch['club'].'" /> '.$opponentFetch['club'].'</td>
  45. <td>'.$fetch['team_points'].' - '.$fetch['opponent_points'].'</td>
  46. </tr>';
  47. }
  48. else
  49. {
  50. // display entry without header
  51. echo '<tr>
  52. <td><img src="../../images/shirts/'.$teamFetch['icon'].'" alt="'.$teamFetch['club'].'" /> '.$teamFetch['club'].'</td>
  53. <td>-</td>
  54. <td><img src="../../images/shirts/'.$opponentFetch['icon'].'" alt="'.$opponentFetch['club'].'" /> '.$opponentFetch['club'].'</td>
  55. <td>'.$fetch['team_points'].' - '.$fetch['opponent_points'].'</td>
  56. </tr>';
  57. }
  58. }
  59.  
  60. // close table
  61. echo '</tbody>
  62. </table>';
  63. }


Probleem is dat als ik de query verander naar een LIMIT 2, dat hij (natuurlijk...) maar twee entries weegeeft.

Wat ik uiteindelijk doe is een header maken met daarin de naam van de dag, maand en jaar. Vervolgens daar onder alle uitslagen.

Ik hoop dat iemand mij kan helpen 

1 antwoord

Gesponsorde links
Offline Martijn - 11/06/2012 10:53
Avatar van Martijn Crew PHP Wel met LIMIT 2, maar een datum meegeven. Als je je datum bv als time() bewaard:
  1. $query = mysql_query('SELECT * FROM site_games
  2. WHERE datum>='.(time() -24*3600).' and datum<='.(time()+24*3600).'
  3. ORDER BY date DESC');


Jij zal het denk net anders willen, maar dit is een voorbeeld. Zal een dag ervoor en erna nemen, kun je ook vandaag tot overmorgen van maken
Gesponsorde links
Je moet ingelogd zijn om een reactie te kunnen posten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.182s