Erreur!!!!Aidez-moi
Déline
Messages postés
27
Statut
Membre
-
Déline Messages postés 27 Statut Membre -
Déline Messages postés 27 Statut Membre -
Bonjour,
je veux afficher la liste des patients correspondants à un medecin. j'avais fais ça a partir d'un formulaire où on peut recupérer les donnees; mais ya une erreur là je comprends pas. je voous donne le code:
code en HTML:
<html>
<head>
<title>essai2</title>
</head>
<body>
<form action="requetes.php" method="GET">
nom : <input type=text size=10 name="fnom"><p>
<p> sexe : <input type=text size=5 name="fsexe"><p>
<p> groupe sanguin : <input type=text size=5 name="fgroupesanguin"><p>
<input type=submit value="consulter">
<input type=reset value="annuler">
</body>
</html>
et le code PHP:
<?php
//connexion au serveur
mysql_connect("localhost", "root", "") or die ("erreur de connexion au serveur");
//connexion à la base
mysql_select_db("medicaldb") or die ("erreur de connexion à la base");
//récupérer les données issues du formulaire
$nom=$_GET["fnom"];
$sexe=$_GET["fsexe"];
$groupesanguin=$_GET["fgroupesanguin"];
//requete pour interroger la table avec une condition
$query =" SELECT matricule, nom_patient, prenom_patient, anneenaiss, sexe_patient, etat_civil, nombre_enfant, antecedents_familiaux, antecedents_medicaux, antecedents_chirurgicaux, allergies, groupe_sanguin FROM patient";
$query.=" WHERE (nom_patient LIKE ".'"%'. $nom .'%"'.")" ;
$query.=" AND (sexe_patient LIKE ".'"%'. $sexe .'%"'.")";
$query.=" AND (groupe_sanguin LIKE ".'"%'. $groupesanguin .'%"'.")";
$result=mysql_query($query);
echo "$query";
//déclare le tableau qui va contenir les données
$table ="<table border><tr><th>MATRICULE</th><th>NOM</th>";
$table.="<th>PRENOM</th><th>ANNEENAISS</th><th>SEXE</th>";
$table.="<th>ETAT_CIVIL</th><th>NOMBRE_ENFANT</th>";
$table.="<th>ANTECEDENTS_FAMILIAUX</th><th>ANTECEDENTS_MEDICAUX</th>";
$table.="<th>ANTECEDENTS_CHIRURGICAUX</th><th>ALLERGIES</th>";
$table.="<th>GROUPE_SANGUIN</th>";
//recuperation des donnees
while($ligne = mysql_query($result))
{ $table.="<tr><td> ".$ligne["matricule"]." </td>";
$table.="<td> ".$ligne["nom_patient"]." </td>";
$table.="<td> ".$ligne["prenom_patient"]." </td>";
$table.="<td> ".$ligne["anneenaiss"]."</td>";
$table.="<td> ".$ligne["sexe_patient"]."</td>";
$table.="<td> ".$ligne["etat_civil"]."</td>";
$table.="<td> ".$ligne["nombre_enfant"]."</td>";
$table.="<td> ".$ligne["antecedents_familiaux"]."</td>";
$table.="<td> ".$ligne["antecedents_medicaux"]."</td>";
$table.="<td> ".$ligne["antecedents_chirurgicaux"]."</td>";
$table.="<td> ".$ligne["allergies"]."</td>";
$table.="<td> ".$ligne["groupe_sanguin"]."</td>";
}
//affiche la table
echo "$table<br>";
?>
l'erreur se trouve au niveau de mysql_query($resultat); jai essayé avec mysql_fetch_array, mysql_fetch_row et mysql_num_rows on ne m'affiche rien toujours!!!
Aidez moi SVP!!!!!
je veux afficher la liste des patients correspondants à un medecin. j'avais fais ça a partir d'un formulaire où on peut recupérer les donnees; mais ya une erreur là je comprends pas. je voous donne le code:
code en HTML:
<html>
<head>
<title>essai2</title>
</head>
<body>
<form action="requetes.php" method="GET">
nom : <input type=text size=10 name="fnom"><p>
<p> sexe : <input type=text size=5 name="fsexe"><p>
<p> groupe sanguin : <input type=text size=5 name="fgroupesanguin"><p>
<input type=submit value="consulter">
<input type=reset value="annuler">
</body>
</html>
et le code PHP:
<?php
//connexion au serveur
mysql_connect("localhost", "root", "") or die ("erreur de connexion au serveur");
//connexion à la base
mysql_select_db("medicaldb") or die ("erreur de connexion à la base");
//récupérer les données issues du formulaire
$nom=$_GET["fnom"];
$sexe=$_GET["fsexe"];
$groupesanguin=$_GET["fgroupesanguin"];
//requete pour interroger la table avec une condition
$query =" SELECT matricule, nom_patient, prenom_patient, anneenaiss, sexe_patient, etat_civil, nombre_enfant, antecedents_familiaux, antecedents_medicaux, antecedents_chirurgicaux, allergies, groupe_sanguin FROM patient";
$query.=" WHERE (nom_patient LIKE ".'"%'. $nom .'%"'.")" ;
$query.=" AND (sexe_patient LIKE ".'"%'. $sexe .'%"'.")";
$query.=" AND (groupe_sanguin LIKE ".'"%'. $groupesanguin .'%"'.")";
$result=mysql_query($query);
echo "$query";
//déclare le tableau qui va contenir les données
$table ="<table border><tr><th>MATRICULE</th><th>NOM</th>";
$table.="<th>PRENOM</th><th>ANNEENAISS</th><th>SEXE</th>";
$table.="<th>ETAT_CIVIL</th><th>NOMBRE_ENFANT</th>";
$table.="<th>ANTECEDENTS_FAMILIAUX</th><th>ANTECEDENTS_MEDICAUX</th>";
$table.="<th>ANTECEDENTS_CHIRURGICAUX</th><th>ALLERGIES</th>";
$table.="<th>GROUPE_SANGUIN</th>";
//recuperation des donnees
while($ligne = mysql_query($result))
{ $table.="<tr><td> ".$ligne["matricule"]." </td>";
$table.="<td> ".$ligne["nom_patient"]." </td>";
$table.="<td> ".$ligne["prenom_patient"]." </td>";
$table.="<td> ".$ligne["anneenaiss"]."</td>";
$table.="<td> ".$ligne["sexe_patient"]."</td>";
$table.="<td> ".$ligne["etat_civil"]."</td>";
$table.="<td> ".$ligne["nombre_enfant"]."</td>";
$table.="<td> ".$ligne["antecedents_familiaux"]."</td>";
$table.="<td> ".$ligne["antecedents_medicaux"]."</td>";
$table.="<td> ".$ligne["antecedents_chirurgicaux"]."</td>";
$table.="<td> ".$ligne["allergies"]."</td>";
$table.="<td> ".$ligne["groupe_sanguin"]."</td>";
}
//affiche la table
echo "$table<br>";
?>
l'erreur se trouve au niveau de mysql_query($resultat); jai essayé avec mysql_fetch_array, mysql_fetch_row et mysql_num_rows on ne m'affiche rien toujours!!!
Aidez moi SVP!!!!!
A voir également:
- Erreur!!!!Aidez-moi
- Erreur t32 ✓ - Forum Livebox
- Erreur 3000 france tv - Forum Lecteurs et supports vidéo
- Une erreur s'est produite instagram ✓ - Forum Instagram
- Erreur 0x80070643 - Accueil - Windows
- Erreur 0x80070643 Windows 10 : comment résoudre le problème de la mise à jour KB5001716 - Accueil - Windows
9 réponses
Bonjour,
Utilises notepad++ pour écrire ton code, il t'aurait grisé à partir de la ligne 49, donc erreur à la ligne 48: il te manque " à la fin:
$table.="<th>ANTECEDENTS_CHIRURGICAUX</th><th>ALLERGIES</th>& quot;;
=>
ensuite ta boucle while:
il faut mysql_fetch_...
et il te manquait le </tr> à la fin de la boucle pour changer de ligne
ensuite utilises plutot la method POST
Voilà
@lain
Utilises notepad++ pour écrire ton code, il t'aurait grisé à partir de la ligne 49, donc erreur à la ligne 48: il te manque " à la fin:
$table.="<th>ANTECEDENTS_CHIRURGICAUX</th><th>ALLERGIES</th>& quot;;
=>
$table.="<th>ANTECEDENTS_CHIRURGICAUX</th><th>ALLERGIES</th>& quot;";
ensuite ta boucle while:
il faut mysql_fetch_...
et il te manquait le </tr> à la fin de la boucle pour changer de ligne
//recuperation des donnees
while($ligne = mysql_fetch_array($result)){
$table.="<tr><td> ".$ligne["matricule"]." </td>";
$table.="<td> ".$ligne["nom_patient"]." </td>";
$table.="<td> ".$ligne["prenom_patient"]." </td>";
$table.="<td> ".$ligne["anneenaiss"]."</td>";
$table.="<td> ".$ligne["sexe_patient"]."</td>";
$table.="<td> ".$ligne["etat_civil"]."</td>";
$table.="<td> ".$ligne["nombre_enfant"]."</td>";
$table.="<td> ".$ligne["antecedents_familiaux"]."</td>";
$table.="<td> ".$ligne["antecedents_medicaux"]."</td>";
$table.="<td> ".$ligne["antecedents_chirurgicaux"]."</td>";
$table.="<td> ".$ligne["allergies"]."</td>";
$table.="<td> ".$ligne["groupe_sanguin"]."</td></tr>";
$table.="</tr>";
}
ensuite utilises plutot la method POST
Voilà
@lain
merci de me repondre mais il y'a toujours cette erreur là:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\program files\easyphp1-8\www\php\requetes.php on line 37
& amp; quot
merci beaucoup!!!!
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\program files\easyphp1-8\www\php\requetes.php on line 37
& amp; quot
merci beaucoup!!!!
Alors tu dois avoir des erreurs avant, soit à la connexion à la base mais la tu as prévu un message, par contre au moment de l'exécution de la requette tu n'as pas tracé d'erreur.
Tes ' et " sont bizarres dans ta query
Fais comme ça:
Mais avec les LIKE tu vas sortir tous les enr qui ont une partie du nom et une partie du groupe sanguin et une partir du sexe ??
si tu veux vraiement que ceux qui correspondent exactement aux mots du formulaire fais la requette comme ça:
Tes ' et " sont bizarres dans ta query
Fais comme ça:
//connexion au serveur
mysql_connect("localhost", "root", "") or die ("erreur de connexion au serveur ".mysql_error());
//connexion à la base
mysql_select_db("medicaldb") or die ("erreur de connexion à la base ".mysql_error());
//récupérer les données issues du formulaire
$nom=$_GET["fnom"];
$sexe=$_GET["fsexe"];
$groupesanguin=$_GET["fgroupesanguin"];
//requete pour interroger la table avec une condition
$query =" SELECT * FROM patient WHERE nom_patient LIKE '%".$nom."%' AND sexe_patient LIKE '%".$sexe."%'' AND groupe_sanguin LIKE '%".$groupesanguin."%' ";
$result=mysql_query($query) or die ("Erreur requette ".mysql_error());
Mais avec les LIKE tu vas sortir tous les enr qui ont une partie du nom et une partie du groupe sanguin et une partir du sexe ??
si tu veux vraiement que ceux qui correspondent exactement aux mots du formulaire fais la requette comme ça:
$query =" SELECT * FROM patient WHERE nom_patient = '".$nom."' AND sexe_patient = '".$sexe."'' AND groupe_sanguin = '".$groupesanguin."' ";
$result=mysql_query($query) or die ("Erreur requette ".mysql_error());
bonjour, j'ai essaué mais y'a un petit problème encore; il cette erreur là: Erreur requete Erreur de syntaxe près de '''' AND groupe_sanguin = ''' à la ligne 1
je ne sais pas ce que ça veut dire..
je ne sais pas ce que ça veut dire..
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
bon j'ai essayé de rectifié ce petit intrus. mais on ne m'affiche toujours pas les patients;
je ne sais à koi cè due!!!!!
je ne sais à koi cè due!!!!!
Bonjour,
donc c'est bien ce que je pensait, une erreur dans la requette.
il doit y avoir une ' ou " qui traine dans le coin
essaye de faire un echo de ta requette réelle:
et donnes moi le résultat de cet echo
donc c'est bien ce que je pensait, une erreur dans la requette.
il doit y avoir une ' ou " qui traine dans le coin
essaye de faire un echo de ta requette réelle:
$query =" SELECT * FROM patient WHERE nom_patient = '".$nom."' AND sexe_patient = '".$sexe."'' AND groupe_sanguin = '".$groupesanguin."' ";
echo "Requette: ".$query."<br>";
$result=mysql_query($query) or die ("Erreur requette ".mysql_error());
et donnes moi le résultat de cet echo
je l'ai fait mais on m'affiche toute la requete: voilà
requete: SELECT matricule, nom_patient, prenom_patient, anneenaiss, sexe_patient, etat_civil, nombre_enfant, ant_familiaux, ant_medicaux, ant_chirurgicaux, allergies, groupe_sanguin FROM patient WHERE nom_patient = 'kante' AND sexe_patient = 'm' AND groupe_sanguin = 'b'
SELECT matricule, nom_patient, prenom_patient, anneenaiss, sexe_patient, etat_civil, nombre_enfant, ant_familiaux, ant_medicaux, ant_chirurgicaux, allergies, groupe_sanguin FROM patient WHERE nom_patient = 'kante' AND sexe_patient = 'm' AND groupe_sanguin = 'b'
requete: SELECT matricule, nom_patient, prenom_patient, anneenaiss, sexe_patient, etat_civil, nombre_enfant, ant_familiaux, ant_medicaux, ant_chirurgicaux, allergies, groupe_sanguin FROM patient WHERE nom_patient = 'kante' AND sexe_patient = 'm' AND groupe_sanguin = 'b'
SELECT matricule, nom_patient, prenom_patient, anneenaiss, sexe_patient, etat_civil, nombre_enfant, ant_familiaux, ant_medicaux, ant_chirurgicaux, allergies, groupe_sanguin FROM patient WHERE nom_patient = 'kante' AND sexe_patient = 'm' AND groupe_sanguin = 'b'
Oui c'est normal que ça t'affiche la requette c'était le but.
Je ne vois pas d'erreur, mais essayes avec cette requette:
* remplace tous les champs
j'ai aussi enlevé les espaces au début et à la fin ??
Mais à part t'afficher la requette, as tu toujours une erreur: Erreur requete Erreur de syntaxe près de '''' AND groupe_sanguin = ''' à la ligne 1
Si tu n'as pas d'erreur c'est que la requette n'est pas bonne, en effet
Pourquoi chercher un patient par le nom ET le sexe ET le groupe sanguin.
Si tu met mr X avec pas le bon sexe et pas le bon GS tu n'en trouvera aucun
Si tu veux faire une recherche par nom Ou sexe OU groupe sanguin, il faut mettre OR à la place de AND
@lain
Je ne vois pas d'erreur, mais essayes avec cette requette:
$query ="SELECT * FROM patient WHERE nom_patient = '".$nom."' AND sexe_patient = '".$sexe."'' AND groupe_sanguin = '".$groupesanguin."'";
* remplace tous les champs
j'ai aussi enlevé les espaces au début et à la fin ??
Mais à part t'afficher la requette, as tu toujours une erreur: Erreur requete Erreur de syntaxe près de '''' AND groupe_sanguin = ''' à la ligne 1
Si tu n'as pas d'erreur c'est que la requette n'est pas bonne, en effet
Pourquoi chercher un patient par le nom ET le sexe ET le groupe sanguin.
Si tu met mr X avec pas le bon sexe et pas le bon GS tu n'en trouvera aucun
Si tu veux faire une recherche par nom Ou sexe OU groupe sanguin, il faut mettre OR à la place de AND
@lain