Categories > TinyButStrong general (FR) >

>> Afficher un tableau de tableaux

The forum is closed. Please use Stack Overflow for submitting new questions. Use tags: tinybutstrong , opentbs
By: NemetraL
Date: 2006-04-12
Time: 00:24

>> Afficher un tableau de tableaux

Bonjour.

Continuant ma progression dans TBS, je tombe sur le problème suivant :
comment afficher un tableau de tableaux ?

Plus précisément, ma fonction me renvoie un tableau dont chaque cellule sera affichée entre deux <td>, le contenu de chaque cellule étant lui-même un tableau dont le contenu sera affiché entre des <li>.

Structure du code html avec des bouts de php (le tableau des données est nommé "table") :
<table>
<tr>
   <td>
      <ul><? echo $table[0][0]; ?>
           <li><? echo $table[0][1]; ?></li>
           <li><? echo $table[0][2]; ?></li>
            ...
      </ul>
       ...
   </td>
    ...
</tr>

Comment trouver la structure TBS (dynamique si possible) correspondante ?

Merci et encore bravo à l'équipe TBS.

NemetraL
By: Skrol29
Date: 2006-04-12
Time: 01:14

Re: >> Afficher un tableau de tableaux

Salut,

Mmmmhhh tu demandes beaucoup de choses à la fois dans ce petit problème. TBS peut peu être le faire avec le code suivant (non testé).
Il s'agit d'utiliser les bloc/sous-blocs avec une requête dynamique. Ici on utilise la fonctionnalité interne de TBS qui permet de faire des requêtes sur un tableau Php.

<table>
<tr>
   <td>
      <ul>[bp.0;block=td]
        <li>[sb.val;block=li;p1=[bp.key];when [sb.key]+-0]</li>
      </ul>
   </td>
</tr>
</table>

Côté PHP:
$TBS->MergeBlock('bp','array','table'); // fusion bloc principal
$TBS->MergeBlock('sb','array','table[%p1%]'); // sous-blocs
By: NemetraL
Date: 2006-04-13
Time: 13:12

Re: >> Afficher un tableau de tableaux

Merci pour cette réponse.

En fait mon cas est un peu particulier et si je ne mets pas de code, c'est parce que tout est imbriqué et j'aurais à en copier coller vraiment beaucoup.

Une autre question : lorsque l'on rentre une requête mysql dans un $TBS->MergeBlock(), quel traitement est effectué par TBS ?
En fait mon cas fonctionne si je mets les requêtes directement mais ne fonctionne plus dès que je fais appel à une fonction qui revoie un tableau associatif avec les données prélevées dans la base, ce qui devrait revenir au même non ?

Merci.
NemetraL
By: Skrol29
Date: 2006-04-13
Time: 13:22

Re: >> Afficher un tableau de tableaux

Salut,

> lorsque l'on rentre une requête mysql dans un
> $TBS->MergeBlock(), quel traitement est effectué par TBS ?

La chaîne SQL est envoyée à MySQL avec mysql_query(), puis les enregistrements sont lus avec un mysql_fetch_array(). Basic quoi.

Le problème que tu rencontre est peut être dû au fait que tu ne récupères pas un tableau de tableau, mais un tableau d'objets. Dans ce cas, TBS 2.05 contient un petit problème à ce niveau qui est corrigé dans la v 3.0.
Le pb est décrits ici:
  http://www.tinybutstrong.com/fr/forum.php?msg_id=4640