Test avec une variable comparatrice

Résolu
roro59650 Messages postés 99 Date d'inscription vendredi 20 avril 2007 Statut Membre Dernière intervention 28 juillet 2011 - 8 mars 2008 à 09:43
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 - 8 mars 2008 à 10:49
Bonjour tout le monde!
Voilà, j'ai une question (dont j'ai cherché la réponse et je ne l'ai pas trouvé ou mal cherché, dans ce cas, désolé^^).
Bon alors, ce que je voudrais, c'est dans un if(), mettre trois variables : la première qui est la valeur à comparer, la seconde qui est le comparateur (==, !=,<, >, ...), et la troisième qui est l'autre valeur à comparer.
J'ai essayer de concatener, mais ça fait une seule variable, et donc le if() test en fait l'existance de la concatenation des trois variables...
Donc ce que je voudrais, si c'est possible, c'est : 
   $AComparer1 = "TEST";
   $Comparateur = "==";
   $AComparer2 = "TEST";
   if($AComparer1 $Comparateur $AComparer2) {
      echo "&Ccedil;a marche!!";
   } else {
      echo "&Ccedil;a ne marche pas!!";
   }
Donc voilà.
Si vous avez une idée, ou si vous avez déjà été confronté à ce problème, merci de me l'indiquer!!

Roro
www.le-roro.fr un site qui s'ameliore de jour en jour

5 réponses

roro59650 Messages postés 99 Date d'inscription vendredi 20 avril 2007 Statut Membre Dernière intervention 28 juillet 2011 1
8 mars 2008 à 10:44
Oui c'est vrai, j'y ai pensé, mais vu comme ce que je voulais était farfelu... Enfin je m'y colle! Peut-être que dans un an j'en aurais besoin^^.Problème : <?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>

Donc en fait, j’ai une base de données de deux tables : table 1 qui est la table principale (qui est très conséquente…), et ma table 2 qui dépend de la table 1 par le champ Numéro.

J’ai une page php où j’affiche toutes les personnes de ma table 1. Donc je fait un while() qui écrit les lignes de résultat. Et dans chaque while(), je fais une autre requête, sur la table 2, qui extrait et regroupe tous données ayant pour clé Numéro. Et j’affiche ces dernières données sur la même ligne.

Et sur ce tableau, j’ai ma première ligne qui est une ligne à conditions, que l’utilisateur rempli. Chaque colonne correspond à un champ d’une table. Et lorsque l’utilisateur choisi de trier le tableau selon les conditions, la page est rechargée et la requête du début est modifiée. J’effectue aussi une opération pour séparer le comparateur ( =, <>, …) de la valeur à comparer. Et ce, pour tous les champs de condition.

Donc par exemple, ma première colonne est Numéro. Si l’utilisateur met "099*", ce qui correspond à tous les mots commençant par "099", la requête sur la table 1 est modifiée par un WHERE. Mais si le champ rempli correspondait à une condition sur la table 2, je voulais faire un if() comparant la valeur du champ à la valeur retournée par la requête de la table 2 avec comme comparateur le comparateur du champ de condition rempli. Et si la condition était bonne, alors j’affichait la ligne, sinon on allait directement à la fin du while ().

Solution :

En fait, au lieu de faire le if () avec le retour de la requête de la table 2, je met directement la condition dans la requête. C’était tout con, je comprends pas pourquoi ça ne marchait pas… Ah si ! J’avais oublié de rajouter la condition dans la requête de la table 2…

Voilà, merci à malalam!
Et bon courage pour ceux qui passent par ici! Le bout du tunnel arrive toujours ... un jour ou un autre^^.

www.le-roro.fr un site qui s'ameliore de jour en jour
3
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
8 mars 2008 à 09:57
Hello,

tu ne peux pas du tout, du tout faire ça comme ça.
Il y a plusieurs solutions, mais avant de t'aiguiller, explique un peu pourquoi tu veux faire ça, quel est le but ? D'où viennent tes variables, etc ?
0
roro59650 Messages postés 99 Date d'inscription vendredi 20 avril 2007 Statut Membre Dernière intervention 28 juillet 2011 1
8 mars 2008 à 10:09
Ah, ok, merci de cette réponse rapide!
En fait, j'ai été vraiment un gros naze sur ce coup, car je pouvais intervenir directement dans la requête qui affichait les résultats.
J'ai un champ de test en début de tableau, qui extrait le comparateur et la valeur à comparer. Et en fonction du résultat, on affiche les lignes ou pas.
Je ne sais pas si j'ai été clair^^.
Enfin pour moi, c'est bon. Peut-être effacer ce sujet vu son inutilité et sa spécificité selon les cas?
Merci encore!!

www.le-roro.fr un site qui s'ameliore de jour en jour
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
8 mars 2008 à 10:20
Heu non, t'as pas été très clair pour moi ;-)

Ceci dit, plutôt que d'effacer ta question, je préfèrerais la laisser et que tu expliques ce que tu as trouvé comme solution. Parce que le problèpme que tu soulevais est un problème qui revient de temps à autres : "Evaluer" des formules est un besoin auquel on est forcément confronter un jour. Tu pourrais ainsi aider certaines personnes y étant confrontés et faisant une recherche sur ce forum :-)
Merci
0

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

Posez votre question
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
8 mars 2008 à 10:49
Merci :-)
0
Rejoignez-nous