Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
760 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Besoin d'un génie lol pour résoudre $donnees['variable']

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Besoin d'un génie lol pour résoudre $donnees['variable']

n°1577619
blaster59
Posté le 21-06-2007 à 13:39:10  profilanswer
 

voila j'ai sorti des données e ma base avec $donnees
exemple $donnees['pseudo'] équivant à blaster 59  
 
 
mais je veux faire une fonction while en incrémentant (pour avoir $donnees['1'] puis $donnees['2']
 
donc j'appelle cette variable pour incrementer $variable tel que
 
while ($variable != 12) {
echo $donnees['".$variable."'] ;  
$variable = $variable +1 ;
}
 
mais $donnees['".$variable."'] n'est pas reconnu par le php , pouvez vous m'aidez ?

mood
Publicité
Posté le 21-06-2007 à 13:39:10  profilanswer
 

n°1577631
AlphaZone
Posté le 21-06-2007 à 14:08:46  profilanswer
 

blaster59 a écrit :

voila j'ai sorti des données e ma base avec $donnees
exemple $donnees['pseudo'] équivant à blaster 59

 


mais je veux faire une fonction while en incrémentant (pour avoir $donnees['1'] puis $donnees['2']

 

donc j'appelle cette variable pour incrementer $variable tel que

 

while ($variable != 12) {
echo $donnees['".$variable."'] ;
$variable = $variable +1 ;
}

 

mais $donnees['".$variable."'] n'est pas reconnu par le php , pouvez vous m'aidez ?

 

Oui, Bonjour.

 

C'est un peu du n'importe quoi, mais bon. On va corriger le tire.

 

Premièrement, tu devrais initialiser $variable à 0
Secondement, ce que tu fais est complètement inutile. Tu n'as pas besoin de mettre un chiffre dans des quotes.
Troisièment, voici la solution :

Code :
  1. for ($i = 0; $i < 12; $i++) {
  2. $donnees[$i] = quelquechose;
  3. }


 ou

Code :
  1. for ($i = 0; $i < count($donnees); $i++) {
  2. $donnees[$i] = quelquechose;
  3. }


Message cité 1 fois
Message édité par AlphaZone le 21-06-2007 à 14:09:36

---------------
"Nous avons tous nos machines du temps. Celles qui nous ramènent en arrière sont les souvenirs, celles qui nous projettent en avant sont les rêves."
n°1577669
blaster59
Posté le 21-06-2007 à 15:09:54  profilanswer
 

merci , je vais essayer je dirais si cela à fonctionner

n°1577712
WiiDS
20 titres en GC, 0 abandon, 0 DQ
Posté le 21-06-2007 à 16:23:02  profilanswer
 

AlphaZone a écrit :

Oui, Bonjour.
 
C'est un peu du n'importe quoi, mais bon. On va corriger le tire.
 
Premièrement, tu devrais initialiser $variable à 0
Secondement, ce que tu fais est complètement inutile. Tu n'as pas besoin de mettre un chiffre dans des quotes.
Troisièment, voici la solution :

Code :
  1. for ($i = 0; $i < 12; $i++) {
  2. $donnees[$i] = quelquechose;
  3. }


 ou

Code :
  1. for ($i = 0; $i < count($donnees); $i++) {
  2. $donnees[$i] = quelquechose;
  3. }



 
Et foreach ?
 

Code :
  1. foreach($donnees as $var) {
  2. echo $var;
  3. }


 
Je rajouterais que si tu veux extraire tout $donnees['pseudo'], il faut procéder avec $donnees['pseudo'] dans foreach


---------------
"I can cry like Roger. It's just a shame I can't play like him" - Andy Murray, 2010
n°1577727
AlphaZone
Posté le 21-06-2007 à 16:59:37  profilanswer
 

Oops! Je l'ai zappé celui là ^^ Et pourtant ce n'est pas la première fois que je l'utilise. Honte à moi.


---------------
"Nous avons tous nos machines du temps. Celles qui nous ramènent en arrière sont les souvenirs, celles qui nous projettent en avant sont les rêves."
n°1577790
blaster59
Posté le 21-06-2007 à 20:34:55  profilanswer
 

aparament c'est plus compliquer enfaite ma base fait :
 
Base inventaire  
 
pseudo | 1 | 2 | 3 |
 
test07  | 3 | 1 | 4 |  
 
et la table objet
 
id | nom | type |             ( le type ici ne sert a rien)
 1 | potion | 2 |
 2 | arc | 1 |  
 
 
(en gros raccourci)  
 
j'ai d'après vous
 
for ($i = 0; $i < 12; $i++) {  
 
$reponses = mysql_query("SELECT * FROM `inventaire` WHERE `pseudo` = '".$pseudo."' LIMIT 0,1" );
    $lot = mysql_fetch_array($reponses);
 
$valeur = $lot[$i] ; // apparament cette ligne ne marche pas
 
$dabo = mysql_query("SELECT * FROM `objet` WHERE `id` = '".$valeur."' LIMIT 0,1" );
    $si = mysql_fetch_array($dabo);  
 
echo $si['nom'] ;
echo "<br />
 
}
 
et cela ne marche toujours pas

n°1577797
hackzor
Posté le 21-06-2007 à 21:23:11  profilanswer
 

salut,
 
premierement, il faut que tu commence ta boucle a 1 puisque dans ta table tu commence a 1.
et que ca soit < et = a 12.
 
ensuite sort $reponses et $lot de ta boucle,
tu n'a pas besoin de refaire ta requete a chaque boucle.
 
comme ca :

Code :
  1. $reponses = mysql_query("SELECT * FROM `inventaire` WHERE `pseudo` = '".$pseudo."'" );
  2.     $lot = mysql_fetch_array($reponses);
  3. for ($i = 1; $i <= 12; $i++)
  4.      $valeur = $lot[$i] ;
  5.      $dabo = mysql_query("SELECT * FROM `objet` WHERE `id` = '".$valeur."'" );
  6.      $si = mysql_fetch_array($dabo); 
  7.      echo $si['nom'] ;
  8.      echo "<br />
  9. }


 
sinon le LIMIT 0,1 ne sert a rien puisque tu ne fait appel a mysql_fetch_array qu'une seul fois.
enfin moi je ferais comme ca
 
voila, j'espere t'avoir aidé.
 
hackzor

n°1577802
WiiDS
20 titres en GC, 0 abandon, 0 DQ
Posté le 21-06-2007 à 21:53:27  profilanswer
 

Arrêtez le massacre svp, for pour traiter un array y'a rien de plus sale, utilisez foreach ...


---------------
"I can cry like Roger. It's just a shame I can't play like him" - Andy Murray, 2010
n°1577805
hackzor
Posté le 21-06-2007 à 21:58:23  profilanswer
 

premierement, j'ai repris son code.
ensuite il n'a pas forcement besoin de toutes les données de sa bdd.
a priori, il n'a besoin que des valeurs numeriques, puis on ne sais pas ce qu'il a apres...
 
m'enfin...
 
Hackzor

n°1577806
WiiDS
20 titres en GC, 0 abandon, 0 DQ
Posté le 21-06-2007 à 22:00:43  profilanswer
 

hackzor a écrit :

premierement, j'ai repris son code.
ensuite il n'a pas forcement besoin de toutes les données de sa bdd.
a priori, il n'a besoin que des valeurs numeriques, puis on ne sais pas ce qu'il a apres...
 
m'enfin...
 
Hackzor


LIMIT pour les valeurs.
 
Le mieux serait qu'il nous passe son code + ce qu'il veut faire comme ca on serait fixés.


---------------
"I can cry like Roger. It's just a shame I can't play like him" - Andy Murray, 2010
mood
Publicité
Posté le 21-06-2007 à 22:00:43  profilanswer
 

n°1577809
hackzor
Posté le 21-06-2007 à 22:05:31  profilanswer
 

ouaip, ta raison.
 
mais ca ca devrait marcher dans un premier temps, par la suite il verra.
 
Hackzor

n°1577861
blaster59
Posté le 22-06-2007 à 09:12:05  profilanswer
 

bonne nouvelle et mauvaise , le scrit marche (plus d'erreur indiquez) mais le  
 
<?
echo $si['nom'] ;
?>
donnez quelque chose uniquement à partir de $i == 3 , or ma table mysql est bien remplis en 1 et en 2

n°1577862
blaster59
Posté le 22-06-2007 à 09:16:54  profilanswer
 

nan c'est bon j'ai rien dit , c'est une erreur de ma part , enfete c'est pas id = ".$valeur." c'est id = ".$i."

n°1577863
hackzor
Posté le 22-06-2007 à 09:18:36  profilanswer
 

ok bon courage pour la suite

n°1577864
blaster59
Posté le 22-06-2007 à 09:18:47  profilanswer
 

merci beaucoup je pense que le sujet est clos merci encore de votre aide (quel soulagement de pas devoir faire du copier / coller)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Besoin d'un génie lol pour résoudre $donnees['variable']

 

Sujets relatifs
[VBA Excel]Passage d'une variable d'un Userform à un autre[Mysql/PHP] variable avec des " et '
[resolu] Ajouts de données sql par phpVariables environnement du serveur
redirection de variable avec sessionsInstallation Hardware fichier inf besoin d'aide
caractères spéciaux : extraction de base de données pour XMLConnexion a plusieur base de données
Récupération variable js avec mootools[Jscript] doubler les slash d'une variable
Plus de sujets relatifs à : Besoin d'un génie lol pour résoudre $donnees['variable']


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR