Aucun affichage

Résolu
Mika0931 -  
 Mika0931 -
Bonjour,

Je récupère des valeurs de la base de données que je rentre dans un tableau mais lorsque je veux afficher les valeurs de mon tableau, aucune valeur ne ressort, voici mon code :

$j = 0; 
while ($client_id = tep_db_fetch_array( $client_array_id_final )) 
{ 
 $client_id[$j] = $client_id['nb_avoirs']; 
 echo '<br/>'; 
 echo $client_id[$j];//L'affichage se fait sans problème 
 $p = 'toto'; 
 $j++; 
} 
$j=0; 
echo 'test : '; 
echo $client_id[$j]; //Aucun affichage 



Lorsque je sors de la boucle, on dirait que le tableau a perdu toutes les valeurs qu'il contenait...

J'espère que vous pourrez m'aider, merci d'avance Mika



4 réponses

avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
$client_id vaut false après la boucle car on lui attribut ce que la fonction tep_db_fetch_array() retourne. Lorsqu'il n'y a plus de ligne à lire, elle retourne false, et donc la boucle s'arrête.
0
Mika0931
 
Ah ok et du coup comment je fais pour récupérer les valeurs de mon tableau après cette boucle?

Merci de ta réponse
0
avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
Tu peux stocker le tableau dans une variable, qui elle, ne sera pas modifier par après, à l'appel de tep_db_fetch_array().

$j = 0;
$last = null;

while ($client_id = tep_db_fetch_array( $client_array_id_final )) { 
 $last = $client_id;
 $client_id[$j] = $client_id['nb_avoirs']; 
 echo '<br/>'; 
 echo $client_id[$j];//L'affichage se fait sans problème 
 $p = 'toto'; 
 $j++; 
} 
$j=0; 
echo 'test : '; 
echo $last[$j]; //Aucun affichage 
0
Mika0931
 
Yes merci, sinon je viens de tester cette méthode et ça marche (elle rejoint la tienne mais je me sers d'un autre tableau) :

$j = 0;
while ($client_id = tep_db_fetch_array( $client_array_id_final ))
{
	$client_id[$j] = $client_id['nb_avoirs'];

	$customers_id[$j] = $client_id[$j]; // Nouveau tableau

	echo '<br/>';
	echo $client_id[$j];
	echo $customers_id[$j];
	$p = 'toto';
	$j++;
}
$j=0;
echo 'test : ';
echo $customers_id[$j];// Nouveau tableau, affichage OK



Encore merci de ton aide
0