récupération du nom de la colonne où se trouve le résultat - PHP - Programmation
Marsh Posté le 08-08-2008 à 11:43:09
ben tu recuperes tous ces champs dans ta requete et tu regardes lequel est à $pa[id_part]
Marsh Posté le 08-08-2008 à 11:50:08
dans ta requete selectionne n+1_reseau etc, et en php regarde dans lequel tu as ta valeur
edit: grillé par sébastien
Marsh Posté le 08-08-2008 à 15:03:36
oui c'est ce que j'ai fini par faire :
$pattern="%|".$pa[id_part]."|%";
$query=mysql_query("select id_part,`n+1_hierar`,`n+1_reseau`,`n_collegues`,`n_reseau`,`n-1_subordonnes`,`n-1_reseau evaluations where id_quest=\"".$q."\" and
(`n+1_hierar` LIKE \"".$pattern."\"
OR `n+1_reseau` LIKE \"".$pattern."\"
OR `n_collegues` LIKE \"".$pattern."\"
OR `n_reseau` LIKE \"".$pattern."\"
OR `n-1_subordonnes` LIKE \"%".$pattern."\"
OR `n-1_reseau` LIKE \"".$pattern."\"
)" );
ensuite dans la boucle while
if (eregi($pattern,$qui['n+1_hierar'])) { echo "blablabla";}
if (eregi($pattern,$qui['n+1_reseau'])) { echo "blablabla";}
if (eregi($pattern,$qui['n_collegues'])) { echo "blablabla";}
if (eregi($pattern,$qui['n_reseau'])) { echo "blablabla";}
if (eregi($pattern,$qui['n-1_subordonnes'])) { echo "blablabla";}
if (eregi($pattern,$qui['n-1_reseau'])) {echo "blablabla";}
ça marche très bien, merci !
Cependant, il n'y a rien de plus direct ?
C'est juste une question.
Marsh Posté le 08-08-2008 à 15:05:57
Arreter d'exploiter les ereg ces fonctions sont depreciées. exploitez plutot les preg ... elles sont plus complexe mais plus puissante et plus rapides.
Marsh Posté le 07-08-2008 à 18:56:16
Bonjour à vous tous,
Je vous remercie par avance de l'aide que vous pourrez m'apporter.
Exposé du problème dans un système de notation:
J'ai une requête :
$query=mysql_query("select id_part from evaluations where id_quest=\"".$q."\" and
(`n+1_hierar` LIKE \"%|".$pa[id_part]."|%\"
OR `n+1_reseau` LIKE \"%|".$pa[id_part]."|%\"
OR `n_collegues` LIKE \"%|".$pa[id_part]."|%\"
OR `n_reseau` LIKE \"%|".$pa[id_part]."|%\"
OR `n-1_subordonnes` LIKE \"%|".$pa[id_part]."|%\"
OR `n-1_reseau` LIKE \"%|".$pa[id_part]."|%\"
)" );
Je cherche donc l'identifiant d'un participant évalué (dans la clause select id_part) dans un questionnaire spécifique (id_quest) qui est évalué par un participant évaluateur ($pa[id_part]).
donc je récupère classiquement l'id des évalués par :
while ($qui=mysql_fetch_array($query)) { echo $qui[id_part]; }
Ce que je veux obtenir :
Je souhaite savoir où le WHERE à trouvé le résultat pour chaque ligne retourné dans le tableau,
dans n+1_hierar ou bien n+1_reseau ou bien n_collegues....
Donc, comment je récupère le nom du champs dans lequel le résultat a été trouvé sachant que $pa[id_part] ne peut être cité qu'une seule fois dans les six champs qui sont traité par LIKE
(soit un évaluateur ne peut pas etre n+1_reseau ET n_collegue pour un évalué)
Je cherche à savoir si l'évaluateur ($pa[id_part]) est n+1_hierar ou bien n+1_reseau ou bien n_collegues, etc....
Voilà, c'est mon devoir de vacances, et là, je sèche...