login  Naam:   Wachtwoord: 
Registreer je!
 Forum

[opgelost]acties van deze maand selecteren

Offline flipthijs - 07/11/2006 11:36 (laatste wijziging 07/11/2006 15:22)
Avatar van flipthijsPHP interesse Ik heb een php scriptje dat de acties van deze maand moet weergeven, maar in de DB staan meer acties

dus ik vermoed dat het iets zal zijn van

  1. "SELECT * FROM `acties` WHERE now"


of iets in dat genre


Kan iemand me helpen ?

12 antwoorden

Gesponsorde links
Offline Thomas - 07/11/2006 11:54
Avatar van Thomas Moderator Heb je een datum opgeslagen bij een actie?
Zoja, hoe ziet deze er uit? Ik hoop dat je een datum-kolom van het type DATE of DATETIME hebt gebruikt?
Offline flipthijs - 07/11/2006 12:00
Avatar van flipthijs PHP interesse bij datum zet ik gewoon de maand
Offline Abbas - 07/11/2006 12:34
Avatar van Abbas Gouden medaille

Crew .NET
Het beste is toch om een kolom te hebben van het type DATE en daar de volledige datum in te rammen, je weet maar nooit voor wat je het kan gebruiken...

Maar met de maand alleen kan je het ook:

  1. <?php (kleur)
  2. $maand = date("M");
  3. $query = mysql_query("SELECT * FROM acties WHERE maand = '" . $maand . "' ");

of zoiets ongeveer 
Offline Thomas - 07/11/2006 13:43
Avatar van Thomas Moderator MONTH(CURDATE()) of MONTH(NOW()), kan -mits je server goed is ingesteld- ook.

Dus:

  1. SELECT *
  2. FROM whatever
  3. WHERE maand = MONTH(NOW())


Teehee, math is hard!
Offline flipthijs - 07/11/2006 14:10 (laatste wijziging 07/11/2006 14:10)
Avatar van flipthijs PHP interesse Ik heb nu dit, maar het geeft neits weer 

  1. <link rel="stylesheet" type="text/css" href="agenda/style.css">
  2. <?php
  3.  
  4. mysql_connect('localhost','*****','***');
  5.  
  6. mysql_select_db('******') or die (mysql_error());
  7.  
  8. ?>
  9.  
  10. <?php
  11. $maand = date("M");
  12. $query = mysql_query("SELECT * FROM acties WHERE maand = '" . $maand . "' ");
  13. while($actie = mysql_fetch_array($query))
  14.  
  15. {
  16. echo '<tr>
  17.  
  18. <font size="2">'.$actie['maand'].'</font><br>
  19. <font size="2">'.$actie['titel'].'</font><br>
  20. <font size="2">'.$actie['omschrijving'].'</font><br>
  21. <font size="2">'.$actie['einde'].'</font><br>
  22. <tr>';
  23. }
  24. ?>
Offline Gerard - 07/11/2006 14:25 (laatste wijziging 07/11/2006 14:26)
Avatar van Gerard Ouwe rakker @flipthijs

Lees nog eens goede bovenstaande comments door. Maak gebruik van MySQL functies waar je kan, deze zullen altijd sneller zijn binnen het interne systeem van MySQL zelf dan zooi doen met PHP. Het is ook de enige correcte manier.

Heb je ondertussen al wel je kolom geconvert naar het type date? Dat werkt namelijk stukken handiger en geeft je meer flexibiliteit in je systeem.
Offline flipthijs - 07/11/2006 14:27 (laatste wijziging 07/11/2006 14:34)
Avatar van flipthijs PHP interesse oke ik heb het nu zo gedaan als erboven

  1. <?php
  2. $query = mysql_query("SELECT * FROM acties WHERE maand = MONTH(NOW())");
  3. while($actie = mysql_fetch_array($query))
  4.  
  5. {
  6. echo '<tr>
  7.  
  8. <font size="2">'.$actie['maand'].'</font><br>
  9. <font size="2">'.$actie['titel'].'</font><br>
  10. <font size="2">'.$actie['omschrijving'].'</font><br>
  11. <font size="2">'.$actie['einde'].'</font><br>
  12. <tr>';
  13. }
  14. ?>



Dit geeft weer niets weer, geen fouten maar ook geen tekst
Offline Dark_Paul - 07/11/2006 14:59
Avatar van Dark_Paul PHP ver gevorderde Zet error_reporting(E_ALL); bovenaan je script, en ´or die(mysql_error())´ acther je query..
Offline flipthijs - 07/11/2006 15:03
Avatar van flipthijs PHP interesse dan krijg ik deze foutmelding:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/fun2move/domains/fun-2-move.be/public_html/actietest.php on line 13
Offline Thomas - 07/11/2006 15:20
Avatar van Thomas Moderator Is je maand-kolom numeriek?

Heeft de tabel acties wel acties in de maand november (11)?

Als er niets is, kun je ook niets fetchen.
Offline Abbas - 07/11/2006 15:21
Avatar van Abbas Gouden medaille

Crew .NET
inderdaad, dan kun je ter controle misschien een mysql_num_rows gebruiken om te zien of er iets in staat en een melding geven als er geen acties zijn in die maand...
Offline flipthijs - 07/11/2006 15:22
Avatar van flipthijs PHP interesse Dank je allemaal! Het werkt ik heb nu dit:

  1. <?php
  2. $query = mysql_query("SELECT * FROM acties WHERE maand = MONTH(NOW())") or die (mysql_error());
  3. if (empty($query)) {
  4. trigger_error('mySQL ERROR ('.mysql_errno().'): '.mysql_error(),E_USER_ERROR);
  5. }
  6. while($actie = mysql_fetch_array($query)) {
  7. echo ' <font size="2">'.$actie['maand'].'</font><br>
  8. <font size="2">'.$actie['titel'].'</font><br>
  9. <font size="2">'.$actie['omschrijving'].'</font><br>
  10. <font size="2">'.$actie['einde'].'</font><br>';
  11. }
  12. ?>



Mercikes ;)
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.281s