Impossible de récupérer tout le contenu d'une liste de choix [Résolu/Fermé]

Signaler
-
Messages postés
1331
Date d'inscription
mardi 29 décembre 2009
Statut
Membre
Dernière intervention
26 janvier 2017
-
Bonjour,

j'ai un soucis avec la récupération du contenu d'une liste de choix en php. Quand la valeur de la liste ne contient pas d'espace, il n'y aucun problème mais dès qu'il y a espace, il ne considère que le premier mot et pas le reste.
Si quelqu'un a une solution, je suis preneur.

Merci d'avance

1 réponse

Messages postés
1331
Date d'inscription
mardi 29 décembre 2009
Statut
Membre
Dernière intervention
26 janvier 2017
214
Salut

tu remplace les espaces par des tiret du bas _


//exemple
preg_replace(" ", "_", $string);



--
Messages postés
1331
Date d'inscription
mardi 29 décembre 2009
Statut
Membre
Dernière intervention
26 janvier 2017
214 > Diallo14
C'est une solution il y en a peux être d'autre !

Mais pour ça il faut détailler ce que tu fais (code) pcq sinon dur de trouver des solutions

des bouts de code ca aide aussi
Jean voici le code qui affiche les valeurs de la liste de choix.
<select class="form-control" name="cod_pat" id="service">
<?php
$req=$db->query("select code_pat from patient");
while($donnes=$req->fetch())
{
echo "<option value=".$donnes['code_pat'].">".$donnes['code_pat']."</option>";
}
$req->closeCursor();
?>
</select>

et pour la récupération j'utilise cet autre code:

$cod_pat=$_POST['cod_pat'];
Messages postés
1331
Date d'inscription
mardi 29 décembre 2009
Statut
Membre
Dernière intervention
26 janvier 2017
214 > Diallo14
Tu as des exemple de "code_pat"


<select class="form-control" name="cod_pat" id="service"> 
<?php 
$req=$db->query("select code_pat from patient"); 
while($donnes=$req->fetch()) 
{ 

//TU RAJOUTE UNE LIGNE DANS CETTE IDEE
$code_pat_farmater = preg_replace(" ", "_", $donnes['code_pat']);

//DANS VALUE TU MET LE CODE_PAT FORMATE (AVEC LES _)
echo "<option value=".$code_pat_farmater.">".$donnes['code_pat']."</option>"; 

} 
$req->closeCursor(); 
?> 
</select> 



Puis dans la page de traitement tu fais l'inverse

//PUIS TU REFORMATE EN REMETTENT LES ESPACES DANS LA PAGE DE TRAITEMENT

$code_pat = preg_replace("_", " ", $_POST['code_pat']);

//ATTENTION SI FAIS UN POST LA SECURITE EST PAS TOP EN FAISANT CA DIRECTEMENT !
J'ai fais la première manipulation mais si je récupère la variable en faisant $cod_pat=$_POST['code_pat'] et je fais en suite echo $cod_pat, il ne m'affiche rien.
Messages postés
1331
Date d'inscription
mardi 29 décembre 2009
Statut
Membre
Dernière intervention
26 janvier 2017
214 > Diallo14
Es ce que tu connais l'outils inspecter l'élément sous chrome/mozilla

Utilise le pour voir si la valeur de t'es champs son bien formatés

Sous chrome tu fait clique-droit -> inspecter sur les champs, une fenêtre s'ouvre avec le code HTML de la page WEB

Sous Mozilla la technique est surement très similaire