Categories > TinyButStrong general (FR) >

Tableaux et nodata

The forum is closed. Please use Stack Overflow for submitting new questions. Use tags: tinybutstrong , opentbs
By: fabal
Date: 2008-04-17
Time: 11:52

Tableaux et nodata

Bonjour,

Je reprends TBS après une long moment sans coder, et j'ai du mal avec nodata.

Voici mon code :
Côté Php
$res_nostock = $TBS->MergeBlock('*',$cnx_id,$query) ;
  $tab1[]=array();
  foreach ($res_nostock as $ln)
  {
    $tab1[] = array( 'dossier' => $ln[RDOSS].'/'.$ln[CCDCLE],
                     'ref_cli' => $ln[CCREFC],
                     'lib_cat' => $ln[TLIB1],
                     'desig'   => $ln[CCDES1].' '.$ln[CCDES2],
                     'qte_cde' => intval($ln[CCQTEC]),
                     'qte_fab' => intval($ln[CCQTEF]),
                     'qte_liv' => intval($ln[CCQTEL])
                   );
  };

et côté HTML :
<table width="1031" border="0" cellspacing="0" cellpadding="3">
  <tr>
    <td><b>Fabrications</b></td>
  </tr>
  <tr>
    <td width="83">Dossier</td>
    <td width="133">R&eacute;f. Cde Client</td>
    <td width="419">Description</td>
    <td width="124">Qt&eacute; Command&eacute;e</td>
    <td width="119">Qt&eacute; Fabriqu&eacute;e</td>
    <td width="117">Qt&eacute; Livr&eacute;e</td>
  </tr>
  <tr>
    <td width="995" colspan="6">[b1.lib_cat;block=tr;headergrp=lib_cat]</td></tr>
  <tr>
    <td width="83">[b1.dossier]</td>
    <td width="133">[b1.ref_cli]</td>
    <td width="419">[b1.desig;block=tr]</td>
    <td width="124">
      <div align="right"><!--[b1.qte_cde;frm='0 000.';comm] --></div>
    </td>
    <td width="119">
      <div align="right"><!--[b1.qte_fab;frm='0 000.';comm] --></div>
    </td>
    <td width="117">
      <div align="right"><!--[b1.qte_liv;frm='0 000.';comm] --></div>
    </td>
  </tr>
  <tr>
    <td width="995" colspan="6">[b1;block=tr;nodata]Aucun      dossier.</td>
  </tr>
</table>

Je ne vois pas ce qui cloche dans mon code, toujours est-il que le block nodata ne s'affiche pas. Peut être un pb avec headergrp ? Merci de votre aide.
By: fabal
Date: 2008-04-17
Time: 11:59

Re: Tableaux et nodata

J'ai oublié de préciser, j'utilise :
   $TBS->MergeBlock('b1',$tab1) ;
pour la fusion.
Merci
By: Skrol29
Date: 2008-04-17
Time: 17:27

Re: Tableaux et nodata

Ton HTML a l'air correct.
Que t'affiche le résultat de la fusion ?
Es-tu sûr que le tableau $tabl est bien vide au moment de la fusion ? Peux-tu faire un var_export($tabl); pour vérifier ?

By: fabal
Date: 2008-04-17
Time: 18:08

Re: Tableaux et nodata

Le var_export($tabl); donne un NULL, ce qui semble correct.
En mettant noerr à false, je trouve les messages suivants :
TinyButStrong Error in field [b1.lib_cat...] : item 'lib_cat' is not an existing key in the array. This message can be cancelled using parameter 'noerr'.

TinyButStrong Error in field [b1.lib_cat...] : item 'lib_cat' is not an existing key in the array. This message can be cancelled using parameter 'noerr'.

TinyButStrong Error in field [b1.qte_liv...] : item 'qte_liv' is not an existing key in the array. This message can be cancelled using parameter 'noerr'.

... (et ainsi de suite)

Dans le tableau la ligne avec 'nodata' ne s'affiche pas du tout.

Une idée ?
Merci
By: Skrol29
Date: 2008-04-17
Time: 19:12

Re: Tableaux et nodata

Le "noerr" ne figurait pas dans ton HTML du début.

Visiblement c'est pas $tabl mais plutôt $tab1 (se terminant par "un"). Il faut donc faire un var_export() sur $tab1 et vérifier le contenu.

Une valeur nulle ne peut pas être fusionnée par MergeBlock(), il retournerait un message d'erreur.