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 => []

Posté : 11 mai 2005, 16:57
par slipndi
Posté : 11 mai 2005, 17:03
par zeus
Bon d'accord, on te pardonne !!!
Mais c'est bien parce que c'est toi

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'";