Categories > TinyButStrong general (FR) >

[fr] Show field following a SQL request from previews request

The forum is closed. Please use Stack Overflow for submitting new questions. Use tags: tinybutstrong , opentbs
By: Jorge
Date: 2003-06-20
Time: 15:25

[fr] Show field following a SQL request from previews request

Bonjour,

J'ai 2 requetes:
Requete 1 qui fait un select sur champ0
Requete 2  qui fait un select sur champ1, champ2

Je veux afficher la valeur du champ1 ou champ2 en fonction de la valeur du champ0

Comment faire?

Il faudrai qque chose du genre:

[tbs_check;if [var.champ0]=1;then [champ1];else [champ2]]

mais la syntaxe marche pas...snif

Merci
By: Skrol29
Date: 2003-06-20
Time: 15:35

Re: Show field following a SQL request from previews request

Salut,

Qu'est ce qui lie ces deux requêtes ?
La requête 1 renvoie-t-elle qu'un seul enregsitrement avec 1 seule valeur ?

L'expression que tu as écrite ne fonctionne pas parce que la variable $champ0 n'a pas été définie, et/ou que [champ1] et [champ2] sont des indicateurs liés à rien (ni une varibale, ni un bloc).

J'ai besoin de plus d'info pour t'aider.
By: Jorge
Date: 2003-06-20
Time: 19:51

Re: Show field following a SQL request from previews request


Bah rien ne les relient ces deux requetes...:)

Ce sont 2 requetes séparées!
La requete 1 renvoie un chiffre unique genre "10" ou "20"

Ensuite la 2eme requete rapatrie du texte de la base de donnée:
idem, une seule valeur est rapatriée pour le champ1, et une seule valeur est rapatriée pour le champs2.

Je veux ensuite mettre une condition pour afficher soit
champ1, si champ0= 10
soit
champ2, si champ0 = 20

voili voila
By: Skrol29
Date: 2003-06-20
Time: 20:21

Re: Show field following a SQL request from previews request

C'est possible de le faire uniquement avec des champs TBS mais
si l'opération ne doit être faite qu'un seule fois, autant le faire en PHP.

Tu mets tes trois variables dans $champ0, $champ1 $champ2.
Puis $valeur = ($champ0==10) $champ1 : $champ2 ;

Mais y'a mieux encore :
Tu change ta requête Requête 2 selon la valeur de $champ0 :
si $champ0 = 10 alors sql = 'SELECT champ1 as x FROM ...' ;
si $champ0 = 20 alors sql = 'SELECT champ2 as x FROM ...' ;

la requête 2 te renverra donc la valeur de champ1 ou champ2 mais toujours avec le même nom de colonne 'x'.
Le gros avantage c'est que tu invoque la base de données juste pour les infos nécessaires, c'est + propre.

C'est aussi possible de le faire que avec des inicateurs TBS.
Si tu prèfère ça, je peux de técrire comment faire, mais ce sera un cas particulier.
By: (translation)
Date: 2003-06-21
Time: 13:49

Re: [us] Show field following a SQL request from previews request

This is a small translation of the current thread.

Jorge:
I have 2 queries:
Requete1 which makes a select on the field champ0
Requete2 which makes a select on the fields champ1, champ2
How to display the value of champ1 or champ2 depending to the value of champ0 ?
I tried something like:
[tbs_check;if [var.champ0]=1;then [champ1];else [champ2]]
But it didn't work.

Skrol29:
What are the links between Requete1 and Requet2 ?
The expression can't work because the variable $champ0 is not defined and because [champ1] and [champ2] are locators linked to nothing.

Jorge:
Nothing links the queries. They only retrieve single values.

Skrol29:
You can do it with TBS but it is very much simple to do it with pure PHP because there is no 'template' stuff in your problem.
It is also smarter to retrieve champ1 or champ2 depending to champ0 in stead of retrieve champ1 and champ2.