Pb boucle de récupération dans bdd mysql

Résolu
ciocciu Messages postés 42 Date d'inscription   Statut Membre Dernière intervention   -  
ciocciu Messages postés 42 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
je souhaite récuperer des dates enregistrée dans une bdd et les mettre dans un array
mon code marche plutot bien
le pb c'est qu'il me rate la 1ère date à chaque fois
		//requete sql trié par timestamp
	$datesql = mysql_query("SELECT ID,date_match FROM dates_matchs ORDER BY timestamp") or die(mysql_error()) ;
	$ldates = mysql_fetch_array($datesql);
$i=0;
	// on les met dans un array grace à une boucle
while ($ldates = mysql_fetch_array($datesql))
{$datef =$ldates['date_match'];


$arraydate[$i]=$datef;
$i++;


}


    print_r($arraydate);




et la dans le tableau affiché par le print_r j'ai 5 dates au lieu de 6
il manque la 1ère celle avec le timestamp le + petit

je pense que y'a un os dans ma boucle mais j'arrive pas à trouver où...
si une ame charitable passe dans le coin

merci mille fois
A voir également:

3 réponses

jypyx Messages postés 683 Date d'inscription   Statut Membre Dernière intervention   107
 
Et bien met $i=-1
Peut-être que ca va marcher !
0
Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention   894
 
Normal tu fais une fois mysql_fetch_array et ensuite tu le refait dans ta boucle

le principe lorsque tu fais une extraction de BDD ça met les résultats dans une zone mémoire

pour pouvoir les exploiter il faut les sortir

mysql_fetch_array fait ça ligne par ligne en vançant le pointeur de ligne à chaque fois

donc ton premier mysql_fetch_array lit et avance le pointeur de 1

ce qui fait que dans ta boucle while ensuite ça démre en 2 ième ligne


//requete sql trié par timestamp
	$datesql = mysql_query("SELECT ID,date_match FROM dates_matchs ORDER BY timestamp") or die(mysql_error()) ;
	
$i=0;
	// on les met dans un array grace à une boucle
while ($ldates = mysql_fetch_array($datesql))
{$datef =$ldates['date_match'];


$arraydate[$i]=$datef;
$i++;


}


    print_r($arraydate);




ça devrait mieux aller comme ça non ?
@lain
0
ciocciu Messages postés 42 Date d'inscription   Statut Membre Dernière intervention   7
 
super merci bcp alain
c'était exactement le pb
c'est résolu
bye
:-))
0