Jointure qui marche pas

Résolu/Fermé
kami_24 Messages postés 41 Date d'inscription samedi 16 avril 2011 Statut Membre Dernière intervention 22 mai 2011 - 12 mai 2011 à 20:02
__acron__ Messages postés 60 Date d'inscription mercredi 11 mai 2011 Statut Membre Dernière intervention 22 juin 2011 - 16 mai 2011 à 11:18
Bonjour,


mon problème est le suivant:
j'essaye de récupérer des données d'une table avec des conditions issues d'une autre table c pourquoi j'utilise une jointures et voici le code:
$s=mysql_query("SELECT * FROM tablecc, manager_approve WHERE manager_approve.ref_no='".$row['ref_no']."' AND tablecc.manager='receiving_manager'");
$data=mysql_fetch_array($s);
echo $data['nom'];
if(!empty($data['nom'])){
echo '<a href="stock/BSK'.$row['ref_no'].'.pdf">bsk'.$row['ref_no'].'</a>';}
else
{echo'
<form name="remplir" method="POST" action="pending.php"> 
<input type="hidden" name="ref_no" value="'.$row['ref_no'].'" class="envoi">
<input type="submit" name="pending" value="pending_'.$row['ref_no'].'" class="envoi">
</form>';}

mais la condition que j'ai posé ne marche pas (tablecc.manager='receiving_manager')
est ce que vous avez une idée?

13 réponses

__acron__ Messages postés 60 Date d'inscription mercredi 11 mai 2011 Statut Membre Dernière intervention 22 juin 2011 4
Modifié par __acron__ le 12/05/2011 à 20:08
peux-tu poster les structures de tes 2 tables stp ?

SHOW CREATE TABLE tablecc;
SHOW CREATE TABLE manager_approve;

Un conseil, évite les jointure comme ça, écris plutôt "[...] FROM tablecc JOIN manager_approve ON ([...etc...])", plutot que "[...] FROM tablecc, manager_approve WHERE [...]".
0
kami_24 Messages postés 41 Date d'inscription samedi 16 avril 2011 Statut Membre Dernière intervention 22 mai 2011
12 mai 2011 à 20:21
pour la table manager_approve:
CREATE TABLE IF NOT EXISTS 'manager_approve' (
'ref_no' int(11) NOT NULL,
'mail' varchar(50) NOT NULL,
'date_approve' datetime NOT NULL,
'remark' text NOT NULL
)

pour la table tablecc:


CREATE TABLE IF NOT EXISTS 'tablecc' (
'id' int(11) NOT NULL AUTO_INCREMENT,
'cost_center' varchar(11) DEFAULT NULL,
'operation' varchar(9) DEFAULT NULL,
'manager' varchar(50) NOT NULL,
'name' varchar(21) DEFAULT NULL,
'email' varchar(27) DEFAULT NULL,
PRIMARY KEY ('id')
)
0
__acron__ Messages postés 60 Date d'inscription mercredi 11 mai 2011 Statut Membre Dernière intervention 22 juin 2011 4
12 mai 2011 à 20:26
pour faire plus propre tu devrais écrire:

"SELECT * FROM manager_approve
JOIN tablecc ON (tablecc.manager='receiving_manager')
WHERE manager_approve.ref_no='".$row['ref_no']."'"

dis moi si ca marche... sinon c'est que tu n'as pas d'entré dans tablecc avec manager='reveiving_manager'... ou pas de "manager_approve.ref_no='".$row['ref_no']."'"
0
kami_24 Messages postés 41 Date d'inscription samedi 16 avril 2011 Statut Membre Dernière intervention 22 mai 2011
12 mai 2011 à 20:35
d'accord acron merci pour ta réponse je vai la testé et te répondre plus tard..
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
kami_24 Messages postés 41 Date d'inscription samedi 16 avril 2011 Statut Membre Dernière intervention 22 mai 2011
12 mai 2011 à 20:43
je profite de poser une autre question sur le méme code dans l'URL=href="stock/BSK'.$row['ref_no'].'.pdf" ça c' bien l'emplacement des fichies pdf qui ont pour nom BSK1,BSK2,BSK3....mais qu'on je clique sur l'url rien ne s'ouvre..
0
__acron__ Messages postés 60 Date d'inscription mercredi 11 mai 2011 Statut Membre Dernière intervention 22 juin 2011 4
12 mai 2011 à 20:45
ca fait partie des questions que je me posais.. es-tu sûr que $row['ref_no'] contient une valeur ?

sinon quelle est l'URL de ton site, essaie avec des chemins absolues.
0
kami_24 Messages postés 41 Date d'inscription samedi 16 avril 2011 Statut Membre Dernière intervention 22 mai 2011
12 mai 2011 à 20:49
oui oui $row['ref_no'] contient bien une valeur je l'ai testé par echo ..
l'url de mon site j'ai pa bien comprie ta question..
0
__acron__ Messages postés 60 Date d'inscription mercredi 11 mai 2011 Statut Membre Dernière intervention 22 juin 2011 4
12 mai 2011 à 20:51
et bien tu mets: stock/BSK1.pdf dans le lien, hors c'est une chemin relatif, si ton site à une URL du style http://site.com/truc/ et que tes PDF sont à http://site.com/stock/BSK1.pdf tu ne les auras pas, vu que tu va taper dans http://site.com/truc/stock/BSK1.pdf
0
kami_24 Messages postés 41 Date d'inscription samedi 16 avril 2011 Statut Membre Dernière intervention 22 mai 2011
12 mai 2011 à 20:55
oui mais le fichier qui contient mon code c lui méme qui contient le fichier stock alors c un chemin relatif..
0
__acron__ Messages postés 60 Date d'inscription mercredi 11 mai 2011 Statut Membre Dernière intervention 22 juin 2011 4
12 mai 2011 à 20:58
au fait je viens de voir un truc mais tu fais $data['nom'] alors que dans ta table c'est 'name'...
0
kami_24 Messages postés 41 Date d'inscription samedi 16 avril 2011 Statut Membre Dernière intervention 22 mai 2011
12 mai 2011 à 21:02
ah oui là j'ai oublier de dire que je l'ai modifier ce name par nom j'ai croyé moi aussi que c ça le poblème pour ne pas mélanger le name de tablecc avec le name de manager_approve ..ms bon ça reste le méme problème..
0
__acron__ Messages postés 60 Date d'inscription mercredi 11 mai 2011 Statut Membre Dernière intervention 22 juin 2011 4
12 mai 2011 à 21:05
je vois pas de name dans manager_approve..

D'ailleurs qu'est ce qui te fait dire que ca foire ?

Et es-tu sur d'avoir les bonnes entrées dans tes tables, post un select * des 2 tables stp... ca devient bizarre là...
0
kami_24 Messages postés 41 Date d'inscription samedi 16 avril 2011 Statut Membre Dernière intervention 22 mai 2011
13 mai 2011 à 21:54
re,
voilà j'ai résolue le problème est effectivement j'ai utilisé la requête que tu m'a proposé acron et ça a marché et en faite j'avais oublié une condition..
donc voilà la requéte juste:

$s=mysql_query("SELECT * FROM tablecc JOIN manager_approve ON (tablecc.manager='receiving_manager') WHERE manager_approve.ref_no='".$row['ref_no']."' AND tablecc.name=manager_approve.nom");


donc c bon merci beaucoup
0
__acron__ Messages postés 60 Date d'inscription mercredi 11 mai 2011 Statut Membre Dernière intervention 22 juin 2011 4
16 mai 2011 à 11:18
cool. oublie pas de mettre "résolu" !
a+
0