Comment passer un tableau en methode $_get
razily
Messages postés
285
Statut
Membre
-
razily Messages postés 285 Statut Membre -
razily Messages postés 285 Statut Membre -
Bonjour,
voilà ; j'ai créé une case à cocher habitation sauf que s'il l'utilisateur clique dessus , il y a plusieurs indices qui seron concrenés la raison pour laquelle j'ai mis dans un tableau
ans le fichier de recupération des paramètres :
merci d'avance
voilà ; j'ai créé une case à cocher habitation sauf que s'il l'utilisateur clique dessus , il y a plusieurs indices qui seron concrenés la raison pour laquelle j'ai mis dans un tableau
<?php
$auto = array("1","1000","1001","1002","1003","1004");
?>
<h5>Police </h5>
<?php echo "Automobile <input type=\"checkbox\" name=\"police[]\" value=\"$auto[]\" checked=\"checked\" />"; ?>
Divers <input type="checkbox" name="police[]" value="2" />
Habitation <input type="checkbox" name="police[]" value="3" />
Santée <input type="checkbox" name="police[]" value="4" />
Civile <input type="checkbox" name="police[]" value="5" />
ans le fichier de recupération des paramètres :
// on recupère les choix
// on vautiliser join() on sépare par des virgules qui convertit tableau en chaine
// type de contrat
$contratype = join(',', $_GET['police']);
merci d'avance
A voir également:
- Comment passer un tableau en methode $_get
- Tableau word - Guide
- Trier un tableau excel - Guide
- Comment imprimer un tableau excel sur une seule page - Guide
- Code ascii tableau - Guide
- Passer en azerty - Guide
6 réponses
1 - remplace : echo "Automobile <input type=\"checkbox\" name=\"police[]\" value=\"$auto[]\" checked=\"checked\" />"; ?>
par : echo 'Automobile <input type="checkbox" name="police[]" value="$auto[]" checked="checked" />'; ?>
2 - $_GET['police'] te donne quoi ? vérifier avec echo $_GET['police'];
sinon je pense que tu dois faire un test après :
if ($_GET['police'] == "auto") {
$auto = array("1","1000","1001","1002","1003","1004");
$contratype = join(',', $auto);
}
You Are Welcome
par : echo 'Automobile <input type="checkbox" name="police[]" value="$auto[]" checked="checked" />'; ?>
2 - $_GET['police'] te donne quoi ? vérifier avec echo $_GET['police'];
sinon je pense que tu dois faire un test après :
if ($_GET['police'] == "auto") {
$auto = array("1","1000","1001","1002","1003","1004");
$contratype = join(',', $auto);
}
You Are Welcome
Salut ;
me donne array
et quand je fais print_r($_GET);
le resultat est le même et c'est bien array dans la police
sinon j'ai déjà pensé à ta deuxième solution
sauf que $contratype devra contenir aussi celui un tableau des indices habitation si habitation et Auto sont cochés donc il faut concaténer les deux tableaux
est ce possible
$contratype = join (',',$auto.$habit)
echo $_GET['police'];
me donne array
et quand je fais print_r($_GET);
le resultat est le même et c'est bien array dans la police
Array ( [police] => Array ( [0] => 1 ) [compagnie] => Array ( [0] => 1074 ) [etat] => 1 [ok] => Valider )
sinon j'ai déjà pensé à ta deuxième solution
if ($_GET['police'] == "auto") {
$auto = array("1","1000","1001","1002","1003","1004");
$contratype = join(',', $auto);
}
sauf que $contratype devra contenir aussi celui un tableau des indices habitation si habitation et Auto sont cochés donc il faut concaténer les deux tableaux
est ce possible
$contratype = join (',',$auto.$habit)
Je n'ai jamais eu à utiliser des checkbox qui ont le meme nom auparavant,
donc
d'abord je pense qu'il faut modifier le nom du checkbox habitation de police[] vers Habitation,
Habitation <input type="checkbox" name="habitation" value="3" />
Et par lasuite, vérifier s'elle est cochée,
si oui :
if (isset($_GET['habitation']) && $_GET['habitation'] == '3' )
{
$habitation = indices habitation ...
$contratype = join(',', $habitation);
}
je ne sais si ca marche.
donc
d'abord je pense qu'il faut modifier le nom du checkbox habitation de police[] vers Habitation,
Habitation <input type="checkbox" name="habitation" value="3" />
Et par lasuite, vérifier s'elle est cochée,
si oui :
if (isset($_GET['habitation']) && $_GET['habitation'] == '3' )
{
$habitation = indices habitation ...
$contratype = join(',', $habitation);
}
je ne sais si ca marche.
le problème c'est que si les checkbox n'ont pas le même nom donc l'utilsateur ne pourra pas cocher qu'une seule case ; ce qui n'est pas le cas si on met police [].
la situation ici c'est qu l'utilsateur pourra chosir en même temps Auto et habitation
la situation ici c'est qu l'utilsateur pourra chosir en même temps Auto et habitation
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
mais dans ce code , j'arrive à connaître le choix de l'utilisateur (auto - habitation ou divers ) en mettant des cases à cocher à choix multiple
sauf que le problème dans la requête , s'il clique sur Automobile par exemple
la valeur dans le tableau police = 1 or Automobile c'est un nom globale je veux dire dans la table automobile
mais il y a plusieurs cas de risque sur automobile , c'est ce que j'ai mis dans un tableau et tous les cas
donc je voulais mettre çà dans un tableau :
$automobile = array ( "1","1000", "1001","1002","1003", "1004");
donc dans cette requête :
et dans le code concerné
la valeur de $contratype vaut 1 (value de checkbox lié à automobile ) alors que il aurait dû être les valeurs $automobile = array ( "1","1000", "1001","1002","1003", "1004");
peut -être la seule solution c'est de créer au lieu d'une case à cocher Automobile ; une liste déroulante à choix multiple contenant les risques liés à tout ces indices
( "1","1000", "1001","1002","1003", "1004");
Automobile <input type="checkbox" name="police[]" value="1" checked="checked" />;
Divers <input type="checkbox" name="police[]" value="2" />
Habitation <input type="checkbox" name="police[]" value="3" />
Santée <input type="checkbox" name="police[]" value="4" />
Civile <input type="checkbox" name="police[]" value="5" />
sauf que le problème dans la requête , s'il clique sur Automobile par exemple
la valeur dans le tableau police = 1 or Automobile c'est un nom globale je veux dire dans la table automobile
mais il y a plusieurs cas de risque sur automobile , c'est ce que j'ai mis dans un tableau et tous les cas
//Type Auto
case 1: case 1000: case 1001:case 1002: case 1003: case 1004:
donc je voulais mettre çà dans un tableau :
$automobile = array ( "1","1000", "1001","1002","1003", "1004");
donc dans cette requête :
$sql ="select NumPol,IDCabinet,Denomination,Adresse,Codeclient,Codeetatpolice,NumPolice,CodeCompagnie,Typedepolice from PoliceClientphp where Typedepolice IN($contratype) and CodeCompagnie IN ($compagnie) and Num = Codeclient and Codeetatpolice= $etat group by CodeCompagnie,Codeetatpolice,IDCabinet,Denomination,Adresse,Codeclient,NumPolice,Typedepolice,NumPol ";
et dans le code concerné
Typedepolice IN($contratype)
la valeur de $contratype vaut 1 (value de checkbox lié à automobile ) alors que il aurait dû être les valeurs $automobile = array ( "1","1000", "1001","1002","1003", "1004");
peut -être la seule solution c'est de créer au lieu d'une case à cocher Automobile ; une liste déroulante à choix multiple contenant les risques liés à tout ces indices
( "1","1000", "1001","1002","1003", "1004");
Salut ;
en fait j'ai essayé de mettre çà :
et j'arrive à avoir les parametres comme il faut mais c'est au niveau des requêtes qui ne marchent pas
je ne comprends plus ce qui ne marche pas
en fait j'ai essayé de mettre çà :
Automobile <input type="checkbox" name="police[]"
value="1,1000,1001,1002,1003,1004 " checked="checked" />;
Divers <input type="checkbox" name="police[]" value="2" />
Habitation <input type="checkbox" name="police[]" value="3" />
Santée <input type="checkbox" name="police[]" value="4" />
Civile <input type="checkbox" name="police[]" value="5" />
et j'arrive à avoir les parametres comme il faut mais c'est au niveau des requêtes qui ne marchent pas
Array ( [police] => Array ( [0] => 1,1000,1001,1002,1003,1004 ) [compagnie] => Array ( [0] => 1074 ) [etat] => 1 [ok] => Valider ) type de contrat :1,1000,1001,1002,1003,1004 la compagnie : 1074 etat du constrat 1 select NumPol,IDCabinet,Denomination,Adresse,Codeclient,Codeetatpolice,NumPolice,CodeCompagnie,Typedepolice from PoliceClientphp where Typedepolice IN(1,1000,1001,1002,1003,1004 ) and CodeCompagnie IN (1074) group by CodeCompagnie,Codeetatpolice,IDCabinet,Denomination,Adresse,Codeclient,NumPolice,Typedepolice,NumPol
je ne comprends plus ce qui ne marche pas