Requete SELECT + boucle pour alimenter un tableau

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Requete SELECT + boucle pour alimenter un tableau

par jay64 » 19 févr. 2009, 12:51

Effectivement, j'aurais du être plus explicite ... :?

Mais merci en tout cas, c'est bien ta deuxième proposition que j'attendais, et le résultat obtenu est parfait ! :D

par Ryle » 19 févr. 2009, 12:38

Et qu'est ce que tu attends (nan parce que ce sera peut être plus simple de commencer par là ;))

L'instruction "$IdVoteurAmis[] = Array($IdVoteur);" va avoir pour effet d'ajouter dans le tableau $IdVoteurAmis un nouvel élément qui sera un tableau (Array()) contenant un seul élément : la valeur de $IdVoteur.

Code : Tout sélectionner

Array ( [0] => Array ( [0] => 3 ) [1] => Array ( [0] => 18 ) [2] => Array ( [0] => 443 ) [3] => Array ( [0] => 444 ) [4] => Array ( [0] => 65 ) )
Si c'est un tableau d'id que tu veux obtenir, alors vire l'instruction Array() qui créer à chaque fois un nouveau tableau : "$IdVoteurAmis[] = $IdVoteur;" et tu obtiendras ce résultat :

Code : Tout sélectionner

Array ( [0] => 3 [1] => 18 [2] => 443 [3] => 444 [4] => 65 )

par jay64 » 19 févr. 2009, 00:17

quand je rajoute les crochets, le print_r me renvoie ceci cette fois-ci :

Code : Tout sélectionner

Array ( [0] => Array ( [0] => 3 ) [1] => Array ( [0] => 18 ) [2] => Array ( [0] => 443 ) [3] => Array ( [0] => 444 ) [4] => Array ( [0] => 65 ) )
C'est bizarre, pas du tout ce que j'attends ...

par Ryle » 18 févr. 2009, 22:22

A chaque itération de ta boucle while, tu vas écraser ta variable $IdVoteurAmis :
$IdVoteurAmis = Array($IdVoteur); 
Résultat, quand tu sors de ta boucle, ta variable ne contient que la dernière valeur que tu y as stocké...

tu peux ajouter des crochets si tu veux que les données soient dans un tableau ou utiliser des fonctions du genre array_push() :
$IdVoteurAmis[] = Array($IdVoteur);

Requete SELECT + boucle pour alimenter un tableau

par jay64 » 18 févr. 2009, 21:47

Bonjour,

Je n'arrive pas à alimenter correctement un tableau, dont les valeurs sont issues d'une requete SELECT placée elle-même dans une boucle :
//on récupére les amis utilisant l'appli
$aFriends = $oFacebook->api_client->friends_getAppUsers();   
// on récupère leurs identifiants Facebook
foreach ($aFriends as $iKey => $sFriend) 
{
	$query_RecupIdVoteurAmis = "SELECT IdVoteur FROM Inscrits_RDP WHERE IdFacebook = '$sFriend'";
	$RecupIdVoteurAmis = mysql_query($query_RecupIdVoteurAmis, $connexion_bdd_mysql) or die(mysql_error());
	while ($ligne_RecupIdVoteurAmis=mysql_fetch_array($RecupIdVoteurAmis))
	{ extract($ligne_RecupIdVoteurAmis);
	$IdVoteurAmis = Array($IdVoteur);
	}
}
print_r($IdVoteurAmis);   
En l'état, mon print_r() n'affiche rien de valable, ce qui ne m'étonne qu'à moitié :?

Pouvez-vous m'aider ?

Merci !