login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Vraag

Offline BasDV - 16/05/2005 13:33
Avatar van BasDVMySQL interesse Ik heb deze code:
  1. <?php
  2. // geboortedatum staat zo: dag-maand-jaar
  3. $query = mysql_query("SELECT * FROM members");
  4. $object = mysql_fetch_object($query);
  5. $string = $object->geboortedatum;
  6. $array = explode("-", $string);
  7. $dag = "$array[0]";
  8. $maand = "$array[1]";
  9. $jaar = "$array[2]";
  10.  
  11. function leeftijd($dag,$maand,$jaar){ // functie maken $dag,$maand,$jaar dat zijn de variablen die ge moet opgeven
  12. $dag2 = date('d'); // huidige dag
  13. $maand2 = date('m'); //huidige maand
  14. $jaar2 = date('Y'); //huidig jaar
  15. $jaar3 = $jaar2 - $jaar; // huidig jaar - opgegeven jaar geeft $jaar3
  16. $maand3 = $maand2 - $maand; // huidige maand - opgegeven maand geeft $maand3
  17.  
  18. if ($maand3 < 0){$jaar3 --;} // als maand 3 kleiner is dan nul bv: 03 - 04 dan doet hij der nog een jaar af want dan is hij bv nog geen 16
  19. elseif ($maand3 == 0){ // anders als bv: $maand en $maand2 gelijk zijn aan 04 dan zijn we in de juist maand
  20. if($dag2 < $dag){$jaar --;} // dan kijken we naar de dag => als de opgegeven dag kleiners is dan de huidige dag dan doet hij ook een jaar deraf want dan is hij nog niet jarig
  21. }
  22.  
  23. return $jaar3;
  24. echo $jaar3;
  25. }
  26.  
  27. ?>

Maar hij echo't niks wat doe ik fout?

7 antwoorden

Gesponsorde links
Offline lemoinet - 16/05/2005 13:44 (laatste wijziging 16/05/2005 13:49)
Avatar van lemoinet PHP gevorderde edit: sorry verkeerd gezien
Offline Rens - 16/05/2005 13:53 (laatste wijziging 16/05/2005 13:55)
Avatar van Rens Gouden medaille

Crew algemeen
@BasDV: http://www.site...ond=regels ==> nummer 2, eerste punt.

@Lemoinet: De return staat in de functie, maar dat zie je niet omdat er niet ingesprongen word.
Zou hij dit doen, had je meteen gezien dat de return in de functie stond.

Probeer het zo eens.

  1. <?PHP
  2. // geboortedatum staat zo: dag-maand-jaar
  3. $query = "SELECT * FROM members"
  4. if(!$result = mysql_query($query))
  5. {
  6. // error handling
  7. echo "Error!- Kan de query niet uitvoeren!";
  8. } else
  9. {
  10. $fetch = mysql_fetch_assoc($query);
  11. $string = $fetch['geboortedatum'];
  12. $array = explode("-", $string);
  13. $dag = $array[0];
  14. $maand = $array[1];
  15. $jaar = $array[2];
  16.  
  17. function leeftijd($dag, $maand, $jaar)
  18. {
  19. // functie maken $dag,$maand,$jaar dat zijn de variablen die ge moet opgeven
  20. $dag2 = date('d'); // huidige dag
  21. $maand2 = date('m'); //huidige maand
  22. $jaar2 = date('Y'); //huidig jaar
  23. $jaar3 = $jaar2 - $jaar; // huidig jaar - opgegeven jaar geeft $jaar3
  24. $maand3 = $maand2 - $maand; // huidige maand - opgegeven maand geeft $maand3
  25.  
  26. if ($maand3 < 0)
  27. {
  28. // als maand 3 kleiner is dan nul bv: 03 - 04 dan doet hij der nog een jaar af want dan is hij bv nog geen 16
  29. $jaar3--;
  30. } elseif ($maand3 == 0)
  31. {
  32. // anders als bv: $maand en $maand2 gelijk zijn aan 04 dan zijn we in de juist maand
  33. if($dag2 < $dag)
  34. {
  35. $jaar--;
  36. }
  37. // dan kijken we naar de dag => als de opgegeven dag kleiners is dan de huidige dag dan doet hij ook een jaar deraf want dan is hij nog niet jarig
  38. }
  39. return $jaar3;
  40. }
  41.  
  42. $leeftijd = leeftijd($dag, $maand, $jaar);
  43. echo $leeftijd;
  44. }
  45. ?>
