construire Array dynamique

VaN
Mammouth du PHP | 1107 Messages

08 nov. 2005, 16:23

Hello,

J'aimerais construire un tableau dynamique, et que celui-ci ressemble à ça au final :
<?php
// on recupere l'id_user de chaque reservation sur la soirée donnée 
                $query_res = array( 
                array("username"=>"toto","nb_pc"=>10), 
                array("username"=>"momo","nb_pc"=>5), 
                array("username"=>"popo","nb_pc"=>14) 
                );
?>
Voici mon code, je peine un peu : /
?php
// on recupere l'id_user de chaque reservation sur la soirée donnée
					$sql_res = 	"SELECT id_res, id_user, nb_pc, username
								FROM calendar_reservation, frm_users
								WHERE id_soiree=".$result_check_soiree['id_soiree']."
								AND calendar_reservation.id_user = frm_users.user_id
								ORDER BY id_res";
					$query_res = mysql_query($sql_res);
					
					// si la requete renvoie quelquechose, on execute la boucle
					while ($result_res = mysql_fetch_array($query_res))
					{
					// on recupere l'id_user de chaque reservation sur la soirée donnée 
					$tab .= array("username"=>$result_res['username'],"nb_pc"=>$result_res['nb_pc'],"id_user"=>$result_res['id_user']);
				}

Mammouth du PHP | 983 Messages

08 nov. 2005, 16:27

Pour ajouter dans un tableau, il faut utiliser [] et non pas l'opérateur de concaténation de chaîne.
<?php
// on recupere l'id_user de chaque reservation sur la soirée donnée
                    $sql_res =     "SELECT id_res, id_user, nb_pc, username
                                FROM calendar_reservation, frm_users
                                WHERE id_soiree=".$result_check_soiree['id_soiree']."
                                AND calendar_reservation.id_user = frm_users.user_id
                                ORDER BY id_res";
                    $query_res = mysql_query($sql_res);
                    
                    // si la requete renvoie quelquechose, on execute la boucle
                    while ($result_res = mysql_fetch_array($query_res))
                    {
                    // on recupere l'id_user de chaque reservation sur la soirée donnée
                    $tab[] = array("username"=>$result_res['username'],"nb_pc"=>$result_res['nb_pc'],"id_user"=>$result_res['id_user']);
                }
?>

VaN
Mammouth du PHP | 1107 Messages

08 nov. 2005, 16:34

Merci, effectivement ça marche mieux.

Mais mtnt j'ai un probleme pour ressortir les lignes :
foreach($tab[]) {}
ne marche pas : /
il me ressort l'erreur Fatal error: Cannot use [] for reading in c:\program files\easyphp1-7\www\calendrier\calendrier.php on line 446

[edit]
trouvé :
foreach($tab[] as $result_res) 

Mammouth du PHP | 983 Messages

08 nov. 2005, 16:37

La syntaxe de foreach, c'est:
foreach($tab as $result_res)
   echo result_res;