Tom's Guide > Forum > Programmation > [PHP] Problème de variables, d'array, et de formulaires

[PHP] Problème de variables, d'array, et de formulaires

Forum Programmation : [PHP] Problème de variables, d'array, et de formulaires

TomsGuide.com : 800 000 inscrits répondent à toutes vos questions high-tech et informatique. Pour obtenir de l'aide, inscrivez-vous gratuitement !
Mot :    Pseudo :           
 

Bonsoir à tous,

J'ai un petit soucis sur le traitement d'un gros formulaire.
J'explique simplement : 30 cases à cocher. On fait ok.
Si la case est coché, ca affiche un second formulaire (donc dans une seconde page, qui traite le premier formulaire).
Vu le nombre de checkbox, j'ai décidé de faire un boucle.

Exemple du traitement des check box :

Citation :


//On regarde si les checkbox sont cochés, si oui on prépare une //variable contenant ce qui devra rentrer dans l'array

$compta30=$_POST['compta30'];
if (!empty($compta30))
{$compta30='"Comptabilité 30" => "compta30" ';}
else {$compta30='';}
$gescom30=$_POST['gescom30'];
if (!empty($gescom30))
{$gescom30='"Gestion commerciale 30" => "gescom30" ';}
else {$gescom30='';}

//On fait la variable tableau

$produits = array(
$compta30.',
'.$gescom30);

//On fait la boucle pour ressortir le formulaire :

foreach ($produits AS $nom => $nom_var)
{
echo '
<tr>
<td>
'.$nom.'<br />
<select name="'.$nom_var.'">
<option value="sql_sage">SQL Sage</option>
<option value="proprio">BDD Propriétaire</option>
<option value="sql_serveur" selected="selected">SQL Serveur</option>
<option value="oracle">Oracle</option>
</select>
</td>
</tr>';
}



Maintenant mon problème : ca me renvoit (si je coche les deux cases) ceci :

Citation :

0
[la liste déroulante]

Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.

je suppose qu'avec les "=>" tu veux faire clé => valeur comme pour un tableau, or, tu entoures par des '', ca donne donc des chaines de caractère.

et le tableau au final ne contient qu'un seul élément qui est la chaine de caractère complère.


pour la boucle, je suppose que le but est d'avoir autant d'éléments dans la liste déroulante que dans le tableau, or tu inclues "<select/>" dans la boucle, tu crée donc autant de liste déroulante que d'éléments dans le tableau.

------------------------------ Ne pas oublier le [resolu] pour finir le sujet.
Penser à voir les tutos, ca peut aider!
Répondre à coca25

Pour la boucle, non c'est bien ce que j'ai fait. Je veux une liste déroulante pour chaque case coché.

Et j'ai trouvé le problème, ce n'est pas la chène de caractère. On peut faire un tableau avec des chaines de caractère (vu sur le site du zéro).
En fait quand je lui donne la variable, au lieu de la lire, puis de considérer ce qu'il y a a l'intérieur, il ne voit que la variable. Donc il fait un tableau numéroté avec la liste des variables. D'où le "0" quand j'affiche le coté gauche du tableau (les clés, je sais je parle en terme d'impie ^^).

Voilà, j'ai mis la journée à trouver ca... merci quand même :)

Répondre à Trigium

Trigium a écrit :


Et j'ai trouvé le problème, ce n'est pas la chène de caractère. On peut faire un tableau avec des chaines de caractère (vu sur le site du zéro).


le chêne n'a rien à voir la dedans et je sais qu'on peut faire des tableaux avec des chaines de caractères, mais il y a une différence notable entre:

Code :
  1. $tab = array ("clé1 => valeur1, clé2 => valeur2" );


qui donnera un tableau à un seul élément qui sera:
$tab[0] contiendra "clé1 => valeur1, clé2 => valeur2"
et

Code :
  1. $tab = array ("clé1" => "valeur1", "clé2" => "valeur2" );


qui donnera un tableau à 2 éléments:
$tab["clé1"] contiendra "valeur1"
$tab["clé2"] contiendra "valeur2"

Trigium a écrit :


merci quand même :)


de rien

------------------------------ Ne pas oublier le [resolu] pour finir le sujet.
Penser à voir les tutos, ca peut aider!
Répondre à coca25

Oui oui je comprends ce que tu veux dire, mais la variable que je donnais pour le tableau contenait : "Comptabilité 30" => "compta30"
Donc je pensais que ca ferai un tableau associatif.
Mais non comme je donne une variable il voit pas que y'a deux chaines dedans ^^

Répondre à Trigium

Trigium a écrit :


Mais non comme je donne une variable il voit pas que y'a deux chaines dedans ^^


c'est pas qu'il ne voit pas, tout langage a des règles, l'une de ces règles est qu'une chaine de caractère peut etre entouré par des " ou par des '
tu assignes à une variable ' "toto" => "machin" '
du fait des ', ca fait une chaine de caractère
après, on peut inventer des choses, mais c'est plus du php :p


Message édité par coca25 le 20-06-2008 à 21:34:08
------------------------------ Ne pas oublier le [resolu] pour finir le sujet.
Penser à voir les tutos, ca peut aider!
Répondre à coca25
Tom's Guide > Forum > Programmation > [PHP] Problème de variables, d'array, et de formulaires
Aller à :

Il y a 910 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Attention

Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois.
Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.

Répondre Annuler
Liens