By: Lionel
Date: 2007-06-12
Time: 15:53
|
Pourquoi ne peut-on pas passer un mergeblock comme clause selected ?
Salut à tous,
Je souhaite activer plusieurs checkbox sur la base d'une requête en base de données. Je m'attendais à faire un simple:
$TBS->MergeBlock('blk1',$dblink,$listeDesCasesCochees);
|
et d'utiliser ce résultat comme s'il s'agissait d'un tableau pour activer les cases à cocher.
Mais ca marche pas et le seul moyen consiste à créer le tableau dans le code PHP et à l'exporter sous la forme d'un var.
Ma question est simple: pourquoi ? Ce serait tellement pratique.
|
By: Skrol29
Date: 2007-06-15
Time: 13:53
|
Re: Pourquoi ne peut-on pas passer un mergeblock comme clause selected ?
Oui, à ce moment là, tu as plutôt besoin d'un MergeField().
Un MergeBlock() est sensé multiplier une section.
|
By: Lionel
Date: 2007-06-19
Time: 11:15
|
Re: Pourquoi ne peut-on pas passer un mergeblock comme clause selected ?
Merci pour ta réponse; hélas, j'ai essayé MergeField mais ca ne donne rien. Du coté PHP j'ai:
// liste des catégories
$listeCategories="SELECT id_categorie, nom_categorie FROM categorie ORDER BY nom_categorie ASC";
$liencc="SELECT categorie_id FROM liencc WHERE compagnie_id=$id_compagnie";
$TBS=new clsTinyButStrong;
$TBS->LoadTemplate("templates/editBonnesAdresses.htm");
$TBS->MergeField('liencc',$liencc);
$TBS->MergeBlock('listeCategories',$dblink,$listeCategories);
$TBS->Show();
|
et l'extrait du fichier HTML qui devrait m'afficher mes cases à cocher préselectionnées en fonction des valeurs de "liencc":
<tr><td>Catégorie(s):</td><td>[var.liencc;selected=categorie_id[]]
<span><input type="checkbox" name="categorie_id[]" value="[listeCategories.id_categorie;block=span]" />[listeCategories.nom_categorie]<br /></span>
</td></tr>
|
Le <span> me sers juste à délimiter la zone pour TBS car il n'aime pas trop se baser sur le <br /> (balise non trouvée). Dois-je placer le [var.liencc;selected=categorie_id[]] ailleurs ?
Merci d'avance pour tes lumières
|
By: Skrol29
Date: 2007-06-20
Time: 17:36
|
Re: Pourquoi ne peut-on pas passer un mergeblock comme clause selected ?
Salut,
Quelle version de TBS as-tu ? On dirait que ton code est pour une ancienne version.
Tout d'abord, MergeField() ne sait pas traiter le SQL contrairement à MergeBlock(). Tu dois donc lui fournir en deuxième argument un tableau contenant toutes les valeurs à cocher.
Coté HTML, il me semble que la balise TBS
[var.liencc;selected=categorie_id[]]
doit être remplacé par
[var.liencc;ope=html;selected=categorie_id[]]
car sinon tu n'active pas le plug-in HTML, c'est lui qui fait la sélection.
> Le <span> me sers juste à délimiter la zone pour TBS
> car il n'aime pas trop se baser sur le <br />
"block=br" n'est pas valable car il faut un couple de balise ourante+fermants.
Mais tu peux aussi tenter le "block=_" qui défini le bloc sur la ligne texte entière. C'est pratique souvent mais il faut faire attention si on utilise un éditeur HTML visuel qui retouche le code HTML source.
|
|
Posting in progress.
Please wait...
|