Besoin d'un génie lol pour résoudre $donnees['variable'] - PHP - Programmation
Marsh Posté le 21-06-2007 à 14:08:46
blaster59 a écrit : voila j'ai sorti des données e ma base avec $donnees
donc j'appelle cette variable pour incrementer $variable tel que while ($variable != 12) { 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 :
|
ou
Code :
|
Marsh Posté le 21-06-2007 à 16:23:02
AlphaZone a écrit : Oui, Bonjour.
|
Et foreach ?
Code :
|
Je rajouterais que si tu veux extraire tout $donnees['pseudo'], il faut procéder avec $donnees['pseudo'] dans foreach
Marsh Posté le 21-06-2007 à 16:59:37
Oops! Je l'ai zappé celui là ^^ Et pourtant ce n'est pas la première fois que je l'utilise. Honte à moi.
Marsh Posté le 21-06-2007 à 20:34:55
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
Marsh Posté le 21-06-2007 à 21:23:11
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 :
|
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
Marsh Posté le 21-06-2007 à 21:53:27
Arrêtez le massacre svp, for pour traiter un array y'a rien de plus sale, utilisez foreach ...
Marsh Posté le 21-06-2007 à 21:58:23
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
Marsh Posté le 21-06-2007 à 22:00:43
hackzor a écrit : premierement, j'ai repris son code. |
LIMIT pour les valeurs.
Le mieux serait qu'il nous passe son code + ce qu'il veut faire comme ca on serait fixés.
Marsh Posté le 21-06-2007 à 22:05:31
ouaip, ta raison.
mais ca ca devrait marcher dans un premier temps, par la suite il verra.
Hackzor
Marsh Posté le 22-06-2007 à 09:12:05
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
Marsh Posté le 22-06-2007 à 09:16:54
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."
Marsh Posté le 22-06-2007 à 09:18:47
merci beaucoup je pense que le sujet est clos merci encore de votre aide (quel soulagement de pas devoir faire du copier / coller)
Marsh Posté le 21-06-2007 à 13:39:10
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 ?