[RESOLU] PHP+Array + boucle while

PHP+Array + boucle while [RESOLU] - PHP - Programmation

Marsh Posté le 04-06-2008 à 22:20:16    

Bonjour,
 
j'ai un petit soucis :
 
j'ai une boucle while, et à chaque tour de cette boucle je souhaite ajouter une valeur à un tableau
 
$ydonnees = array(); // création de mon tableau
 
while (mysql_fetch_array($sql) { // ma requete sql récupère une valeur numérique
 
array_push($ydonnees, $sql['nb']); // j'ajoute au tableau la valeur retournée par ma requête
 
}
 
 
Mais lors d'un print_r($ydonnees) cela me retourne soit "Array" soit "ressource id#"
 
Vous pouvez m'aider svp ?
 
Merci


Message édité par agassi6 le 05-06-2008 à 10:15:26
Reply

Marsh Posté le 04-06-2008 à 22:20:16   

Reply

Marsh Posté le 04-06-2008 à 22:25:14    

Code :
  1. $ydonnees = array(); // ok
  2. while ($row = mysql_fetch_assoc($sql)) // moi je fais comme ca un mysql_fetch_*
  3.    $ydonnees[] = $row['nb']; // array[] doit faire le meme effet que array_push(array, val)


Message édité par tomsoft le 04-06-2008 à 22:26:53
Reply

Marsh Posté le 04-06-2008 à 22:46:24    

Code :
  1. <?php
  2.  
  3. $link = mysql_connect("localhost", "root", "" )
  4.    or die("Impossible de se connecter : " . mysql_error());
  5. $db_selected = mysql_select_db('compare', $link);
  6. if (!$db_selected) {
  7.   die ('Impossible de sélectionner la base de données : ' . mysql_error());
  8. }
  9.  
  10. $result = mysql_query('SELECT * from pc');
  11. if (!$result) {
  12.    die('Requête invalide : ' . mysql_error());
  13. }
  14.  
  15. $ydonnees = array(); // ok
  16. while ($row = mysql_fetch_assoc($result)) // moi je fais comme ca un mysql_fetch_*
  17. $ydonnees[] = $row['pc']; // array[] doit faire le meme effet que array_push(array, val)
  18.  
  19. echo $ydonnees;
  20.  
  21. mysql_close($link);
  22.  
  23. ?>


 
Cela me retourne toujours "Array" ... 2 fois car il y a 2 enregistrements dans ma base

Reply

Marsh Posté le 04-06-2008 à 22:49:06    

tu fais echo d'un array(tableau), c'est normal,

 

fais un :

 
Code :
  1. foreach ($ydonnees as $value) // parcourt le tableau sequetielement et met la valeur parcourue dans $value
  2.    echo $value . '<br>';

Message cité 1 fois
Message édité par tomsoft le 04-06-2008 à 22:50:21
Reply

Marsh Posté le 04-06-2008 à 22:53:31    

tomsoft a écrit :

tu fais echo d'un array(tableau), c'est normal,  
 
fais un :
 

Code :
  1. foreach ($ydonnees as $value) // parcourt le tableau sequetielement et met la valeur parcourue dans $value
  2.    echo $value . '<br>';



 
 
 
Super merci beaucoup, effectivement ça marche mieux maintenant !

Reply

Marsh Posté le 04-06-2008 à 22:58:24    

;)

 

la structure foreach est equivalente à

 
Code :
  1. for ($i = 0; $i < sizeof(array); $i++)
  2.    echo $array[$i];
 

ou

 
Code :
  1. $i = 0
  2. while($i < sizeof(array)){
  3.    echo $array[$i];
  4.    $i++;
  5. }



Message édité par tomsoft le 04-06-2008 à 22:58:40
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed