login  Naam:   Wachtwoord: 
Registreer je!
 Forum

array vullen werkt niet

Offline markla - 28/03/2012 21:58
Avatar van marklaPHP interesse Misschien een hele domme vraag maar ik heb een functie gevonden die in theorie zou moeten doen wat ik wil.
het betreft deze functie http://www.tek-tips.com/faqs.cfm?fid=3493

de functie eist een bepaald formaat input. ik probeer dat
zo te doen:
  1. While ($record = mysql_fetch_array($res[0]))
  2. {
  3. $begin = array ('year' => $record['birth_year'], 'month' => $record['birth_month'], 'day' => $record['birth_day']);
  4. $end = array ('year' => $record['game_year'], 'month' => $record['game_month'], 'day' =>$record['game_day']);
  5. echo'$begin'
  6. echo'$end'
  7.  
  8. }

(er zit meer code om heen maar het gaat mij nu even om het vullen van de array)

maar dan krijg ik als waarde de tekst array :-(

wat doe ik verkeerd?

8 antwoorden

Gesponsorde links
Offline vinTage - 28/03/2012 22:10 (laatste wijziging 28/03/2012 22:12)
Avatar van vinTage Nieuw lid Als je een array aanmaakt, dan is het toch niet gek dat er een array uitgespuugd wordt ? 
Maar ik verwacht dat als je ipv echo $begin en $end, dit doet:


  1. While ($record = mysql_fetch_array($res[0]))
  2. {
  3. $begin = array ('year' => $record['birth_year'], 'month' => $record['birth_month'], 'day' => $record['birth_day']);
  4. $end = array ('year' => $record['game_year'], 'month' => $record['game_month'], 'day' =>$record['game_day']);
  5. echo date_difference ($begin, $end);
  6.  
  7. }

het er op begint te lijken.


Een en ander zou imo ook wel iets deftiger kunnen via de query zelf, maar dat is mss offtopic ? 
Offline markla - 28/03/2012 22:26
Avatar van markla PHP interesse Klopt

ik ben nu alleen aan het uittesten of alle vars wel goed (gevuld) worden

Feitelijk wil ik dit doen :
[code=php]
$foo = date_difference ($begin, $end);
if ($foo !== FALSE)
{
$age_at_game= ($foo);
}
else
{
$age_at_game = '??';
}
[/code=php]

en dan de $age_at_game plaatsen waar ik hem nodig heb
Offline vinTage - 28/03/2012 22:31
Avatar van vinTage Nieuw lid Ik zou zelf eerder iets met mysql zelf iets doen ipv die functie die jij gebruikt.

Hier staat vast iets bij wat nuttig kan zijn voor je 
Offline markla - 28/03/2012 22:40
Avatar van markla PHP interesse @vinTage

Thanks

maar degelijke scripts heb ik door gespit maar dan krijg ik niet het resultaat dat ik wil hebben.
van een speler wil ik weten hoe oud (jaar ,maanden en weken) hij was op wedstrijd datum.
Dit schijnt best complex te zijn ivm schrikkeljaren lege geboortedata etc

nu kwam een (php) programmeur met eerder genoemd script. en ik kan de vars geboortedatum en wedstrijd datum zonder wel meegeven aan de function. Maar dan krijg ik errors.

Maar die functie zou moeten doen wat ik graag wil hebben, vandaar dat ik nu alleen nog naar de methode zoek om de juiste input te geven aan de functie.
in de query doe ik al:
  1. DATE_FORMAT(p.Player_Geb_Date, '%Y%m%d') as birthdate,
  2. DATE_FORMAT(g.Game_DateTime, '%Y%m%d')as gamedate,

Offline vinTage - 28/03/2012 22:49
Avatar van vinTage Nieuw lid als je lege geboortedata hebt kun je er nooit iets met eender welk script 

Sinds je met weken werkt ipv dagen, dan maakt een schrikkeljaar niet echt veel uit imo?

Nu weet ik niet wat je db output is als er 'geen' resultaat is, maar stel dat het een leeg array is, dan kun je bv zo iets doen:

  1. echo count($begin) < 1 ? 'geen geboortejaar bekend' : date_difference ($begin, $end);


Offline markla - 28/03/2012 23:08
Avatar van markla PHP interesse Als er geen geboortedatum is dan geeft de database NULL

de function date_difference vangt dat af.

wat ik ook doe met DATE_FORMAT de function date_difference EIST dat ik een array als input en dat zou het moeten werken
Offline vinTage - 29/03/2012 21:47
Avatar van vinTage Nieuw lid
markla schreef:
de function date_difference EIST dat ik een array als input en dat zou het moeten werken


markla schreef:
maar dan krijg ik als waarde de tekst array :-(


^^

Hetgeen ik suggereerde is dat je bv checked of $begin of $end wel een array is met waardes (count)
Offline christophe195 - 31/03/2012 22:04
Avatar van christophe195 Lid uitlezen...
  1. print_r($begin);
  2. print_r($eind);


Dan worden ze uitgelezen en weergegeven
Gesponsorde links
Je moet ingelogd zijn om een reactie te kunnen posten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.241s