Probleme Recuperation de donnees a partir d'une liste

Eléphanteau du PHP | 15 Messages

11 mai 2005, 15:21

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 ?

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

11 mai 2005, 15:23

Tu peux nous poster un bout de code stp ?

On pourra y voir plus clair et t'aider plus facilement
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphanteau du PHP | 15 Messages

11 mai 2005, 16:00

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>

Eléphant du PHP | 281 Messages

11 mai 2005, 16:09

Bonjour,
essaye en mettant :
echo ("<option value =\"$Service\">$Service</option>"); 
// au lieu de echo "<option value =$Service>$Service</option>"

Eléphanteau du PHP | 15 Messages

11 mai 2005, 16:28

pb sur cette requette

cela fonctionne, mais avec un message d'erreur

Code : Tout sélectionner

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

Eléphant du PHP | 281 Messages

11 mai 2005, 16:37

transforme ta requete en :
//$query = "SELECT * FROM ListeTel where Service = '" .$_POST[CboService]. "'";
$cboservice=$_POST[CboService];
$query="SELECT * FROM ListeTel WHERE Service='$cboservice'";

Eléphanteau du PHP | 15 Messages

11 mai 2005, 16:50

le probleme reste le meme !!!

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

11 mai 2005, 16:51

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 !!!
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 281 Messages

11 mai 2005, 16:52

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'";
Modifié en dernier par slipndi le 11 mai 2005, 16:57, modifié 1 fois.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

11 mai 2005, 16:55

slipndi => [] :langue:
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 281 Messages

11 mai 2005, 16:57

mais euuuuuuuu :oops: :oops: :cry: :cry:

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

11 mai 2005, 17:03

Bon d'accord, on te pardonne !!! O:)

Mais c'est bien parce que c'est toi :wink:
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphanteau du PHP | 15 Messages

11 mai 2005, 17:11

Ben le voila le msg

Notice: Undefined variable: cboservice

Eléphant du PHP | 281 Messages

11 mai 2005, 17:12

tu es bien sur de bien avoir recopier mon code ???
colle ton code s'il te plait histoire que l'on jete un oeil ? ;)

Eléphanteau du PHP | 15 Messages

11 mai 2005, 17:20

il me manquait les quotes

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