Aucun affichage

Résolu/Fermé
Mika0931 - Modifié par Mika0931 le 8/06/2010 à 15:45
 Mika0931 - 8 juin 2010 à 15:58
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
18742
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
25 mai 2022
4 391
8 juin 2010 à 15:49
$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
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
18742
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
25 mai 2022
4 391
8 juin 2010 à 15:53
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
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