Page 1 sur 2

Probleme Recuperation de donnees a partir d'une liste

Posté : 11 mai 2005, 15:21
par beginner
ma variable est issu d'une liste deroulante

un probleme se pose lorsque ma variable contient un espace

du style :

Marcel Dupont, je recupere, Marcel

que faire ?

Posté : 11 mai 2005, 15:23
par zeus
Tu peux nous poster un bout de code stp ?

On pourra y voir plus clair et t'aider plus facilement

Posté : 11 mai 2005, 16:00
par beginner
Voila le source

Code : Tout sélectionner

<html> <head> <title>Liens</title> </head> <body> <div align="center"><font face="DecoType Thuluth" size="7" color=#0000FF><i>Liste Telephonique</i></font></div></br> <div align="right"> <form method="POST" action="page1.php"> <select size="1" name="CboService"> // Mise à blanc du ^premier champ du combo <option></option> <?php // Déclaration des paramètres de connexion $host = "localhost"; // Généralement la machine est localhost // c'est-a-dire la machine sur laquelle le script est hébergé $user = "root"; $bdd = "franck"; $passwd = ""; // Connexion au serveur mysql_connect($host, $user,$passwd) or die("erreur de connexion au serveur"); mysql_select_db($bdd) or die("erreur de connexion a la base de donnees"); // Creation et envoi de la requete $query = "SELECT distinct Service FROM ListeTel"; $result = mysql_query($query); // Recuperation des resultats while($row = mysql_fetch_row($result)){ $Service = $row[0]; echo "<option value = $Service>$Service</option>"; } // Deconnexion de la base de donnees mysql_close(); ?> </select> <input type="Submit" value="Rechercher"> </form> </div> </br> <table width="80%" border="8" align="center"> <tr> <td><div align="center"><b>N°</b></div></td> <td><div align="center"><b>Nom</b></div></td> <td><div align="center"><b>Service</b></div></td> <td><div align="center"><b>N° Tel</b></div></td> </tr> </div> <?php // Déclaration des paramètres de connexion $host = "localhost"; // Généralement la machine est localhost // c'est-a-dire la machine sur laquelle le script est hébergé $user = "root"; $bdd = "franck"; $passwd = ""; // Connexion au serveur mysql_connect($host, $user,$passwd) or die("erreur de connexion au serveur"); mysql_select_db($bdd) or die("erreur de connexion a la base de donnees"); // Creation et envoi de la requete if(empty($_POST['CboService'])){ // $_POST est vide, on retourne faux //$query = "SELECT * FROM ListeTel"; $query = "SELECT * FROM ListeTel"; $result = mysql_query($query); // Recuperation des resultats while($row = mysql_fetch_row($result)){ $NumAuto = $row[0]; $Nom = $row[1]; $Service = $row[2]; $NumTel = $row[3]; echo "<tr>\n <td width='10%'><div align='center'>$NumAuto</div></td>\n <td width='37%'>$Nom</td>\n <td width='37%'>$Service</td>\n <td width='16%'><div align='center'>$NumTel</div></td>\n </tr>\n"; } }else{ $query = "SELECT * FROM ListeTel where Service = '" .$_POST[CboService]. "'"; $result = mysql_query($query); // Recuperation des resultats while($row = mysql_fetch_row($result)){ $NumAuto = $row[0]; $Nom = $row[1]; $Service = $row[2]; $NumTel = $row[3]; echo "<tr>\n <td width='10%'><div align='center'>$NumAuto</div></td>\n <td width='37%'>$Nom</td>\n <td width='37%'>$Service</td>\n <td width='16%'><div align='center'>$NumTel</div></td>\n </tr>\n"; } return true; // fonction exécutée avec succès } // Deconnexion de la base de donnees mysql_close(); ?> </table> </body> </html>

Posté : 11 mai 2005, 16:09
par slipndi
Bonjour,
essaye en mettant :
echo ("<option value =\"$Service\">$Service</option>"); 
// au lieu de echo "<option value =$Service>$Service</option>"

Posté : 11 mai 2005, 16:28
par beginner
pb sur cette requette

cela fonctionne, mais avec un message d'erreur

Code : Tout sélectionner

$query = "SELECT * FROM ListeTel where Service = '" .$_POST[CboService]. "'";

Posté : 11 mai 2005, 16:37
par slipndi
transforme ta requete en :
//$query = "SELECT * FROM ListeTel where Service = '" .$_POST[CboService]. "'";
$cboservice=$_POST[CboService];
$query="SELECT * FROM ListeTel WHERE Service='$cboservice'";

Posté : 11 mai 2005, 16:50
par beginner
le probleme reste le meme !!!

Posté : 11 mai 2005, 16:51
par zeus
Donne nous le message d'erreur

Sinon, affiche ta requete generée et teste là avec phpMyAdmin, si ça se trouve, c'est at requete qui est fausse !!!

Posté : 11 mai 2005, 16:52
par slipndi
hann je sui sun boulet meme ma correction est fausse regarde on a oblier tout les deux les simples quotes ! ca donne :
$cboservice=$_POST['CboService'];
$query="SELECT * FROM ListeTel WHERE Service='$cboservice'";

Posté : 11 mai 2005, 16:55
par zeus
slipndi => [] :langue:

Posté : 11 mai 2005, 16:57
par slipndi
mais euuuuuuuu :oops: :oops: :cry: :cry:

Posté : 11 mai 2005, 17:03
par zeus
Bon d'accord, on te pardonne !!! O:)

Mais c'est bien parce que c'est toi :wink:

Posté : 11 mai 2005, 17:11
par beginner
Ben le voila le msg

Notice: Undefined variable: cboservice

Posté : 11 mai 2005, 17:12
par slipndi
tu es bien sur de bien avoir recopier mon code ???
colle ton code s'il te plait histoire que l'on jete un oeil ? ;)

Ca marche ...

Posté : 11 mai 2005, 17:20
par beginner
il me manquait les quotes

$cboservice=$_POST['CboService'];
$query="SELECT * FROM ListeTel WHERE Service='$cboservice'";