Affichage et condition en sql
Fermé
maleckk
Messages postés
66
Date d'inscription
dimanche 28 février 2010
Statut
Membre
Dernière intervention
9 mai 2010
-
27 mars 2010 à 23:09
maleckk Messages postés 66 Date d'inscription dimanche 28 février 2010 Statut Membre Dernière intervention 9 mai 2010 - 30 mars 2010 à 13:59
maleckk Messages postés 66 Date d'inscription dimanche 28 février 2010 Statut Membre Dernière intervention 9 mai 2010 - 30 mars 2010 à 13:59
A voir également:
- Affichage et condition en sql
- Excel cellule couleur si condition texte - Guide
- Affichage double ecran - Guide
- Windows 11 affichage classique - Guide
- Problème affichage fenêtre windows 10 - Guide
- Condition et excel - Guide
16 réponses
Bonjour
Peux-tu préciser ce qui ne marche pas ? Un message d'erreur ? Lequel ? Pas d'affichage ? etc...
Je vois au moins un problème :
$query=$query."AND societe='$societe'";
Quand tu fais ça, comme il n'y a pas d'espace avant le AND, il vient se coller au client.id_client qui précède, ce qui donne ...client.id_clientAND societe=... au lieu de ...client.id_client AND societe=...
Peux-tu préciser ce qui ne marche pas ? Un message d'erreur ? Lequel ? Pas d'affichage ? etc...
Je vois au moins un problème :
$query=$query."AND societe='$societe'";
Quand tu fais ça, comme il n'y a pas d'espace avant le AND, il vient se coller au client.id_client qui précède, ce qui donne ...client.id_clientAND societe=... au lieu de ...client.id_client AND societe=...
maleckk
Messages postés
66
Date d'inscription
dimanche 28 février 2010
Statut
Membre
Dernière intervention
9 mai 2010
28 mars 2010 à 16:30
28 mars 2010 à 16:30
lorsque je laise le formulaire vide et j'apui sue bouton chercher devis
il m'affiche cette erreur
Erreur de syntaxe pr?s de 'date='$annee-$mois-$jour'' ? la ligne 1
et lorsque je rempli le champ id_client par exemple par 2 il m'affiche sa
Erreur de syntaxe pr?s de 'id_devis='2'AND date='$annee-$mois-$jour'' ? la ligne 1
si je rempli tout les champs il m'affiche cette erreur
Erreur de syntaxe pr?s de 'societe='sotulube'AND id_devis='2'AND date='2010-01-01'' ? la ligne 1
svp aidez moi c urgent
mercii
il m'affiche cette erreur
Erreur de syntaxe pr?s de 'date='$annee-$mois-$jour'' ? la ligne 1
et lorsque je rempli le champ id_client par exemple par 2 il m'affiche sa
Erreur de syntaxe pr?s de 'id_devis='2'AND date='$annee-$mois-$jour'' ? la ligne 1
si je rempli tout les champs il m'affiche cette erreur
Erreur de syntaxe pr?s de 'societe='sotulube'AND id_devis='2'AND date='2010-01-01'' ? la ligne 1
svp aidez moi c urgent
mercii
maleckk
Messages postés
66
Date d'inscription
dimanche 28 février 2010
Statut
Membre
Dernière intervention
9 mai 2010
28 mars 2010 à 16:34
28 mars 2010 à 16:34
l'orsque j'ai mi les espace il ne m'affiche plus les erreur mais il m'affiche seulement le premier ligne du tableau avec nom ,prenom et numero devis seulement sa donc il ne récupaire pas les données de la base(un tableau vide)
Comme je ne vois pas de problème dans le code, je pense que c'est simplement qu'aucun enregistrement ne correspond à tes critères.
Affiche ta requête (echo $query; juste avant $result = mysql_query($query) or die(mysql_error()); ) et vérifie que la requête est bien celle à laquelle tu t'attends. Ensuite, recopie-là pour l'entrer directement dans phpmyadmin pour voir si tu as des réponses.
Affiche ta requête (echo $query; juste avant $result = mysql_query($query) or die(mysql_error()); ) et vérifie que la requête est bien celle à laquelle tu t'attends. Ensuite, recopie-là pour l'entrer directement dans phpmyadmin pour voir si tu as des réponses.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
maleckk
Messages postés
66
Date d'inscription
dimanche 28 février 2010
Statut
Membre
Dernière intervention
9 mai 2010
28 mars 2010 à 16:54
28 mars 2010 à 16:54
j'ai vérifié encore avec les espace elle m'affiche seulement la derniére condition c àd l'orsque je rempli tout les champs du formulaire
je répète mes questions : quelle est la requête générée ? Que t'affiche phpmyadmin si tu lui donnes directement cette requête ?
maleckk
Messages postés
66
Date d'inscription
dimanche 28 février 2010
Statut
Membre
Dernière intervention
9 mai 2010
28 mars 2010 à 19:18
28 mars 2010 à 19:18
si j'ai compri votre question j'ai fait entré dans phpmadmin cette requete
SELECT client.nom, client.prenom,devis.id_devis FROM client, devis WHERE devis.id_client = client.id_client
il m'affiche sa
Affichage des enregistrements 0 - 2 (3 total, Traitement en 0.0005 sec.)
SELECT client.nom, client.prenom,devis.id_devis FROM client, devis WHERE devis.id_client = client.id_client
il m'affiche sa
Affichage des enregistrements 0 - 2 (3 total, Traitement en 0.0005 sec.)
je répète ma question : quelle est la requête générée par PHP ? As-tu fait le echo $query; juste avant $result = mysql_query($query) or die(mysql_error()); que je te demandais à 16h51 pour être sûr de la requête réellement exécutée par ton script ?
maleckk
Messages postés
66
Date d'inscription
dimanche 28 février 2010
Statut
Membre
Dernière intervention
9 mai 2010
28 mars 2010 à 22:56
28 mars 2010 à 22:56
oui j'ai fait echo ,il m'affiche cette requete dans tout les cas seulement il m'affiche les données corecte chaque fois que je fait entrée la date .
SELECT client.nom, client.prenom,devis.id_devis FROM client, devis WHERE devis.id_client = client.id_client AND date='$annee-$mois-$jour'
SELECT client.nom, client.prenom,devis.id_devis FROM client, devis WHERE devis.id_client = client.id_client AND date='$annee-$mois-$jour'
maleckk
Messages postés
66
Date d'inscription
dimanche 28 février 2010
Statut
Membre
Dernière intervention
9 mai 2010
28 mars 2010 à 23:05
28 mars 2010 à 23:05
voila lorsque je met la date en commentaire sa marche corectement
$query ="SELECT client.nom, client.prenom,devis.id_devis FROM client, devis WHERE devis.id_client = client.id_client";
if (!empty($societe))
$query=$query." AND societe='$societe'";
if (!empty($id_devis))
$query=$query." AND id_devis='$id_devis'";
//elseif (!empty($date))
//$query=$query." AND date='$date'";
echo $query;
$query ="SELECT client.nom, client.prenom,devis.id_devis FROM client, devis WHERE devis.id_client = client.id_client";
if (!empty($societe))
$query=$query." AND societe='$societe'";
if (!empty($id_devis))
$query=$query." AND id_devis='$id_devis'";
//elseif (!empty($date))
//$query=$query." AND date='$date'";
echo $query;
$query=$query."AND 'date'='$date' ";avec des accents graves ' (pas des guillemets simples ' ) autour de date.
Car date est un mot réservé en mysql. Le mieux serait de changer le nom du champ, mais si tu veux le garder, entoure le toujours de '' dans tes requêtes.
J'aurais dû m'en rendre compte beaucoup plus tôt...
Désolé, la nouvelle interface de commentcamarche semble convertir les accents graves en guillemets simples. Je précise donc les codes ASCII
accent grave = 96 (Alt Gr 7 sur clavier AZERTY français)
guillemet simple = 39
maleckk
Messages postés
66
Date d'inscription
dimanche 28 février 2010
Statut
Membre
Dernière intervention
9 mai 2010
29 mars 2010 à 12:13
29 mars 2010 à 12:13
elle m'affiche la meme erreur meme avec accents graves et meme j'ai changé le nom date par date_devis dans la base mais il m'affiche sa
SELECT client.nom, client.prenom,devis.id_devis FROM client, devis WHERE devis.id_client = client.id_client AND 'date_devis'='$annee-$mois-$jour'
SELECT client.nom, client.prenom,devis.id_devis FROM client, devis WHERE devis.id_client = client.id_client AND 'date_devis'='$annee-$mois-$jour'
S'il t'affiche vraiment la requête telle que tu le dis ci-dessus, c'est probablement que tu as joué avec les ' et les " dans
$query=$query."AND date='$date' ";
Tu n'aurais pas dû.
Peux-tu mettre une copie (copier-coller) du message d'erreur correspondant à ton message précédent et la requête correspondante? Et le morceau de script pendant qu'on y est ?
$query=$query."AND date='$date' ";
Tu n'aurais pas dû.
Peux-tu mettre une copie (copier-coller) du message d'erreur correspondant à ton message précédent et la requête correspondante? Et le morceau de script pendant qu'on y est ?
maleckk
Messages postés
66
Date d'inscription
dimanche 28 février 2010
Statut
Membre
Dernière intervention
9 mai 2010
29 mars 2010 à 15:49
29 mars 2010 à 15:49
mais je suis sure que j'ai pas joué avec les ' et " mais bon
il m'affiche pas d'erreur mais il m'affiche cette requete
SELECT client.nom, client.prenom,devis.id_devis FROM client, devis WHERE devis.id_client = client.id_client AND date='$annee-$mois-$jour'
lorsque je lui donne pas la date
mais je lui donne la date il marche convenablement
dand le code j'ai utilisé cette requete
$query ="SELECT client.nom, client.prenom,devis.id_devis FROM client, devis WHERE devis.id_client = client.id_client";
if (!empty($societe))
$query=$query." AND societe='$societe'";
if (!empty($id_devis))
$query=$query." AND id_devis='$id_devis'";
if (!empty($date))
$query=$query." AND date='$date'";
echo $query;
$result = mysql_query($query) or die(mysql_error());
j'ai pas comprei ce que vousvoulez dire par le morceau script dans mon code j'ai utilisé seulement de javascrip dans le forma du date le voila tout le code du formulaire
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>chercher devis</title>
<script type="text/javascript">
function init(deposer)
{
tabjour=new Array("01","02","03","04","05","06","07","08","09","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31");
tabMois=new Array("01","02","03","04","05","06","07","08","09","10","11","12");
tabAnnee=new Array();
for(var i=0;i<=110;i++)
tabAnnee[i]=2009+i;
for(var i=0;i<tabjour.length;i++)
deposer.jour[deposer.jour.length]=new Option(tabjour[i]);
for(var i=0;i<tabAnnee.length;i++)
deposer.annee[deposer.annee.length]=new Option(tabAnnee[i]);
for(var i=0;i<tabMois.length;i++)
deposer.mois[deposer.mois.length]=new Option(tabMois[i]);
}
</script>
</head>
<body>
<form method="post" action="chercher1 devis.PHP" name="deposer" >
<table width="366" border="0" align="center">
<tr bgcolor="#969696">
<td width="134" align="right">
Numéro De Devis
</td>
<td width="222">
<input name="id_devis" type="text" maxlength="20">
</td>
</tr>
<tr bgcolor="#969696">
<td width="134" align="right">
Nom De company
</td>
<td width="222">
<input name="societe" type="text" maxlength="20">
</td>
</tr>
<tr bgcolor="#969696">
<td align="right">
Date Devis
</td>
<td width="222">
<select name="annee">
<Option value="$annee">Années</Option>
</select>
<select name="mois">
<Option name="ff" value="$mois">Mois</Option>
</select>
<select name="jour">
<Option value="$jour" >Jour</Option>
</select>
</td>
</tr>
</table><br /><br />
<center>
<INPUT TYPE="SUBMIT" VALUE="Ajouter Devis" >
<input type="reset" value= "Annuler" ></center></p>
<script language ="javascript">
init(deposer);
</script>
</form>
</body>
</html>
merci
il m'affiche pas d'erreur mais il m'affiche cette requete
SELECT client.nom, client.prenom,devis.id_devis FROM client, devis WHERE devis.id_client = client.id_client AND date='$annee-$mois-$jour'
lorsque je lui donne pas la date
mais je lui donne la date il marche convenablement
dand le code j'ai utilisé cette requete
$query ="SELECT client.nom, client.prenom,devis.id_devis FROM client, devis WHERE devis.id_client = client.id_client";
if (!empty($societe))
$query=$query." AND societe='$societe'";
if (!empty($id_devis))
$query=$query." AND id_devis='$id_devis'";
if (!empty($date))
$query=$query." AND date='$date'";
echo $query;
$result = mysql_query($query) or die(mysql_error());
j'ai pas comprei ce que vousvoulez dire par le morceau script dans mon code j'ai utilisé seulement de javascrip dans le forma du date le voila tout le code du formulaire
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>chercher devis</title>
<script type="text/javascript">
function init(deposer)
{
tabjour=new Array("01","02","03","04","05","06","07","08","09","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31");
tabMois=new Array("01","02","03","04","05","06","07","08","09","10","11","12");
tabAnnee=new Array();
for(var i=0;i<=110;i++)
tabAnnee[i]=2009+i;
for(var i=0;i<tabjour.length;i++)
deposer.jour[deposer.jour.length]=new Option(tabjour[i]);
for(var i=0;i<tabAnnee.length;i++)
deposer.annee[deposer.annee.length]=new Option(tabAnnee[i]);
for(var i=0;i<tabMois.length;i++)
deposer.mois[deposer.mois.length]=new Option(tabMois[i]);
}
</script>
</head>
<body>
<form method="post" action="chercher1 devis.PHP" name="deposer" >
<table width="366" border="0" align="center">
<tr bgcolor="#969696">
<td width="134" align="right">
Numéro De Devis
</td>
<td width="222">
<input name="id_devis" type="text" maxlength="20">
</td>
</tr>
<tr bgcolor="#969696">
<td width="134" align="right">
Nom De company
</td>
<td width="222">
<input name="societe" type="text" maxlength="20">
</td>
</tr>
<tr bgcolor="#969696">
<td align="right">
Date Devis
</td>
<td width="222">
<select name="annee">
<Option value="$annee">Années</Option>
</select>
<select name="mois">
<Option name="ff" value="$mois">Mois</Option>
</select>
<select name="jour">
<Option value="$jour" >Jour</Option>
</select>
</td>
</tr>
</table><br /><br />
<center>
<INPUT TYPE="SUBMIT" VALUE="Ajouter Devis" >
<input type="reset" value= "Annuler" ></center></p>
<script language ="javascript">
init(deposer);
</script>
</form>
</body>
</html>
merci
vu...
un peu avant $query ="SELECT client.nom, client.prenom,devis.id_devis FROM client, devis WHERE devis.id_client = client.id_client"; , tu dois avoir quelque part:
$date='$annee-$mois-$jour' ; avec des simples quotes. C'est là le problème, il faut des doubles quotes :
$date="$annee-$mois-$jour" ;
Car dans une chaîne en PHP, si tu veux que les variables soient remplacées par leurs valeurs, il faut l'écrire entre double quotes. Entre les simples quotes, les variables ne sont pas traduites.
un peu avant $query ="SELECT client.nom, client.prenom,devis.id_devis FROM client, devis WHERE devis.id_client = client.id_client"; , tu dois avoir quelque part:
$date='$annee-$mois-$jour' ; avec des simples quotes. C'est là le problème, il faut des doubles quotes :
$date="$annee-$mois-$jour" ;
Car dans une chaîne en PHP, si tu veux que les variables soient remplacées par leurs valeurs, il faut l'écrire entre double quotes. Entre les simples quotes, les variables ne sont pas traduites.
maleckk
Messages postés
66
Date d'inscription
dimanche 28 février 2010
Statut
Membre
Dernière intervention
9 mai 2010
30 mars 2010 à 13:59
30 mars 2010 à 13:59
bonjour enfet j'ai résoud le probleme il fallait mettre dans le formulaire
<select name="annee">
<Option value="">Années</Option>
</select>
<select name="mois">
<Option name="ff" value="">Mois</Option>
</select>
<select name="jour">
<Option value="" >Jour</Option>
</select>
au lieu de
<select name="annee">
<Option value="$annee">Années</Option>
</select>
<select name="mois">
<Option name="ff" value="$mois">Mois</Option>
</select>
<select name="jour">
<Option value="$jour" >Jour</Option>
</select>
merci pour ton aide le pére
<select name="annee">
<Option value="">Années</Option>
</select>
<select name="mois">
<Option name="ff" value="">Mois</Option>
</select>
<select name="jour">
<Option value="" >Jour</Option>
</select>
au lieu de
<select name="annee">
<Option value="$annee">Années</Option>
</select>
<select name="mois">
<Option name="ff" value="$mois">Mois</Option>
</select>
<select name="jour">
<Option value="$jour" >Jour</Option>
</select>
merci pour ton aide le pére