passer le resultat d une requete en array

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 : passer le resultat d une requete en array

par orgerix » 05 juin 2007, 16:49

Et en plus ca permet d'échapper les valeur, dans le cas de valeurs recu par POst ou via l'URL.

A propos, est ce possible de contrefaire une variable de session ? Non pas que je veuille le faire, mais c'est pour savoir si c'est une méthode fiable (ou plutot relativmeent fiable pour les données d'importances moyennes)

par Ryle » 05 juin 2007, 15:07

Mouhahahahahaaaa !! :) (pour une fois que ce n'est pas moi qui me fait griller, j'en profite ;))

Tiens pis j'en profite aussi pour quelques remarques qui te serviront par la suite :

- si le seul champ que tu utilises dans ta requête est 'id', évite le " SELECT * " qui te rammene inutilement toutes les autres informations dont tu n'as que faire
- Pense également à mettre des guillemets ou des apostrophes quand tu utilises des index, ce sont des chaines de caractères qu'il faut donc délimiter. PHP tolère leur absence et converti une chaine qu'il ne connait pas en sa valeur String, mais c'est lui donner du travail supplémentaire pour rien ;)
- Pis enfin, pense à sortir les variables des chaines de caractères, c'est plus lisible (surtout avec la coloration syntaxique) et cela évite les soucis le jour où tu délimites avec des apostrophes :)
$Req = 'SELECT id FROM membres  WHERE IdMembre=' . $_SESSION['IdMemb'];

par orgerix » 05 juin 2007, 14:57

Il suffit de remplacer
$Id= implode(",", $row[Id]); 
par
$Id[]= $row[Id]; 
et tu aura un tableau d'id

EDIT :Grillé par le grand maitre Ryle :D

par Invité » 05 juin 2007, 14:56

merci pour ta reponse :) :D

par Ryle » 05 juin 2007, 14:54

La fonction implode rassemble les éléments d'un tableau en une chaîne, hors là tu vas récupérer tous tes éléments un par un dans ta boucle...

Tu peux donc soit les mettre dans un tableau sur lequel tu feras un implode :
$monTableau = array(); // déclare le tableau
while ($row = mysql_fetch_assoc(...))  
{ 
   $monTableau[] = $row['...']; // ajoute l'élément au tableau
} 
Tu pourras alors faire un implode() du tableau pour générer ta chaine d'ids.

Sinon, tu peux directement concaténer tes variables dans une chaine :
$maChaine = ''; // déclare la chaine
while ($row = mysql_fetch_assoc(...))  
{ 
  if ($maChaine!='') // ajoute une virgule entre les éléments
    $maChaine .= ',';

  $maChaine .= $row['...']; // ajoute l'élément dans la chaine
} 

passer le resultat d une requete en array

par Invité » 05 juin 2007, 14:32

bonjour a tous

voila mon probleme
apres une requete , je recupere des id,

je dois les passer en array pour les utiliser dans une autre requete:not in ('ici les id recuperes')

mon probleme est de passer les id en array

$Req = "SELECT * FROM membres  WHERE IdMembre=$_SESSION[IdMemb] ";
	$Cur = mysql_query($Req);
	$Nb = mysql_numrows($Cur);
	
if($Nb>0) 
{
while ($row = mysql_fetch_array($Cur)) 
{
   $Id= implode(",", $row[Id]);
}
}
merci pour votre aide !!!! :D