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 :

Variable PHP � initialiser dans un code JavaScript


Sujet :

Langage PHP

  1. #1
    Membre �clair�
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    535
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 535
    Par d�faut Variable PHP � initialiser dans un code JavaScript
    salut � tous!

    j'ai un probl�me complexe, mais comme c'est compliqu� � expliquer, je vais d�j� tenter d'expliquer ce � quoi j'ai pens�, une version "+ simple", pour voir si c'est possible au moins...

    au besoin je me fendrai d'explications complexes plus tard, et/ou dans un autre post!

    .php: tableau de checkbox
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <form id="form" method="post">
    for($i=0; $i<10; $i++)
    {
    echo "<input value=\"0\" name=\"test[]\" type=\"checkbox\" onchange=\"clickedLine($i);\"/>";
    }
    submit
    </form>
    .js
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
     
    function clickedLine(indice)
    {
    je voudrais pouvoir faire un truc du genre "$test[indice] = 1"
    }
    DONC, est-ce possible? Comment?

    POUR RESUMER: je veux pouvoir r�cup�rer dans $_POST TOUS mes test[] (de test[0] � test[9] donc!) et pas uniquement ceux coch�s (checked)!
    -> les non coch�s � 0
    -> les coch�s � 1

    exemple:
    $_POST[test][0] = 0
    $_POST[test][1] = 0
    $_POST[test][2] = 1
    $_POST[test][3] = 1
    $_POST[test][4] = 1
    $_POST[test][5] = 0
    $_POST[test][6] = 0
    $_POST[test][7] = 1
    $_POST[test][8] = 0
    $_POST[test][9] = 0

    j'ai d�j� test� plein de choses trouv�es en lignes, mais je n'avance pas!

    alors peut �tre que ma solution est d�bile , c'est possible, mais si vous avez mieux n'h�sitez pas.

    merci.

  2. #2
    Invit�
    Invit�(e)
    Par d�faut
    Lorsque ta case � cocher est coch�e et que tu envois ta requ�te, ta variable poste a pour valeur 'on'.

    Tu peux faire un truc du genre :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    for ($i =0, $i <= $nbrCheckbox, $i++)
    {
           if ($_POST[test][$i] == 'on')
           {
                   $_POST[test][$i] =  1;
           }
           else
           {
                    $_POST[test][$i] =  0;
           }
    }
    Ou utiliser les Bool�ens ou v�rifier si ta variable POST existe... A toi de voir

  3. #3
    Membre �clair�
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    535
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 535
    Par d�faut
    Non, d�j� test�.

    SI tu ne mets pas de value aux checkbox
    ALORS les cases coch�es renvoient ON en effet.

    SI tu mets une value=off aux checkbox
    ALORS les coch�es renvoient OFF poru celle coch�es.

    OR, je veux TOUTE la liste des coch�es dans $_POST
    -> coch�es
    -> ET NON coch�es

  4. #4
    Membre �clair�
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    535
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 535
    Par d�faut
    Ok, je pense qu'il vaut mieux que je d�veloppe un peu l'explication malgr� tout!

    en fait, j'ai une liste de 10 codes article + checkbox
    -> exemple: 123456 + checkbox

    mon but:
    1.) surligner de mani�re diff�rente les lignes s�lectionn�es: OK
    2.) r�cup�rer les articles s�lectionn�s

    les champs du formulaires:
    -> code article: pass� en hidden (pour r�cup�ration par $8POST) + affichage en clair pour le user
    -> checkbox: indique si article coch� ou pas

    le probl�me actuel: d�callage entre $_POST['article'] & $_POST['test']
    -> $_POST['article'] contient TOUS les codes article puisque hidden
    -> $_POST['test'] ne contient QUE les N cases coch�es

    -> exemple: je coche les articles n�1 & n� 5
    $_POST['article'] = 123456, 234567, 345678, 456789, 012345, 963258, 852147, 789654, 321456, 789321
    $_POST['test'] = on, on

    MAIS du coup impossible de faire le lien entre 123456 = ON & 012345 = ON

    tout ce que je sais c'est que 2 checkbox ont �t� coch�es MAIS sans savoir quels articles!


    ce qu'il me faut:
    $_POST['article'] = 123456, 234567, 345678, 456789, 012345, 963258, 852147, 789654, 321456, 789321
    $_POST['test'] = on, off, off, off, on, off, off, off, off, off
    (on/off OU 1/0 peu importe!)



    .php
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <form id="form" method="post">
    for($i=0; $i<10; $i++)
    {
    echo "<td><input name=\"article[]\" type=\"hidden\" value=\"article$i\">article[$i]";
    echo "<input value=\"0\" name=\"test[]\" type=\"checkbox\" onchange=\"clickedLine($i);\"/>";
    }
    submit
    </form>

    .js
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
     
    function clickedLine(indice)
    {
    je voudrais pouvoir faire un truc du genre "$test[indice] = 1" ou ON
    (si value de la checkbox initialisée à 0 ou OFF dans le formulaire)
    }
    voil�, j'esp�re que c'est plus clair

  5. #5
    Invit�
    Invit�(e)
    Par d�faut
    Bonjour,
    chaque article a un identifiant unique (id -> $idarticle) :

    Code php : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    foreach($mesarticles as $unarticle]
    {
       // on récupère les infos de l'article (requete en Bdd ?) -> dont $idarticle
       $idarticle = $row['ID'];
       // ....
       echo '<input type="hidden" name="article['.$idarticle.']" value="'.$idarticle.'"/>';
       echo '<input type="checkbox" name="test['.$idarticle.']" value="1" />';
    }
    A la r�cup�ration :
    Les index des array $_POST['article'] et $_POST['test'] sont ainsi les m�me, et directement associ� � l'id de l'article concern�.

    Code php : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    foreach($_POST['article'] as $index => $idarticle)
    {
       if(isset($_POST['test'][$index])){
          $_POST['test'][$index] = 1; // ou 'ON'
          echo 'case '.$idarticle.' cochée<br />';
       } else {
          $_POST['test'][$index] = 0; // ou 'OFF'
          echo 'case '.$idarticle.' NON cochée<br />';
       }
    }
    Derni�re modification par Invit� ; 22/01/2014 � 10h02.

  6. #6
    Membre �clair�
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    535
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 535
    Par d�faut
    ok, je pense avoir compris o� tu voulais en venir!

    MAIS, mon exemple "article" c'�tait juste pour simplifier parce qu'en fait ma ligne de data "article" ne comprend pas juste une colonne ID, mais 10 colonnes en fait (ex: libell�, couleur, prix, fournisseur, d�lais, .......)+ la checkbox de s�lection en fin de ligne.

    difficile de toutes les concat�ner pour les passer comme name de la CB.

  7. #7
    Invit�
    Invit�(e)
    Par d�faut
    Citation Envoy� par jreaux62 Voir le message
    chaque article a un identifiant unique (id -> $idarticle)
    J'ai modifi� mon pr�c�dent message -> � relire, donc.

    En fait, ton probl�me est simple � r�soudre.
    Mais au lieu de nous mettre un faux "exemple simplifi�", mets-nous directement un extrait exploitable de ton formulaire.

  8. #8
    Membre �clair�
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    535
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 535
    Par d�faut
    pas de soucis � poster le code MAIS comme le copy/paste ne reprend pas les indentations du code, �a va �tre illisible...

    EDIT: ah non, �a passe maintenant, ok je m'y colle... le temps de virer mes commentaires du code!

  9. #9
    Membre �clair�
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    535
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 535
    Par d�faut
    pour le moment, les affichages des donn�es (code, libell�, couleur, prix, etc...) sont bidons, g�n�r�es depuis le for(), � terme bien sur elle viendront d'une table.

    .php
    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
     
    <head>
    	<meta http-equiv="content-type" content="text/html; charset=utf-8" />
     
    	<link   rel="stylesheet"   type="text/css" href="migration.css"/>
    	<script src="migration.js" type="text/javascript"></script>
    </head>
     
    <body>
    	<html>
     
    	<form id="form" method="post">
    		<fieldset>
    				<?php
    					$nbCol = 14;
    					$nbLig = 10;
    					if (count($_POST) > 0)	
    					{
     
    						for($i=0; $i<count($_POST['migration']); $i++)
    						{
     
    							if($_POST['migration'][$i] == 1)
    							{
    								echo "<br/>submit $i=" . $_POST['migration'][$i]. " pour code (". $_POST['code'][$i] .")";
    							}
    						}
    					}
    				?>
     
    				<table name="table" col="<?php echo $nbCol;?>" border="0">
     
    					<tr class="entete">
    						<td><img src="bt_m3_code.jpg">code</td>
    						<td><img src="bt_m3_code.jpg">libelle</td>
    						<td><img src="bt_m3_code.jpg">prix</td>
    						<td><img src="bt_m3_code.jpg">couleur</td>
    						<td><img src="bt_m3_code.jpg">état</td>
    						<td><img src="bt_m3_code.jpg">colisage</td>
    						<td><img src="bt_m3_code.jpg">fournisseur</td>
    						<td><img src="bt_m3_code.jpg">délais</td>
    						<td><img src="bt_m3_code.jpg">famille</td>
    						<td><img src="bt_m3_code.jpg">localisation</td>
    						<td><img src="bt_m3_code.jpg">Patientèles</td>
    						<td><img src="bt_m3_code.jpg">Précision</td>
     
    						<td></td>
    					</tr>
     
     
    					<?php
    						for($i=0; $i<$nbLig; $i++)
    						{
    							if ($i%2) echo "<tr id=\"tr$i\" class=\"lignePaire\">";
    							else	  echo "<tr id=\"tr$i\" class=\"ligneImpaire\">";
     
    							echo "<td><input name=\"code[]\" 		type=\"hidden\" value=\"code$i\">		code$i</td>";
    							echo "<td><input name=\"libelle[]\" 	type=\"hidden\" value=\"libelle$i\">	libelle$i</td>";
    							echo "<td><input name=\"prix[]\" 		type=\"hidden\" value=\"prix$i\">		prix$i</td>";
    							echo "<td><input name=\"couleur[]\" 	type=\"hidden\" value=\"couleur$i\">	couleur$i</td>";
    							echo "<td><input name=\"etat[]\" 		type=\"hidden\" value=\"état$i\">		état$i</td>";
    							echo "<td><input name=\"colisage[]\" 	type=\"hidden\" value=\"colisage$i\">	colisage$i</td>";
    							echo "<td><input name=\"fournisseur[]\"	type=\"hidden\" value=\"fournisseur$i\">fournisseur$i</td>";
    							echo "<td><input name=\"delais[]\" 		type=\"hidden\" value=\"delais$i\">		delais$i</td>";
    							echo "<td><input name=\"famille[]\" 	type=\"hidden\" value=\"famille$i\">	famille$i</td>";
    							echo "<td><input name=\"localisation[]\"type=\"hidden\" value=\"localisation$i\">	localisation$i</td>";
     
    							echo "<td><input id=\"cb$i\" name=\"migration[]\" type=\"checkbox\" onchange=\"clickedLine($i);\"/></td>";
     
    							echo "</tr>";	
    						}
    					?>
    				</table>
     
    				<p align="right">
    				<INPUT value="Cocher tout"   type="button" class="bouton" onClick="checkALL(<?php echo $i;?>);">
    				<INPUT value="Décocher tout" type="button" class="bouton" onClick="checkNONE(<?php echo $i;?>);">
    				</p>
     
     
    		</fieldset>
    		<p align="right"><INPUT value="Valider" type="submit" class="bouton"></p>
    	</form>
     
    	</body>
    </html>
    .js
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    //globales
    //********
    coulSur = '#86B404';	//ligne surlignée
    coulPai = '#C9CCD0';	//ligne paire Cf CSS
    coulImp = '#B7B8BA';	//ligne impaire Cf CSS
     
    function clickedLine(indice)
    {
    	var chkState = document.getElementById("cb"+indice).checked;
    	if (chkState)	{backgroundSelectedLine("tr"+indice);}
    	else			{backgroundNotSelectedLine(indice, "tr"+indice);}						
    }

  10. #10
    Invit�
    Invit�(e)
    Par d�faut
    Le plus simple : "forcer" la num�rotation des index avec $i.
    Code php : 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
    <?php
    	for($i=0; $i<$nbLig; $i++)
    	{
    		if ($i%2) echo "<tr id=\"tr$i\" class=\"lignePaire\">";
    		else	  echo "<tr id=\"tr$i\" class=\"ligneImpaire\">";
     
    		echo "<td><input name=\"code[$i]\" 		type=\"hidden\" value=\"code$i\">		code$i</td>";
    		echo "<td><input name=\"libelle[$i]\" 	type=\"hidden\" value=\"libelle$i\">	libelle$i</td>";
    		echo "<td><input name=\"prix[$i]\" 		type=\"hidden\" value=\"prix$i\">		prix$i</td>";
    		echo "<td><input name=\"couleur[$i]\" 	type=\"hidden\" value=\"couleur$i\">	couleur$i</td>";
    		echo "<td><input name=\"etat[$i]\" 		type=\"hidden\" value=\"état$i\">		état$i</td>";
    		echo "<td><input name=\"colisage[$i]\" 	type=\"hidden\" value=\"colisage$i\">	colisage$i</td>";
    		echo "<td><input name=\"fournisseur[$i]\"	type=\"hidden\" value=\"fournisseur$i\">fournisseur$i</td>";
    		echo "<td><input name=\"delais[$i]\" 		type=\"hidden\" value=\"delais$i\">		delais$i</td>";
    		echo "<td><input name=\"famille[$i]\" 	type=\"hidden\" value=\"famille$i\">	famille$i</td>";
    		echo "<td><input name=\"localisation[$i]\"type=\"hidden\" value=\"localisation$i\">	localisation$i</td>";
     
    		echo "<td><input id=\"cb$i\" name=\"migration[$i]\" type=\"checkbox\" onchange=\"clickedLine($i);\"/></td>";
     
    		echo "</tr>";	
    	}
    ?>

    Normalement, si les articles sont enregistr�s en BDD, tu n'as pas besoin de transmettre toutes les infos via <input type="hidden"...>
    Seul l'identifiant unique (auto-incr�ment�, s'il existe bien s�r) suffit.

  11. #11
    Membre �clair�
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    535
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 535
    Par d�faut
    Ecoute, d�sol�, mais mon print_r($_POST); continue de me montrer le d�calage de d�part:
    -> seul [migration] => Array ( [0] => on)
    -> alors pour tous les autres champs j'ai bien de [0] � [9]

    Le probl�me reste donc le m�me.

  12. #12
    Invit�
    Invit�(e)
    Par d�faut
    Montre le code html g�n�re ("ctrl" + "U") du formulaire
    + code de r�cup�ration (PHP)

  13. #13
    Membre �clair�
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    535
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 535
    Par d�faut
    .html
    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
     
    <head>
    	<meta http-equiv="content-type" content="text/html; charset=utf-8" />
     
    	<link   rel="stylesheet"   type="text/css" href="migration.css"/>
    	<script src="migration.js" type="text/javascript"></script>
    </head>
     
    <body>
    	<html>
     
    	<form id="form" method="post">
    		<fieldset>
     
    				<table name="table" col="14" border="0">
     
    					<tr class="entete">
    						<td>code</td>
    						<td>libelle</td>
    						<td>prix</td>
    						<td>couleur</td>
    						<td>état</td>
    						<td>colisage</td>
    						<td>fournisseur</td>
    						<td>délais</td>
    						<td>famille</td>
    						<td>localisation</td>
     
    						<td></td>
    					</tr>
     
     
    					<tr id="tr0" class="ligneImpaire"><td><input name="code[0]" 		type="hidden" value="code0">		code0</td><td><input name="libelle[0]" 	type="hidden" value="libelle0">	libelle0</td><td><input name="prix[0]" 		type="hidden" value="prix0">		prix0</td><td><input name="couleur[0]" 	type="hidden" value="couleur0">	couleur0</td><td><input name="etat[0]" 		type="hidden" value="état0">		état0</td><td><input name="colisage[0]" 	type="hidden" value="colisage0">	colisage0</td><td><input name="fournisseur[0]"	type="hidden" value="fournisseur0">fournisseur0</td><td><input name="delais[0]" 		type="hidden" value="delais0">		delais0</td><td><input name="famille[0]" 	type="hidden" value="famille0">	famille0</td><td><input name="localisation[0]"type="hidden" value="localisation0">	localisation0</td><td><input id="cb0" name="migration[0]" type="checkbox" onchange="clickedLine(0);"/></td></tr><tr id="tr1" class="lignePaire"><td><input name="code[1]" 		type="hidden" value="code1">		code1</td><td><input name="libelle[1]" 	type="hidden" value="libelle1">	libelle1</td><td><input name="prix[1]" 		type="hidden" value="prix1">		prix1</td><td><input name="couleur[1]" 	type="hidden" value="couleur1">	couleur1</td><td><input name="etat[1]" 		type="hidden" value="état1">		état1</td><td><input name="colisage[1]" 	type="hidden" value="colisage1">	colisage1</td><td><input name="fournisseur[1]"	type="hidden" value="fournisseur1">fournisseur1</td><td><input name="delais[1]" 		type="hidden" value="delais1">		delais1</td><td><input name="famille[1]" 	type="hidden" value="famille1">	famille1</td><td><input name="localisation[1]"type="hidden" value="localisation1">	localisation1</td><td><input id="cb1" name="migration[1]" type="checkbox" onchange="clickedLine(1);"/></td></tr><tr id="tr2" class="ligneImpaire"><td><input name="code[2]" 		type="hidden" value="code2">		code2</td><td><input name="libelle[2]" 	type="hidden" value="libelle2">	libelle2</td><td><input name="prix[2]" 		type="hidden" value="prix2">		prix2</td><td><input name="couleur[2]" 	type="hidden" value="couleur2">	couleur2</td><td><input name="etat[2]" 		type="hidden" value="état2">		état2</td><td><input name="colisage[2]" 	type="hidden" value="colisage2">	colisage2</td><td><input name="fournisseur[2]"	type="hidden" value="fournisseur2">fournisseur2</td><td><input name="delais[2]" 		type="hidden" value="delais2">		delais2</td><td><input name="famille[2]" 	type="hidden" value="famille2">	famille2</td><td><input name="localisation[2]"type="hidden" value="localisation2">	localisation2</td><td><input id="cb2" name="migration[2]" type="checkbox" onchange="clickedLine(2);"/></td></tr><tr id="tr3" class="lignePaire"><td><input name="code[3]" 		type="hidden" value="code3">		code3</td><td><input name="libelle[3]" 	type="hidden" value="libelle3">	libelle3</td><td><input name="prix[3]" 		type="hidden" value="prix3">		prix3</td><td><input name="couleur[3]" 	type="hidden" value="couleur3">	couleur3</td><td><input name="etat[3]" 		type="hidden" value="état3">		état3</td><td><input name="colisage[3]" 	type="hidden" value="colisage3">	colisage3</td><td><input name="fournisseur[3]"	type="hidden" value="fournisseur3">fournisseur3</td><td><input name="delais[3]" 		type="hidden" value="delais3">		delais3</td><td><input name="famille[3]" 	type="hidden" value="famille3">	famille3</td><td><input name="localisation[3]"type="hidden" value="localisation3">	localisation3</td><td><input id="cb3" name="migration[3]" type="checkbox" onchange="clickedLine(3);"/></td></tr><tr id="tr4" class="ligneImpaire"><td><input name="code[4]" 		type="hidden" value="code4">		code4</td><td><input name="libelle[4]" 	type="hidden" value="libelle4">	libelle4</td><td><input name="prix[4]" 		type="hidden" value="prix4">		prix4</td><td><input name="couleur[4]" 	type="hidden" value="couleur4">	couleur4</td><td><input name="etat[4]" 		type="hidden" value="état4">		état4</td><td><input name="colisage[4]" 	type="hidden" value="colisage4">	colisage4</td><td><input name="fournisseur[4]"	type="hidden" value="fournisseur4">fournisseur4</td><td><input name="delais[4]" 		type="hidden" value="delais4">		delais4</td><td><input name="famille[4]" 	type="hidden" value="famille4">	famille4</td><td><input name="localisation[4]"type="hidden" value="localisation4">	localisation4</td><td><input id="cb4" name="migration[4]" type="checkbox" onchange="clickedLine(4);"/></td></tr><tr id="tr5" class="lignePaire"><td><input name="code[5]" 		type="hidden" value="code5">		code5</td><td><input name="libelle[5]" 	type="hidden" value="libelle5">	libelle5</td><td><input name="prix[5]" 		type="hidden" value="prix5">		prix5</td><td><input name="couleur[5]" 	type="hidden" value="couleur5">	couleur5</td><td><input name="etat[5]" 		type="hidden" value="état5">		état5</td><td><input name="colisage[5]" 	type="hidden" value="colisage5">	colisage5</td><td><input name="fournisseur[5]"	type="hidden" value="fournisseur5">fournisseur5</td><td><input name="delais[5]" 		type="hidden" value="delais5">		delais5</td><td><input name="famille[5]" 	type="hidden" value="famille5">	famille5</td><td><input name="localisation[5]"type="hidden" value="localisation5">	localisation5</td><td><input id="cb5" name="migration[5]" type="checkbox" onchange="clickedLine(5);"/></td></tr><tr id="tr6" class="ligneImpaire"><td><input name="code[6]" 		type="hidden" value="code6">		code6</td><td><input name="libelle[6]" 	type="hidden" value="libelle6">	libelle6</td><td><input name="prix[6]" 		type="hidden" value="prix6">		prix6</td><td><input name="couleur[6]" 	type="hidden" value="couleur6">	couleur6</td><td><input name="etat[6]" 		type="hidden" value="état6">		état6</td><td><input name="colisage[6]" 	type="hidden" value="colisage6">	colisage6</td><td><input name="fournisseur[6]"	type="hidden" value="fournisseur6">fournisseur6</td><td><input name="delais[6]" 		type="hidden" value="delais6">		delais6</td><td><input name="famille[6]" 	type="hidden" value="famille6">	famille6</td><td><input name="localisation[6]"type="hidden" value="localisation6">	localisation6</td><td><input id="cb6" name="migration[6]" type="checkbox" onchange="clickedLine(6);"/></td></tr><tr id="tr7" class="lignePaire"><td><input name="code[7]" 		type="hidden" value="code7">		code7</td><td><input name="libelle[7]" 	type="hidden" value="libelle7">	libelle7</td><td><input name="prix[7]" 		type="hidden" value="prix7">		prix7</td><td><input name="couleur[7]" 	type="hidden" value="couleur7">	couleur7</td><td><input name="etat[7]" 		type="hidden" value="état7">		état7</td><td><input name="colisage[7]" 	type="hidden" value="colisage7">	colisage7</td><td><input name="fournisseur[7]"	type="hidden" value="fournisseur7">fournisseur7</td><td><input name="delais[7]" 		type="hidden" value="delais7">		delais7</td><td><input name="famille[7]" 	type="hidden" value="famille7">	famille7</td><td><input name="localisation[7]"type="hidden" value="localisation7">	localisation7</td><td><input id="cb7" name="migration[7]" type="checkbox" onchange="clickedLine(7);"/></td></tr><tr id="tr8" class="ligneImpaire"><td><input name="code[8]" 		type="hidden" value="code8">		code8</td><td><input name="libelle[8]" 	type="hidden" value="libelle8">	libelle8</td><td><input name="prix[8]" 		type="hidden" value="prix8">		prix8</td><td><input name="couleur[8]" 	type="hidden" value="couleur8">	couleur8</td><td><input name="etat[8]" 		type="hidden" value="état8">		état8</td><td><input name="colisage[8]" 	type="hidden" value="colisage8">	colisage8</td><td><input name="fournisseur[8]"	type="hidden" value="fournisseur8">fournisseur8</td><td><input name="delais[8]" 		type="hidden" value="delais8">		delais8</td><td><input name="famille[8]" 	type="hidden" value="famille8">	famille8</td><td><input name="localisation[8]"type="hidden" value="localisation8">	localisation8</td><td><input id="cb8" name="migration[8]" type="checkbox" onchange="clickedLine(8);"/></td></tr><tr id="tr9" class="lignePaire"><td><input name="code[9]" 		type="hidden" value="code9">		code9</td><td><input name="libelle[9]" 	type="hidden" value="libelle9">	libelle9</td><td><input name="prix[9]" 		type="hidden" value="prix9">		prix9</td><td><input name="couleur[9]" 	type="hidden" value="couleur9">	couleur9</td><td><input name="etat[9]" 		type="hidden" value="état9">		état9</td><td><input name="colisage[9]" 	type="hidden" value="colisage9">	colisage9</td><td><input name="fournisseur[9]"	type="hidden" value="fournisseur9">fournisseur9</td><td><input name="delais[9]" 		type="hidden" value="delais9">		delais9</td><td><input name="famille[9]" 	type="hidden" value="famille9">	famille9</td><td><input name="localisation[9]"type="hidden" value="localisation9">	localisation9</td><td><input id="cb9" name="migration[9]" type="checkbox" onchange="clickedLine(9);"/></td></tr>				</table>
     
    				<p align="left">
    				<INPUT value="Cocher tout"   type="button" class="bouton" onClick="checkALL(10);">
    				<INPUT value="Décocher tout" type="button" class="bouton" onClick="checkNONE(10);">
    				</p>
     
     
    		</fieldset>
    		<p align="left"><INPUT value="Valider" type="submit" class="bouton"></p>
    	</form>
     
    	</body>
    </html>
    .php
    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
     
    <head>
    	<meta http-equiv="content-type" content="text/html; charset=utf-8" />
     
    	<link   rel="stylesheet"   type="text/css" href="migration.css"/>
    	<script src="migration.js" type="text/javascript"></script>
    </head>
     
    <body>
    	<html>
     
    	<form id="form" method="post">
    		<fieldset>
    				<?php
    					$nbCol = 14;
    					$nbLig = 10;
    					if (count($_POST) > 0)	
    					{
    print_r($_POST);
    						for($i=0; $i<count($_POST['migration']); $i++)
    						{
     
    							if($_POST['migration'][$i] == 1)
    							{
    								echo "<br/>submit $i=" . $_POST['migration'][$i]. " pour code (". $_POST['code'][$i] .")";
    							}
    						}
    					}
    				?>
     
    				<table name="table" col="<?php echo $nbCol;?>" border="0">
     
    					<tr class="entete">
    						<td>code</td>
    						<td>libelle</td>
    						<td>prix</td>
    						<td>couleur</td>
    						<td>état</td>
    						<td>colisage</td>
    						<td>fournisseur</td>
    						<td>délais</td>
    						<td>famille</td>
    						<td>localisation</td>
     
    						<td></td>
    					</tr>
     
     
    					<?php
    						for($i=0; $i<$nbLig; $i++)
    						{
    							if ($i%2) echo "<tr id=\"tr$i\" class=\"lignePaire\">";
    							else	  echo "<tr id=\"tr$i\" class=\"ligneImpaire\">";
     
    							echo "<td><input name=\"code[$i]\" 		type=\"hidden\" value=\"code$i\">		code$i</td>";
    							echo "<td><input name=\"libelle[$i]\" 	type=\"hidden\" value=\"libelle$i\">	libelle$i</td>";
    							echo "<td><input name=\"prix[$i]\" 		type=\"hidden\" value=\"prix$i\">		prix$i</td>";
    							echo "<td><input name=\"couleur[$i]\" 	type=\"hidden\" value=\"couleur$i\">	couleur$i</td>";
    							echo "<td><input name=\"etat[$i]\" 		type=\"hidden\" value=\"état$i\">		état$i</td>";
    							echo "<td><input name=\"colisage[$i]\" 	type=\"hidden\" value=\"colisage$i\">	colisage$i</td>";
    							echo "<td><input name=\"fournisseur[$i]\"	type=\"hidden\" value=\"fournisseur$i\">fournisseur$i</td>";
    							echo "<td><input name=\"delais[$i]\" 		type=\"hidden\" value=\"delais$i\">		delais$i</td>";
    							echo "<td><input name=\"famille[$i]\" 	type=\"hidden\" value=\"famille$i\">	famille$i</td>";
    							echo "<td><input name=\"localisation[$i]\"type=\"hidden\" value=\"localisation$i\">	localisation$i</td>";
     
    							echo "<td><input id=\"cb$i\" name=\"migration[$i]\" type=\"checkbox\" onchange=\"clickedLine($i);\"/></td>";
     
    							echo "</tr>";	
    						}
    					?>
    				</table>
     
    				<p align="left">
    				<INPUT value="Cocher tout"   type="button" class="bouton" onClick="checkALL(<?php echo $i;?>);">
    				<INPUT value="Décocher tout" type="button" class="bouton" onClick="checkNONE(<?php echo $i;?>);">
    				</p>
     
     
    		</fieldset>
    		<p align="left"><INPUT value="Valider" type="submit" class="bouton"></p>
    	</form>
     
    	</body>
    </html>
    print_r($_POST); pour clic/s�lection article1 et article2
    [code]
    Array (
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
     => Array ( [0] => code0 [1] => code1 [2] => code2 [3] => code3 [4] => code4 [5] => code5 [6] => code6 [7] => code7 [8] => code8 [9] => code9 ) [libelle] => Array ( [0] => libelle0 [1] => libelle1 [2] => libelle2 [3] => libelle3 [4] => libelle4 [5] => libelle5 [6] => libelle6 [7] => libelle7 [8] => libelle8 [9] => libelle9 ) [prix] => Array ( [0] => prix0 [1] => prix1 [2] => prix2 [3] => prix3 [4] => prix4 [5] => prix5 [6] => prix6 [7] => prix7 [8] => prix8 [9] => prix9 ) [couleur] => Array ( [0] => couleur0 [1] => couleur1 [2] => couleur2 [3] => couleur3 [4] => couleur4 [5] => couleur5 [6] => couleur6 [7] => couleur7 [8] => couleur8 [9] => couleur9 ) [etat] => Array ( [0] => état0 [1] => état1 [2] => état2 [3] => état3 [4] => état4 [5] => état5 [6] => état6 [7] => état7 [8] => état8 [9] => état9 ) [colisage] => Array ( [0] => colisage0 [1] => colisage1 [2] => colisage2 [3] => colisage3 [4] => colisage4 [5] => colisage5 [6] => colisage6 [7] => colisage7 [8] => colisage8 [9] => colisage9 ) [fournisseur] => Array ( [0] => fournisseur0 [1] => fournisseur1 [2] => fournisseur2 [3] => fournisseur3 [4] => fournisseur4 [5] => fournisseur5 [6] => fournisseur6 [7] => fournisseur7 [8] => fournisseur8 [9] => fournisseur9 ) [delais] => Array ( [0] => delais0 [1] => delais1 [2] => delais2 [3] => delais3 [4] => delais4 [5] => delais5 [6] => delais6 [7] => delais7 [8] => delais8 [9] => delais9 ) [famille] => Array ( [0] => famille0 [1] => famille1 [2] => famille2 [3] => famille3 [4] => famille4 [5] => famille5 [6] => famille6 [7] => famille7 [8] => famille8 [9] => famille9 ) [localisation] => Array ( [0] => localisation0 [1] => localisation1 [2] => localisation2 [3] => localisation3 [4] => localisation4 [5] => localisation5 [6] => localisation6 [7] => localisation7 [8] => localisation8 [9] => localisation9 ) [migration] => Array ( [1] => on [2] => on ) )

  14. #14
    Invit�
    Invit�(e)
    Par d�faut
    O� est le traitement du formulaire ?

    [Edit] oups ! pas bien vu...
    Derni�re modification par Invit� ; 22/01/2014 � 15h21.

  15. #15
    Membre �clair�
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    535
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 535
    Par d�faut
    pour l'instant �a se limitait � �a (test):
    -> juste afficher le code ayant �t� coch�
    -> Cf .php ci-dessus

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    if (count($_POST) > 0)	
    					{
    print_r($_POST);
    						for($i=0; $i<count($_POST['migration']); $i++)
    						{
     
    							if($_POST['migration'][$i] == 1)
    							{
    								echo "<br/>submit $i=" . $_POST['migration'][$i]. " pour code (". $_POST['code'][$i] .")";
    							}
    						}
    					}
    MAIS j'ai peut �tre quand trouv� comment utiliser ta version... m�me si $_POST['migration'] ne contient que les N �l�ments coch�e

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    for($i=0; $i<$nbLig; $i++)
    						{
    							if (isset($_POST['migration'][$i]))
    							{
    								if(strcmp($_POST['migration'][$i], "on") == 0)
    								{
    									echo "<br/>submit $i=" . $_POST['migration'][$i]. " pour code (". $_POST['code'][$i] .")";
    								}
    							}
                                                     }
    mais est-ce ergonomique de passer en revue TOUS les indices avec isset(), pour tester le "on" de ceux effectivement existants?

  16. #16
    Invit�
    Invit�(e)
    Par d�faut
    Code php : S�lectionner tout - Visualiser dans une fen�tre � part
    <input name=\"code[$i]\" 		type=\"hidden\" value=\"code$i\">

    Ce n'est pas count($_POST['migration']) qu'il faut prendre en compte, mais count($_POST['code']) -> o� l�, tu est s�r d'avoir TOUS les indices.

    Autrement dit :
    Code php : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    foreach($_POST['code'] as $index => $value)
    {
    	if(isset($_POST['migration'][$index])) // si isset -> donc COCHE ! (pas d'autre vérification à faire !)
    	{
    		echo 'La case ayant le code : '.$value.' est cochée<br />';
    	}
    }
    Derni�re modification par Invit� ; 22/01/2014 � 16h03.

  17. #17
    Membre �clair�
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    535
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 535
    Par d�faut
    oui, plus simple finalement.

    MAIS attention:
    -> foreach = 'code' en effet
    -> isset = 'migration' quand m�me


    sinon tu affiches un message syst�matiquement pour toutes les lignes, et pas que pour celles coch�es

  18. #18
    Membre �clair�
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    535
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 535
    Par d�faut
    Merci.

  19. #19
    Invit�
    Invit�(e)
    Par d�faut
    Exact (erreur de copier-coller) -> corrig� ci-avant

  20. #20
    Membre �clair�
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    535
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 535
    Par d�faut
    ca prouve au moins que je suis l'affaire!

+ R�pondre � la discussion
Cette discussion est r�solue.
Page 1 sur 2 12 Derni�reDerni�re

Discussions similaires

  1. Peut-on r�cup�rer une variable php dans un code javaScript?
    Par Marc22 dans le forum G�n�ral JavaScript
    R�ponses: 2
    Dernier message: 15/02/2010, 11h02
  2. Affichage de la valeur d'une variable php dans un code javascript
    Par hastiok dans le forum G�n�ral JavaScript
    R�ponses: 5
    Dernier message: 08/12/2009, 12h59
  3. [PHP 5.0] R�cup�rer la valeur d'une variable php dans du code javascript
    Par HF974 dans le forum Langage
    R�ponses: 4
    Dernier message: 08/03/2009, 11h46
  4. R�ponses: 7
    Dernier message: 05/01/2008, 19h37
  5. [PHP-JS] variable php dans du code javascript
    Par Mut dans le forum G�n�ral JavaScript
    R�ponses: 2
    Dernier message: 05/07/2007, 15h11

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