Page 1 sur 1
Affichage de résultat
Posté : 12 juin 2006, 14:24
par béka
Voici mon code
<?php
include("../../connexion.php");
////////////////////////
//Deuxieme Page//
///////////////////////
//Recupération de l'id envoyer par page1
$id = $_GET['id'] ;
//requete sql
$sql = "SELECT * FROM `demande_emploi` WHERE demande_emploi.id='$id' AND demande_emploi.nom_etudiant=cv.nom_etudiant AND cv.emploi='1'";
$req = mysql_query($sql);
$sql2 = "SELECT * FROM `cv` WHERE demande_emploi.nom_etudiant=cv.nom_etudiant AND cv.emploi='1'";
$req2 = mysql_query($sql2);
// affichage des informations
$affichage = mysql_fetch_row($req);
$affichage2 = mysql_fetch_row($req2);
echo nl2br("<p class=\"Texte2\">CV complet :<a href=\"../../etudiant/depot/depot/cv/".$affichage2[1]."\" target =_blank>ici</a><br><br>".$affichage[1]." ".$affichage[2]."<br>".$affichage[3]."<br><br>Téléphone : ".$affichage[6]."<br>Courriel : <a href=\"mailto:$affichage[4]\">".$affichage[4]."</a><br><br>Poste souhaité : <u>".$affichage[7]."</u> dans le milieu professionnel : <u>".$affichage[8]."</u><br><br><br>".$affichage[5]."</p>");
mysql_close($db);
?>
et je ne comprends pas, car les informations présentes dans la table ne s'affichent pas... je ne vois pas mon erreur.. pouvez m'éclaircir
Posté : 12 juin 2006, 14:26
par guilt92
Code : Tout sélectionner
$sql = "SELECT * FROM `demande_emploi` WHERE demande_emploi.id='$id' AND demande_emploi.nom_etudiant=cv.nom_etudiant AND cv.emploi='1'";
Tu lui demandes de chercher dans la table cv mais tu ne l'inclus pas dans le FROM.
Il faut donc :
Code : Tout sélectionner
$sql = "SELECT * FROM `demande_emploi`,'cv' WHERE demande_emploi.id='$id' AND demande_emploi.nom_etudiant=cv.nom_etudiant AND cv.emploi='1'";
Posté : 12 juin 2006, 14:29
par béka
je viens de corriger et cela ne change rien, rien ne s'affiche
Posté : 12 juin 2006, 14:32
par ouckileou
Posté : 12 juin 2006, 14:33
par guilt92
tu as essayé de faire un echo de tes requetes pr vérifier si la valeur de id est correcte et si il n y a pas de probleme ?
Posté : 12 juin 2006, 14:34
par Ryle
Et où sont les "or die(mysql_error)" pour vérifier qu'il n'y a pas eu d'erreur sql ?!
si tu affiches tes requêtes avec un echo $sql, sont elles correctes ? obtiens tu les résultats attendu en les jouant dans phpMyAdmin ?
Posté : 12 juin 2006, 14:42
par béka
j'ai modiffié mon code en rajoutant les mysql_error() (pas de message d'erreur) et en faisant des echos. (j'obtiens "resource id"4")
$id = $_GET['id'] ;
//requete sql
$sql = "SELECT * FROM `demande_emploi`, `cv` WHERE demande_emploi.id='$id' AND demande_emploi.nom_etudiant=cv.nom_etudiant AND cv.emploi='1'";
$req = mysql_query($sql) or die (mysql_error());
echo $req;
$sql2 = "SELECT * FROM `cv`, `demande_emploi` WHERE demande_emploi.nom_etudiant=cv.nom_etudiant AND cv.emploi='1'";
$req2 = mysql_query($sql2) or die (mysql_error());
echo $sql2;
// affichage des informations
$affichage = mysql_fetch_array($req);
$affichage2 = mysql_fetch_array($req2);
echo nl2br("<p class=\"Texte2\">CV complet :<a href=\"../../etudiant/depot/depot/cv/".$affichage2[1]."\" target =_blank>ici</a><br><br>".$affichage[1]." ".$affichage[2]."<br>".$affichage[3]."<br><br>Téléphone : ".$affichage[6]."<br>Courriel : <a href=\"mailto:$affichage[4]\">".$affichage[4]."</a><br><br>Poste souhaité : <u>".$affichage[7]."</u> dans le milieu professionnel : <u>".$affichage[8]."</u><br><br><br>".$affichage[5]."</p>");
Il affiche donc bien la requete avec la variable (correcte, celle souhaitée) passée dans l'URL
La requete SQL a l'air de bien marcher dans phpMyAdmin car il met "la requete a été exécutée avec succès"
Posté : 12 juin 2006, 14:45
par ouckileou
j'ai modiffié mon code en rajoutant les mysql_error() et en faisant des echos.

Super !
Et ça donne quoi ?
Si on te dit de faire ça c'est pour que tu nous donnes un message d'erreur et le code de la requête
D'ailleurs c'est marqué dans le lien que je t'ai filé :
vous pouvez venir demander de l'aide sur le forum.
Avec ces trois informations indispensables :
SGBD utilisé et en quelle version, code SQL exécuté et message d'erreur obtenu
Posté : 12 juin 2006, 14:47
par béka
je m'en suis rendu compte et ai édité mon message précédent
Posté : 12 juin 2006, 14:57
par guilt92
$sql = "SELECT * FROM `demande_emploi`, `cv` WHERE demande_emploi.id='$id' AND demande_emploi.nom_etudiant=cv.nom_etudiant AND cv.emploi='1'";
$req = mysql_query($sql) or die (mysql_error());
echo $req;
$req n est pas la variable qu il faut voir, si il y avait une erreur la dedans elle serait prise en compte par le mysql_error.
il vaut mieux faire eun echo $sql et vérifier aussi dans ta base que il y ait effectivement une valeur avec cette id.
Posté : 12 juin 2006, 15:03
par béka
non mais en fait, je viens de voir mon ereur, ma requete SQL est bonne
C'est juste que l'affichage ne peut avoir lieu si rien n'est inscrit dans la table cv.
Maintenant ca ca me gene, car je voulais pas rendre obligatoire cette insertion dans la table cv.
Mais je veux pas ca moi
Je veux qu'un eleve puisse déposer sa demande d'emploi sans obligatoirement déposer un cv
Posté : 12 juin 2006, 15:16
par ouckileou
non mais en fait, je viens de voir mon ereur, ma requete SQL est bonne
Et bien non, elle fonctionne mais elle ne fait pas ce que tu veux
Je veux qu'un eleve puisse déposer sa demande d'emploi sans obligatoirement déposer un cv
Ici tu sélectionnes les lignes de "demande_emploi" qui ont une correspondance dans la table "cv".
Pas de correspondance, pas de sélection.
La solution : jointure externe (outer join)
Bien expliquées ici :
http://laltruiste.com/document.php?url= ... nture.html
Posté : 12 juin 2006, 15:40
par béka
oui j'ai vu cette erreur ouckileaou et j'ai corrigé en conséquent. Merci pour l'aide
Posté : 12 juin 2006, 15:43
par ouckileou
oui j'ai vu cette erreur ouckileaou et j'ai corrigé en conséquent. Merci pour l'aide
Comment tu as fait ?
Si ça marche, poste ta requête, ça pourra toujours servir à quelqu'un
Posté : 12 juin 2006, 16:18
par béka
voila comment j'ai fait :
//Recupération de l'id envoyer par page1
$id = $_GET['id'] ;
//requete sql
$sql = "SELECT * FROM `demande_emploi` WHERE demande_emploi.id='$id'";
$req = mysql_query($sql) or die (mysql_error());
$sql2 = "SELECT * FROM `cv`, `demande_emploi` WHERE demande_emploi.nom_etudiant=cv.nom_etudiant AND cv.emploi='1'";
$req2 = mysql_query($sql2) or die (mysql_error());
// affichage des informations
$affichage = mysql_fetch_row($req);
$affichage2 = mysql_fetch_row($req2);
echo nl2br("<p class=\"Texte2\">CV complet :<a href=\"../../etudiant/depot/depot/cv/".$affichage2[1]."\" target =_blank>ici</a><br><br>".$affichage[1]." ".$affichage[2]."<br>".$affichage[3]."<br><br>Téléphone : ".$affichage[6]."<br>Courriel : <a href=\"mailto:$affichage[4]\">".$affichage[4]."</a><br><br>Poste souhaité : <u>".$affichage[7]."</u> dans le milieu professionnel : <u>".$affichage[8]."</u><br><br><br>".$affichage[5]."</p>");