autre problèmes: la récupération de variables dans script PHP - PHP - Programmation
Marsh Posté le 05-03-2005 à 15:08:49
Regarder ce que donne la requête quand $nom est vide et corriger l'erreur de syntaxe (pour chaque champs du where)...
D'ailleurs, en règle générale, les messages d'erreurs perso en phase de développement, c'est mieux quand ils disent quelque chose d'utile paske "la requête a échouée", on s'en doute un peu, même si le message disait "prout" tu vois
Donc, un die avec le code d'erreur et le texte de la requête est nettement plus utile
Marsh Posté le 05-03-2005 à 14:49:44
Ce script PHP permet de rechercheun numéro de tel a partir d'un nom et/ou prenom et/ou service
En gros voila le problème: je récupère d'un formulaire html 3 variables: un prenom, un nom et un service, bien evidement quant les utilisateurs chercherons un numéro, il ne rempliront pas spécialement tous les champs. Je voudrais donc prendre en compte ces champs vide en les intégrants dans ma requêtes.
Je suis partis sur la voie de remplacer les variables vide par Is NOT NULL
QQ aurai il des conseil pr finir mon script?
Pour plus de clareté voici l'intégralité de mon script:
<?php
$link = mysql_connect("localhost", "root", "" ) or die("erreur" );
mysql_select_db("repertoire" ) or die("trouve pas la database demander" );
$nom = $_POST['nom'];
$prenom = $_POST['prenom'];
$service = $_POST['service'];
if ($_POST['nom']=="" ) {
$nom = "is not null";
}
if ($_POST['prenom']=="" ) {
$nom = "is not null";
}
if ($_POST['service']=="" ) {
$service = "is not null";
}
echo $nom;
echo $prenom;
echo $service;
$serv = "select code_serv from service where lib_serv='".$service."'";
$R_code_serv = mysql_query($code_serv) or die("la requête" );
echo $R_code_serv;
$query = "select nom,prenom,telephone,lib_serv from identiter,service where identiter.code_serv = service.code_serv and nom='".$nom."' and prenom='".$prenom."' and identiter.code_serv = '".$R_code_serv."'";
$result = mysql_query($query) or die("la requête a échouée" );
//affichage resultat requete
echo "<table>\n";
while ($line = mysql_fetch_assoc($result)) {
echo "\t<tr\n";
foreach ($line as $col_value) {
echo "\t\t<td>$col_value</td>\n";
}
echo "\t</tr>\n";
}
echo "</table>\n";
mysql_free_result($result);
mysql_close($link);
?>
merci a tous de votre aide!
Message édité par Profil supprimé le 05-03-2005 à 14:59:51