IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Tableaux] Récupération de la valeur d'un tableau [Fait]


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Inscrit en
    Mai 2004
    Messages
    201
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 201
    Points : 140
    Points
    140
    Par défaut [Tableaux] Récupération de la valeur d'un tableau
    Bonjour à tous, voila j'ai un petit prb avec la recupération d'un check box multiple. je m'explique, j'ai un affichage de produit, qui contiens un champ de formulaire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    echo'<form name="ajout_pack" method="post" action="admin.creer_pack.php?etape=last">';
    		$j=0;	
    		// ligne servant de nommer les collones du tableau
    		echo '<tr bgcolor="#FF9900"> ';
    		echo '<td class="Style3">';
    		echo "Selectionner la partition </td>";
    		echo '<td class="Style3">';
    		echo "titre</td>";
    		echo '<td class="Style3">';
    		echo "auteur</td>";
    		echo '<td class="Style3">';
    		echo "editeur</td>";
    		echo '<td class="Style3">';
    		echo "genre</td>";
    		echo '<td class="Style3">';
    		echo "Niveau</td>";
    		echo '<td class="Style3">date</td>';
     
    			//tant qu'il y a des resultats  on affiche les lignes et cellules
    		while($resultat=mysql_fetch_object($result))
    		{
    			echo '<tr bgcolor="'.$couleur[$j%2].'"> ';
        		echo '<td class="style3">';
    			echo'<input type="checkbox" name=" pack[]" id="pack[]" value="'.$resultat->id_partition.'" multiple>';
    			echo '<input type="hidden" name="choix"  value="send">';
    			echo "</td>";
    ...
    je recupère la valeur de ce formulaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    if(isset($_GET["etape"]))
    {
    	$etape=$_GET["etape"];
    	if($etape=="last")
    	{
    		if(isset($_POST["pack"]))
    		{
    			$partitions=$_POST["pack"];
    			$nb_element=count($partitions); // on utilise la fonction count afin de savoir combien d'élément comporte le tableau
    			if($nb_element!=5)
    			{
    				echo "<tr><td> Vous devez choisir cinq partition pour constitué un pack</td></tr>";
    			}
    Ici tous tous se passe nikel, mon tableau de check box est bien recuperer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    echo'<tr><td width="315" height="24" valign="top"><div align="center" class="menucartevisite">ETAPE 4 : Informations sur le pack</div></td></tr>';
    				echo'<table width="450" border="0">
      				<tr>
       		 		<td><form name="form1" method="post" action="admin.creer_pack.php?add_pack=envoye">
          			<table width="450" border="0">
            		<tr>
              		<td width="126">Nom du pack </td>
    <input name="partition" type="text"  value"<?php echo $partitions; ?>">
    par contre ici si je met le champ masqué en text, rien ne s'affiche, et donc par conséquent quand je poste se deuxième formulaire, je ne peux pas recuperer la valeur du tableau pack issu du premier formulaire.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    if(isset($_GET["add_pack"]))
    {
    	if($_GET["add_pack"]=="envoye")
    	{
     
    		$partitions=$_POST["partition"];
    	}
    }
    ceci ne fonctionne pas, donc il met impossible de faire un foreach pour parcourir ce tableau, car il reconnais $partitions comme vide

    je ne comprend pas ou est mon errereur, peut etre que tout simplement je ne peux pas faire passer un tableau par un formulaire, mais alors dans ce cas la qu'elle est la solution

    merci de votre aide

  2. #2
    Membre chevronné
    Avatar de Bidouille
    Inscrit en
    Mars 2003
    Messages
    1 281
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 1 281
    Points : 1 999
    Points
    1 999
    Par défaut
    Utilise les sessions

  3. #3
    Membre éclairé Avatar de Yobs
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    675
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2004
    Messages : 675
    Points : 846
    Points
    846
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input name="partition" type="text"  value="<?php echo $partitions; ?>">
    Il manqué le = eske c une erreur du au copier-coller où il manque également dans ton script

  4. #4
    kum
    kum est déconnecté
    Inactif  
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 27
    Points : 33
    Points
    33
    Par défaut
    pourquoi des variable en $_GET et POST qui je te le signale est maintenant obsolète. Commence déjà par utiliser $_REQUEST (il te suffit de remplacer la variable $_GET et POST par $_REQUEST ).

    Sinon soit tu mets en session soit tu reaffiche ton tableau dans une serie de balise hidden

  5. #5
    Membre éprouvé Avatar de macbook
    Inscrit en
    Février 2006
    Messages
    838
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 838
    Points : 1 009
    Points
    1 009
    Par défaut
    Citation Envoyé par kum
    pourquoi des variable en $_GET et POST qui je te le signale est maintenant obsolète.
    T'as lu ça dans le manuel des castors juniors ?

  6. #6
    Membre habitué
    Inscrit en
    Mai 2004
    Messages
    201
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 201
    Points : 140
    Points
    140
    Par défaut
    bon impeccable l'erreur venais bien du faite que j'avais oublié le = dans le <input value="">

    Par contre j'ai un nouveau petit soucis, ceci se trouve dans mon foreach

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     
    print $partitions;
    					foreach($partitions as $valeur)
    					{
    						print $valeur;
    						//$sql_tab_liaison=" INSERT INTO estcompris (id_partition,id_pack)";
    						//$sql_tab_liaison.=" VALUES('".$valeur."','".$last_id."')";
    						//$res_tab_liaison=mysql_query($sql_tab_liaison) or die(mysql_error());
    					}
    il me retourne un warning du type
    Warning: Invalid argument supplied for foreach() in c:\program files\easyphp1-8\www\underscore\_underadmin\admin.creer_pack.php on line 389
    et le je ne comprend pas trop

    merci beaucoup pour vos réponse.

    Ps: je ne savais pas que $_POST et $_GET étais obsolète d'ailleur dans mon livre de php 5 il en parle encore...

  7. #7
    Membre éprouvé Avatar de macbook
    Inscrit en
    Février 2006
    Messages
    838
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 838
    Points : 1 009
    Points
    1 009
    Par défaut
    Cela signifie que $partitions n'est pas un array.
    De plus tu as à la fois partitions et partition dans ton code, n'y a t'il pas confusion à un moment ou l'autre ?

  8. #8
    Membre habitué
    Inscrit en
    Mai 2004
    Messages
    201
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 201
    Points : 140
    Points
    140
    Par défaut
    Il n'y avais pas de confusion,a un moment ou un autre, quand je faisai un print $partitions, il me retournais bien un array, alors sa ma gonflé (lol) je suis passé par une variable de session et la sa fonctionn beaucoup mieux, même sa marche nikel je vais dire. Alors au lieu de tout faire passer par formulaire des fois les sessions peuvent bien servir.

    En tout cas je te remercie beaucoup pour ton attention

    ++

  9. #9
    Membre éprouvé Avatar de macbook
    Inscrit en
    Février 2006
    Messages
    838
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 838
    Points : 1 009
    Points
    1 009
    Par défaut
    Citation Envoyé par macbook
    Citation Envoyé par kum
    pourquoi des variable en $_GET et POST qui je te le signale est maintenant obsolète.
    T'as lu ça dans le manuel des castors juniors ?
    C'est $HTTP_GET_VARS et $HTTP_POST_VARS qui sont obsolètes... et non $_GET et $_POST.

    L'a mal lu la doc le monsieur.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Tableaux] Comment aditionner des valeurs d'un tableau
    Par vimarty dans le forum Langage
    Réponses: 3
    Dernier message: 04/01/2008, 11h34
  2. Réponses: 2
    Dernier message: 10/10/2007, 18h03
  3. [Tableaux] Récupération de certaines valeurs d'un formulaire
    Par proutfailelap1 dans le forum Langage
    Réponses: 4
    Dernier message: 26/09/2007, 14h14
  4. [Tableaux] Test sur les valeurs d'un tableau
    Par roux-JO dans le forum Langage
    Réponses: 3
    Dernier message: 08/07/2007, 10h49
  5. Réponses: 6
    Dernier message: 20/07/2006, 14h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo