Impossible de récupérer tout le contenu d'une liste de choix

Résolu
Diallo14 -  
jean448 Messages postés 1340 Date d'inscription   Statut Membre Dernière intervention   -
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

jean448 Messages postés 1340 Date d'inscription   Statut Membre Dernière intervention   238
 
Salut

tu remplace les espaces par des tiret du bas _


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



--
0
Diallo14
 
Bonjour Jean448,

C'est la seule solution que tu connaisses? par ce que les données proviennent d'une BDD et j'ai beaucoup d'enregistrements comme ça. Je veux pas modifier les enregistrements de la base.

CORDIALEMENT!
0
jean448 Messages postés 1340 Date d'inscription   Statut Membre Dernière intervention   238 > 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
0
Diallo14
 
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'];
0
jean448 Messages postés 1340 Date d'inscription   Statut Membre Dernière intervention   238 > 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 !
0
Diallo14
 
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.
0