younes371
Messages postés502Date d'inscriptionmercredi 29 décembre 2004StatutMembreDernière intervention20 mars 2012
-
10 sept. 2007 à 11:38
younes371
Messages postés502Date d'inscriptionmercredi 29 décembre 2004StatutMembreDernière intervention20 mars 2012
-
10 sept. 2007 à 16:15
Bonjour,
Je viens vers vous pour vous demander un conseil ...
bon voilà mon probleme,
j ai 3 tables MySQL : "Taches, User, Affaire et Fonction ".
je veux selectionner des taches effectuees selon une fonction, c est a dire, si je selectionne une fonction et une affaire,
j aurai seulement les tâches des utilisteurs qui appartiennent à cette fonction.
Voilà l algo que j ai met en oeuvre : (mais , je pense pas qu il est à la hauteur)
//les variables passé en arguments : $id_fonction et $id_affaire
Sélétionner tous les utilistateurs qui appartiennent à cette fonction,
// select id_utilisteur from user where id_fonction="$id_fonction.
//while($array(mysql_fetch_array($reqUser))
{
Séléctionner les tâches celon l'affaire et et l utilisateur.
//select tache, date,... from taches where id_utilisateur= $array[id_utilisateur] and $id_affaire=$id_affaire.
faire un while et afficher les resulat
{
}
}
est ce que vous avez un algo plus pratique,
j ai pensé a faire comme suit : ajouter un champs id_fonction dans la table "taches", comme ça la selection sera facile.
merci pour vos aides
N'importe où.
mais là où il le faut.
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 10 sept. 2007 à 12:32
hello,
SELECT t.tache, t.date, ... FROM taches t
LEFT JOIN utilisateurs u ON u.id_utilisateur = t.id_utilisateurWHERE t.id_affaire $id_affaire AND u.id_fonction $id_fonction
younes371
Messages postés502Date d'inscriptionmercredi 29 décembre 2004StatutMembreDernière intervention20 mars 2012 10 sept. 2007 à 13:31
Merci pour ta reponse,
j ai un petit souci, lorsque ,
j ai fait :
$queryFct=mysql_query(' votre requette');
while($array=mysql_fetch_array($queryFct)>0)
{
$id_user=$array['t.tache']; // ça n afffiche rien,
}
comment recuperer les resultats ?
merci encore une fois cher ami
younes371
Messages postés502Date d'inscriptionmercredi 29 décembre 2004StatutMembreDernière intervention20 mars 2012 10 sept. 2007 à 13:39
bon, voilà ma requette :
$queryFct=mysql_query("SELECT e.id_travail,e.date_eff,e.duree,e.id_user FROM effectue e LEFT JOIN user u ON u.id_user=e.id_user WHERE e.id_aff=".$id_aff." AND u.id_fonction=".$id_fonction)or die(mysql_error());
while($array=mysql_fetch_array($queryFct)>0)
{
$id_user=$array['id_user'];
//Les noms
$req_user=mysql_query("SELECT nom,id_ste from user where id_user=".$id_user) or die(mysql_error());
$user=mysql_result($req_user,0,"nom"); //le nom du collaborateur
...
}
ça me donne une erreur mysql au niveau de la requette, et lorsque j ai verifié j ai trouvé que $array['id_user'] est vide !
merci pour ton aide.
N'importe où.
mais là où il le faut.
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 10 sept. 2007 à 14:50
Tu ne dois pas utiliser les alias dans la récupération des données.
<?php
$queryFct=mysql_query("SELECT e.id_travail,e.date_eff,e.duree,e.id_user, u.nom, u.id_ste FROM effectue e LEFT JOIN user u ON u.id_user=e.id_user WHERE e.id_aff=".$id_aff." AND u.id_fonction=".$id_fonction)or die(mysql_error());
younes371
Messages postés502Date d'inscriptionmercredi 29 décembre 2004StatutMembreDernière intervention20 mars 2012 10 sept. 2007 à 16:15
merci bcp pour la reponse,
j ai fait cette requette :
$query_=mysql_query("SELECT id_travail,date_eff,duree,id_user FROM effectue where id_aff=".$id_aff." AND id_user in (SELECT id_user FROM user WHERE id_fonction=".$id_fonction.")")or die(mysql_error());