Offline BasDV - 16/05/2005 14:40 (laatste wijziging 16/05/2005 14:42)
Avatar van BasDV MySQL interesse Nu doet hij het met deze code goed bedankt!
Maar nu heb ik de code (een beetje ) veranderd en na deze code wil ik ook nog dingen uit de database roepen maar dat doet hij niet. ligt dat dan aan mijn code die ik veranderd heb? hier is de code:
  1. <?PHP
  2. // geboortedatum staat zo: dag-maand-jaar
  3. $qrie = mysql_query("SELECT * FROM members WHERE memberid = '$mid'") or die(mysql_error());
  4. $fetch = mysql_fetch_assoc($qrie);
  5. $string = $fetch['geboortedatum'];
  6. $array = explode("-", $string);
  7. $dag = $array[0];
  8. $maand = $array[1];
  9. $jaar = $array[2];
  10.  
  11. function leeftijd($dag, $maand, $jaar)
  12. {
  13. // functie maken $dag,$maand,$jaar dat zijn de variablen die ge moet opgeven
  14. $dag2 = date('d'); // huidige dag
  15. $maand2 = date('m'); //huidige maand
  16. $jaar2 = date('Y'); //huidig jaar
  17. $jaar3 = $jaar2 - $jaar; // huidig jaar - opgegeven jaar geeft $jaar3
  18. $maand3 = $maand2 - $maand; // huidige maand - opgegeven maand geeft $maand3
  19.  
  20. if ($maand3 < 0)
  21. {
  22. // als maand 3 kleiner is dan nul bv: 03 - 04 dan doet hij der nog een jaar af want dan is hij bv nog geen 16
  23. $jaar3--;
  24. } elseif ($maand3 == 0)
  25. {
  26. // anders als bv: $maand en $maand2 gelijk zijn aan 04 dan zijn we in de juist maand
  27. if($dag2 < $dag)
  28. {
  29. $jaar--;
  30. }
  31. // dan kijken we naar de dag => als de opgegeven dag kleiners is dan de huidige dag dan doet hij ook een jaar deraf want dan is hij nog niet jarig
  32. }
  33. return $jaar3;
  34. }
  35.  
  36. $leeftijd = leeftijd($dag, $maand, $jaar);
  37. echo $leeftijd;
  38. }
  39. ?>

als je dan bv na deze code zo iets wil oproepen: echo object->naam dan echo't hij niks 
Offline Rens - 16/05/2005 14:44
Avatar van Rens Gouden medaille

Crew algemeen
komt omdat ik er een fetch_assoc van heb gemaakt (ze zeggen dat dat sneller is:?:).
  1. $fetch = mysql_fetch_assoc($qrie);
  2. $string = $fetch['geboortedatum'];


nu roep je ze zo aan:
  1. echo $fetch['naam'];


Het lag niet aan jou maar aan mij.
Ik was vergeten omdat er bij te zeggen.
Offline BasDV - 16/05/2005 14:46 (laatste wijziging 16/05/2005 14:46)
Avatar van BasDV MySQL interesse hoe kan je het zo neerzetten dat die echo na deze code het weer wel doet?
Offline Rens - 16/05/2005 14:47
Avatar van Rens Gouden medaille

Crew algemeen
Uhm, wat bedoel je?:s
Offline BasDV - 16/05/2005 18:08 (laatste wijziging 16/05/2005 18:11)
Avatar van BasDV MySQL interesse laat maar, bedankt voor je hulp mijn probleem is nu opgelost!

vinTage edit : fijn dat je die informatie ook aan ons meedeelt, zo heeft een ander er ook wat aan....
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2025 Sitemasters.be - Regels - Laadtijd: 0.208s