Récupération de variables en boucle - PHP - Programmation
Marsh Posté le 11-05-2006 à 15:30:13
ReplyMarsh Posté le 11-05-2006 à 15:39:31
flo850 a écrit : essaye ${'sa_journaliste'.$i} |
Merci de la réponse, mais hélas ça ne fonctionne pas.
Il me renvoie comme erreur qu'il ne trouve pas les variables...
Marsh Posté le 11-05-2006 à 15:41:24
et pourquoi tu ne stockerai pas plutot tes données dans un tableau ( c'est prevu pour a la base ) :
$tab[$i]['sa_nom]=$_POST['sa_nom'.$i];
Marsh Posté le 11-05-2006 à 15:44:30
fais plutôt un tableau que de la concaténation de variable.
$sa_nom.$i devient $sa_nom[$i]
et fais plutôt ta boucle avec while($i < $inc) : on sait jamais, si t'as un bug et que $inc n'est pas un entier, la boucle sera infinie.
Marsh Posté le 11-05-2006 à 15:55:15
Djebel1 a écrit : fais plutôt un tableau que de la concaténation de variable. |
Pour le "<" je l'ai fait, effectivement c'est pitete mieux
Concernant les tableaux, je vais m'y mettre dans ce cas (je suis pas très à l'aise avec, c'est le moment de le devenir ), merci de vos conseils.
Amicalement,
Marsh Posté le 11-05-2006 à 15:58:29
les tableaux associatifs sont tres tres tres pratique
en ne les utilisant, tu passe a cote d'une des principales fonctionnalités de php
apres, tu utilise
foreach($tab as $cle => $valeur){
}
pour le parcourir
Marsh Posté le 11-05-2006 à 16:16:24
ou par exemple
$x = 0;
while (isset($tab[$x])) {
$x++;
}
si la clé est numérique
Marsh Posté le 11-05-2006 à 16:32:13
Djebel1 a écrit : ou par exemple |
ceci ne fonctionne qu'avec des clé consécutives
l'avantage du php est de permettre d'utiliser n'importe quoi comme clé ( des nombre, mais aussi des chaînes de caractères )
Marsh Posté le 11-05-2006 à 17:01:21
Merci à tous !
Ce forum est une merveille pour les petites entraides comme ça .
... et je me rends compte que les tableaux c'est effectivement puissant !
Marsh Posté le 11-05-2006 à 17:30:42
quand la question est posée intelligement, il y a generalement une reponse intelligente
Marsh Posté le 11-05-2006 à 18:25:59
Pour info tu n'as même pas besoin d'utiliser Php pour générer tes champs.
Au lieu de mettre ça :
<input type='text' name='sa_nom".$i." size='40'>
Tu peux mettre ça :
<input type="text" name="sa_nom[]" size="40">
Tu récupère de l'autre côté un taleau sa_nom avec toutes les données dedans
Marsh Posté le 12-05-2006 à 10:04:53
Dj YeLL a écrit : Pour info tu n'as même pas besoin d'utiliser Php pour générer tes champs. |
ah oui en effet
Mais j'avoue que je préfère ma solution par soucis de clareté, je ne suis pas programmeur, juste bidouilleur .
Mais merci de l'info .
L'idéal serait de choisir le nombre de champs en direct, mais là je crois qu'on est dans le domaine du javascript non ?
Marsh Posté le 12-05-2006 à 10:24:47
oui
et a mon avis , c'est loin d'etre l'ideal
Marsh Posté le 12-05-2006 à 10:36:29
Si ${'sa_journaliste'.$i} ne fonctionne pas... Pourquoi n'utilise pas une global ? ex:$GLOBALS['sa_journaliste'.$i] = ...
Marsh Posté le 11-05-2006 à 15:21:51
Bonjour,
Je crée un formulaire qui a un nombre de champs variables (on choisi d'abord le nombre d'article à faire, et le formulaire est généré en fonction de ça). Le formulaire se génère sans souci. Voici son code : (où $nb est le nombre d'articles choisi, sur la page précédente).
Aucun souci quand je regarde le code source, il crée bien un "sa_nom0", "sa_nom1", etc etc...
Là où ça se gâte, c'est pour récupérer mes variables en boucle...
Voici le code que j'utilise :
où je définis $inc comme étant le nombre d'articles (je le récupère à nouveau).
J'ai un peu essayé de retourner ça dans tous les sens (mais jamais dans le bon 'faut croire ), mais rien à faire, où bien il ne garde que la dernière valeur, ou bien il boucle sans s'arrêter...
Si quelqu'un sait m'aider... Merci
Message édité par clemdups le 11-05-2006 à 15:23:44