Problème php $_GET
Résolu
bobenausaure
Messages postés
228
Date d'inscription
Statut
Membre
Dernière intervention
-
bobenausaure Messages postés 228 Date d'inscription Statut Membre Dernière intervention -
bobenausaure Messages postés 228 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je suis en stage depuis hier, où je dois réaliser un site intranet pour une mairie, regroupant les différents services de la mairie.
J'ai, dans un premier temps, créé et rempli une base de données avec une table SERVICE et une autre table EMPLOYE.
Puis, j'affiche sur une page de mon site tous les services avec la possibilité de cliquer dessus afin d'afficher la liste des employés de chaque service.
Mais une erreur s'affiche : "Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\program files\easyphp1-8\www\stage 2008\detail.php on line 13"
Voici mon code, de la ligne 10 à la ligne 13 :
10 $NomServ = $_GET['NomServ'];
11 $requete = "SELECT * FROM Service,Employe WHERE SERVICE.NumServ = EMPLOYE.NumServ AND NomServ = $NomServ";
12 $resultat = mysql_query($requete);
$ligne = mysql_fetch_array("$resultat");
Je ne sais pas où se trouve l'erreur...
Ai-je été assez clair ou avez-vous besoin de plus amples informations ?
Merci d'avance.
Je suis en stage depuis hier, où je dois réaliser un site intranet pour une mairie, regroupant les différents services de la mairie.
J'ai, dans un premier temps, créé et rempli une base de données avec une table SERVICE et une autre table EMPLOYE.
Puis, j'affiche sur une page de mon site tous les services avec la possibilité de cliquer dessus afin d'afficher la liste des employés de chaque service.
Mais une erreur s'affiche : "Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\program files\easyphp1-8\www\stage 2008\detail.php on line 13"
Voici mon code, de la ligne 10 à la ligne 13 :
10 $NomServ = $_GET['NomServ'];
11 $requete = "SELECT * FROM Service,Employe WHERE SERVICE.NumServ = EMPLOYE.NumServ AND NomServ = $NomServ";
12 $resultat = mysql_query($requete);
$ligne = mysql_fetch_array("$resultat");
Je ne sais pas où se trouve l'erreur...
Ai-je été assez clair ou avez-vous besoin de plus amples informations ?
Merci d'avance.
A voir également:
- Problème php $_GET
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Retour a la ligne php - Forum Webmastering
- Alert php - Forum PHP
- Retour a la ligne php ✓ - Forum PHP
7 réponses
Bsr
Ca vient peut être des lignes 1 à 10 ... mais on les voit pas
Sinon juste après
insère
Ca devrait t'afficher l'erreur MySQL
Ca vient peut être des lignes 1 à 10 ... mais on les voit pas
Sinon juste après
$resultat = mysql_query($requete);
insère
if (!$resultat) { echo "requete = ".$requete."\n"; echo "mysql_errno = ".mysql_errno()."\n"; echo "mysql_error = ".mysql_error()."\n"; exit; }
Ca devrait t'afficher l'erreur MySQL
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Merci PhP, ça m'avance un peu car en effet, je vois l'erreur Sql :
requete = SELECT * FROM Employe,Service WHERE SERVICE.NumServ = EMPLOYE.NumServ AND NomServ = ACMO mysql_errno = 1054 mysql_error = Champ 'ACMO' inconnu dans where clause
==> ACMO étant un service (NomServ dans la table SERVICE)
Je vous explique, j'ai une page gerer.php qui m'affiche tous les services de la table SERVICE :
<?
include ("connex.php");
$requete = "SELECT NomServ FROM SERVICE ORDER BY 'NomServ'";
$resultat = mysql_query("$requete");
echo "<center>";
echo "<table border=5 bordercolor=yellow bgcolor=#FFFF99>";
echo "<tr align=center><td><b>Nom du service</b></td><td><b>Liste des salariés</b></td></tr>";
while ($ligne = mysql_fetch_array($resultat))
{
$NomServ=$ligne['NomServ'];
echo "
<tr>
<td>$NomServ</td>
<td align=center><a href=detail.php?NomServ=$NomServ>
<img src=images/fleche.gif width=40 height=30 border=0></a>
</tr>";
}
echo "</table>";
echo "</center>";
mysql_close();
?>
Puis lorsque je clique sur un service, je souhaites que ça m'affiche tous les salariés de ce service (table SALARIE). Voici donc ma page detail.php :
<?
include ("connex.php");
$NomServ = $_GET['NomServ'];
$requete = "SELECT * FROM Employe,Service WHERE SERVICE.NumServ = EMPLOYE.NumServ AND NumServ = $NomServ";
$resultat = mysql_query($requete);
if (!$resultat)
{
echo "requete = ".$requete."\n";
echo "mysql_errno = ".mysql_errno()."\n";
echo "mysql_error = ".mysql_error()."\n";
exit;
}
mysql_close();
?>
requete = SELECT * FROM Employe,Service WHERE SERVICE.NumServ = EMPLOYE.NumServ AND NomServ = ACMO mysql_errno = 1054 mysql_error = Champ 'ACMO' inconnu dans where clause
==> ACMO étant un service (NomServ dans la table SERVICE)
Je vous explique, j'ai une page gerer.php qui m'affiche tous les services de la table SERVICE :
<?
include ("connex.php");
$requete = "SELECT NomServ FROM SERVICE ORDER BY 'NomServ'";
$resultat = mysql_query("$requete");
echo "<center>";
echo "<table border=5 bordercolor=yellow bgcolor=#FFFF99>";
echo "<tr align=center><td><b>Nom du service</b></td><td><b>Liste des salariés</b></td></tr>";
while ($ligne = mysql_fetch_array($resultat))
{
$NomServ=$ligne['NomServ'];
echo "
<tr>
<td>$NomServ</td>
<td align=center><a href=detail.php?NomServ=$NomServ>
<img src=images/fleche.gif width=40 height=30 border=0></a>
</tr>";
}
echo "</table>";
echo "</center>";
mysql_close();
?>
Puis lorsque je clique sur un service, je souhaites que ça m'affiche tous les salariés de ce service (table SALARIE). Voici donc ma page detail.php :
<?
include ("connex.php");
$NomServ = $_GET['NomServ'];
$requete = "SELECT * FROM Employe,Service WHERE SERVICE.NumServ = EMPLOYE.NumServ AND NumServ = $NomServ";
$resultat = mysql_query($requete);
if (!$resultat)
{
echo "requete = ".$requete."\n";
echo "mysql_errno = ".mysql_errno()."\n";
echo "mysql_error = ".mysql_error()."\n";
exit;
}
mysql_close();
?>
Bjr
ben oui si ton champ Numserv est un champ texte alors il faut mettre des quotes autour de la valeur que tu lui affectes autrement MySQL l'interprète comme un nom de champ !
Donc teste comme ceci:
PhP
Il y a 10 types de personnes dans le monde : ceux qui comprennent le binaire et les autres ...
ben oui si ton champ Numserv est un champ texte alors il faut mettre des quotes autour de la valeur que tu lui affectes autrement MySQL l'interprète comme un nom de champ !
Donc teste comme ceci:
$requete = "SELECT * FROM Employe,Service WHERE SERVICE.NumServ = EMPLOYE.NumServ AND NumServ = '".$NomServ."'";--
PhP
Il y a 10 types de personnes dans le monde : ceux qui comprennent le binaire et les autres ...