Écrire une réponse

Veuillez écrire votre message et l'envoyer

Cliquez dans la zone sombre de l'image pour envoyer votre message.

Retour

Résumé de la discussion (messages les plus récents en premier)

P@t
2007-12-05 21:59:16

Ah!!! On y est arrivé!!!
Ouf! ;-)

VDigital
2007-12-05 18:51:03

marcophilie56 a écrit:

Pas contre, je ne sais pas comment signaler que ma demande est résolue.

http://forum.phpwebgallery.net/viewtopi … 672#p76672
Et sur le premier post tu cliques sur Modifier...
8-)

marcophilie56
2007-12-05 18:37:45

Bonjour
Merci beaucoup tout marche impeccable.
Pas contre, je ne sais pas comment signaler que ma demande est résolue.
Comme convenu, je vais faire un nouveau post pour décrire ce qui a été réalisé pour la mise des descriptions des catégories.
Bravo et bonne continuation à l'équipe.
Cordialement

P@t
2007-12-04 19:05:04

Hum... normal...
On va essayer autre chose alors ;-)

PHP:

$template->set_filenames(array('body' => dirname(__FILE__) . '/br_bureau.tpl'));

$periode = '';

while( $row = mysql_fetch_array($result) )
{
   if ($row['Periode'] != $periode)
  {
     $periode = $row['Periode'];
     $template->assign_block_vars('periode', array(
           'PERIODE' => $row['Periode'],
           'OBSERVATIONS'  => $row['Observations']));
   }

   $template->assign_block_vars('periode.user', array(
           'BOITE' => $row['Boite'],
           'LETTRE'  => $row['Lettre'],
           'INDICE'  => $row['Indice'],
           'DATE' => $row['Date']));
}     
 
$desc = $template->parse('body', true);

TPL:

<!-- BEGIN periode -->
   <tr>
   <td width="30%"> <div align="center"><font face="Comic Sans MS" size="2">Période</font></div></td>
   <td width="70%"> <div align="center"><font face="Comic Sans MS" size="2">Evolutions</font></div></td>
   </tr>

    <tr>
   <td width="30%"> <div align="center"><font face="Comic Sans MS" size="2">{periode.PERIODE}</font></div></td>
   <td width="70%"> <div align="center"><font face="Comic Sans MS" size="2">{periode.OBSERVATIONS}</font></div></td>
   </tr>

  <tr>
    <td width="30%"> <div align="center"><font face="Comic Sans MS" size="2">Commune</font></div></td>
    <td width="30%"><div align="center"><font size="2" face="Comic Sans MS">Lettre Timbre</font></div></td>
    <td width="20%"> <div align="center"><font face="Comic Sans MS" size="2">Dates observées</font></div></td>
<td width="20%"> <div align="center"><font face="Comic Sans MS" size="2">Indice</font></div></td>
  </tr>

<!-- BEGIN user -->
<tr>
  <td width="30%"><div align="center"><font face="Comic Sans MS" size="2">{user.BOITE}</font></div></td>
  <td width="30%"><div align="center"><font size="2" face="Comic Sans MS">{user.LETTRE}</font></div></td>
  <td width="20%"> <div align="center"><font face="Comic Sans MS" size="2">{user.DATES}</font></div></td>
<td width="20%"> <div align="center"><font face="Comic Sans MS" size="2">{user.INDICE}</font></div></td>
</tr>
<!-- END user -->

<!-- END periode -->

marcophilie56
2007-12-04 18:52:24

Bonjour
Cette solution marche lorsqu'il y a une seule période par contre lorsqu'il y a plusieurs périodes l'affichage me  donne toutes les périodes d'abord puis le reste ensuite.
Je pense qu'il faut imbriquer les 2 blocs, j'ai fait plusieurs essais sans réussite.
Je suis absent jusqu'à demain soir
Cordialement

PS : j'ai vu que j'étais cité dans les Perles collecter à juste titre d'ailleurs....

P@t
2007-12-04 11:30:09

Bon, je pense que ton fichier php devrait ressembler à ca:

$result = pwg_query("SELECT br_bureau.Bureau, br_bureau.Boite, br_bureau.Lettre,
br_bureau.dates, br_bureau.Periode, br_bureau.Indice,
  bureaux_distributeurs.Observations, br_bureau.num_bureau
  FROM br_bureau INNER JOIN bureaux_distributeurs
  ON (br_bureau.Bureau = bureaux_distributeurs.Bureau_distributeur)
  AND (br_bureau.num_bureau = bureaux_distributeurs.num_periode)
  WHERE Bureau like '" . $params['commune'] . "'
  GROUP BY br_bureau.Bureau, br_bureau.Boite, br_bureau.Lettre,
  br_bureau.dates, br_bureau.Periode, br_bureau.Indice,
  bureaux_distributeurs.Observations, br_bureau.num_bureau
  ORDER BY br_bureau.Periode ASC, br_bureau.Boite;");

$template->set_filenames(array('body' => dirname(__FILE__) . '/br_bureau.tpl'));

$periode = '';

while( $row = mysql_fetch_array($result) )
{
   if ($row['Periode'] != $periode)
  {
     $periode = $row['Periode'];
     $template->assign_block_vars('periode', array(
           'PERIODE' => $row['Periode'],
           'OBSERVATIONS'  => $row['Observations']));
   }


   $template->assign_block_vars('user', array(
           'BOITE' => $row['Boite'],
           'LETTRE'  => $row['Lettre'],
           'INDICE'  => $row['Indice'],
           'DATE' => $row['Date']));
}     
 
$desc = $template->parse('body', true);

Principe: On ordonne le résultat de la requete par periode
Puis on ajoute une ligne "Periode / Observation" uniquement si la période change.
La ligne "Commune, lettres, dates, indice" est également ajoutée en meme temps.

Pour le fichier tpl:

<!-- BEGIN periode -->
   <tr>
   <td width="30%"> <div align="center"><font face="Comic Sans MS" size="2">Période</font></div></td>
   <td width="70%"> <div align="center"><font face="Comic Sans MS" size="2">Evolutions</font></div></td>
   </tr>

    <tr>
   <td width="30%"> <div align="center"><font face="Comic Sans MS" size="2">{periode.PERIODE}</font></div></td>
   <td width="70%"> <div align="center"><font face="Comic Sans MS" size="2">{periode.OBSERVATIONS}</font></div></td>
   </tr>

  <tr>
    <td width="30%"> <div align="center"><font face="Comic Sans MS" size="2">Commune</font></div></td>
    <td width="30%"><div align="center"><font size="2" face="Comic Sans MS">Lettre Timbre</font></div></td>
    <td width="20%"> <div align="center"><font face="Comic Sans MS" size="2">Dates observées</font></div></td>
<td width="20%"> <div align="center"><font face="Comic Sans MS" size="2">Indice</font></div></td>
  </tr>
<!-- END periode -->
<!-- BEGIN user -->
<tr>
  <td width="30%"><div align="center"><font face="Comic Sans MS" size="2">{user.BOITE}</font></div></td>
  <td width="30%"><div align="center"><font size="2" face="Comic Sans MS">{user.LETTRE}</font></div></td>
  <td width="20%"> <div align="center"><font face="Comic Sans MS" size="2">{user.DATES}</font></div></td>
<td width="20%"> <div align="center"><font face="Comic Sans MS" size="2">{user.INDICE}</font></div></td>
</tr>
<!-- END user -->

P@t
2007-12-03 19:53:24

marcophilie56 a écrit:

Je ne veux afficher qu'une seule période ou plusieurs si celle-ci ne concerne pas la même date.
Je pense qu'il me faut bien des blocks imbriqués

Moi je pense surtout qu'il va falloir compliquer un peu le code php!
Je vais regarder ca...

marcophilie56
2007-12-03 19:50:52

Bonjour
Voici le résultat que j'obtienne

<table border="1" >
<tr>
   <td width="30%"> <div align="center"><font face="Comic Sans MS" size="2">Période</font></div></td>
   <td width="70%"> <div align="center"><font face="Comic Sans MS" size="2">Evolutions</font></div></td>

   </tr>
    <tr>
   <td width="30%"> <div align="center"><font face="Comic Sans MS" size="2">12/1849 - 12/1911</font></div></td>
   <td width="70%"> <div align="center"><font face="Comic Sans MS" size="2">Ouverture du bureau d'Allaire.</font></div></td>
   </tr>
    <tr>
   <td width="30%"> <div align="center"><font face="Comic Sans MS" size="2">12/1849 - 12/1911</font></div></td>

   <td width="70%"> <div align="center"><font face="Comic Sans MS" size="2">Ouverture du bureau d'Allaire.</font></div></td>
   </tr>
    <tr>
   <td width="30%"> <div align="center"><font face="Comic Sans MS" size="2">12/1849 - 12/1911</font></div></td>
   <td width="70%"> <div align="center"><font face="Comic Sans MS" size="2">Ouverture du bureau d'Allaire.</font></div></td>
   </tr>

    <tr>
   <td width="30%"> <div align="center"><font face="Comic Sans MS" size="2">12/1849 - 12/1911</font></div></td>
   <td width="70%"> <div align="center"><font face="Comic Sans MS" size="2">Ouverture du bureau d'Allaire.</font></div></td>
   </tr>
    <tr>
   <td width="30%"> <div align="center"><font face="Comic Sans MS" size="2">12/1849 - 12/1911</font></div></td>

   <td width="70%"> <div align="center"><font face="Comic Sans MS" size="2">Ouverture du bureau d'Allaire.</font></div></td>
   </tr>
    <tr>
   <td width="30%"> <div align="center"><font face="Comic Sans MS" size="2">12/1849 - 12/1911</font></div></td>
   <td width="70%"> <div align="center"><font face="Comic Sans MS" size="2">Ouverture du bureau d'Allaire.</font></div></td>
   </tr>

  <tr>
    <td width="30%"> <div align="center"><font face="Comic Sans MS" size="2">Commune</font></div></td>
    <td width="30%"><div align="center"><font size="2" face="Comic Sans MS">Lettre Timbre</font></div></td>
    <td width="20%"> <div align="center"><font face="Comic Sans MS" size="2">Dates observées</font></div></td>
<td width="20%"> <div align="center"><font face="Comic Sans MS" size="2">Indice</font></div></td>
  </tr>

<tr>
  <td width="30%"><div align="center"><font face="Comic Sans MS" size="2">ST GORGON</font></div></td>
  <td width="30%"><div align="center"><font size="2" face="Comic Sans MS"></font></div></td>
  <td width="20%"> <div align="center"><font face="Comic Sans MS" size="2">Jamais rencontré</font></div></td>
<td width="20%"> <div align="center"><font face="Comic Sans MS" size="2">+9</font></div></td>
</tr>
<tr>
  <td width="30%"><div align="center"><font face="Comic Sans MS" size="2">ST JACUT LES PINS Gare</font></div></td>

  <td width="30%"><div align="center"><font size="2" face="Comic Sans MS"></font></div></td>
  <td width="20%"> <div align="center"><font face="Comic Sans MS" size="2">Jamais rencontré</font></div></td>
<td width="20%"> <div align="center"><font face="Comic Sans MS" size="2"></font></div></td>
</tr>

Je ne veux afficher qu'une seule période ou plusieurs si celle-ci ne concerne pas la même date.
Je pense qu'il me faut bien des blocks imbriqués

P@t
2007-12-03 19:43:29

Si je comprend bien, pas besoin de block imbriqués alors...

Voila pour le fichier tpl:

<tr>
   <td width="30%"> <div align="center"><font face="Comic Sans MS" size="2">Période</font></div></td>
   <td width="70%"> <div align="center"><font face="Comic Sans MS" size="2">Evolutions</font></div></td>
   </tr>

    <tr>
   <td width="30%"> <div align="center"><font face="Comic Sans MS" size="2">{PERIODE}</font></div></td>
   <td width="70%"> <div align="center"><font face="Comic Sans MS" size="2">{OBSERVATIONS}</font></div></td>
   </tr>

  <tr>
    <td width="30%"> <div align="center"><font face="Comic Sans MS" size="2">Commune</font></div></td>
    <td width="30%"><div align="center"><font size="2" face="Comic Sans MS">Lettre Timbre</font></div></td>
    <td width="20%"> <div align="center"><font face="Comic Sans MS" size="2">Dates observées</font></div></td>
<td width="20%"> <div align="center"><font face="Comic Sans MS" size="2">Indice</font></div></td>
  </tr>
<!-- BEGIN user -->
<tr>
  <td width="30%"><div align="center"><font face="Comic Sans MS" size="2">{user.BOITE}</font></div></td>
  <td width="30%"><div align="center"><font size="2" face="Comic Sans MS">{user.LETTRE}</font></div></td>
  <td width="20%"> <div align="center"><font face="Comic Sans MS" size="2">{user.DATES}</font></div></td>
<td width="20%"> <div align="center"><font face="Comic Sans MS" size="2">{user.INDICE}</font></div></td>
</tr>
<!-- END user -->

Et pour le fichier php, ca donnera:

while( $row = mysql_fetch_array($result) )
{
   $template->assign_vars ( array(
           'PERIODE' => $row['Periode'],
           'OBSERVATIONS'  => $row['Observations']));

   $template->assign_block_vars('user', array(
           'BOITE' => $row['Boite'],
           'LETTRE'  => $row['Lettre'],
           'INDICE'  => $row['Indice'],
           'DATE' => $row['Date']));
}

Mais j'ai quand meme du mal à comprendre ce que tu veux faire...
A mon avis, il va falloir se pencher sur les requetes SQL...

marcophilie56
2007-12-03 19:20:28

Bonjour
Voici le résultat que j'obtienne

<tr>
   <td width="30%"> <div align="center"><font face="Comic Sans MS" size="2">Période</font></div></td>
   <td colspan="3" width="70%"> <div align="center"><font face="Comic Sans MS" size="2">Evolutions</font></div></td>   </tr>
    <tr>
   <td width="30%"> <div align="center"><font face="Comic Sans MS" size="2">12/1849 - 12/1911</font></div></td>
   <td colspan="3" width="70%"> <div align="center"><font face="Comic Sans MS" size="2">Ouverture du bureau d'Allaire.</font></div></td>   </tr>
  <tr>
    <td width="30%"> <div align="center"><font face="Comic Sans MS" size="2">Commune</font></div></td>
    <td width="30%"><div align="center"><font size="2" face="Comic Sans MS">Lettre Timbre</font></div></td>
    <td width="20%"> <div align="center"><font face="Comic Sans MS" size="2">Dates observées</font></div></td>
<td width="20%"> <div align="center"><font face="Comic Sans MS" size="2">Indice</font></div></td>  </tr>
<tr>
  <td width="30%"><div align="center"><font face="Comic Sans MS" size="2">ST GORGON</font></div></td>
  <td width="30%"><div align="center"><font size="2" face="Comic Sans MS"></font></div></td>
  <td width="20%"> <div align="center"><font face="Comic Sans MS" size="2">Jamais rencontré</font></div></td>
<td width="20%"> <div align="center"><font face="Comic Sans MS" size="2">+9</font></div></td>
</tr>
   <tr>
   <td width="30%"> <div align="center"><font face="Comic Sans MS" size="2">Période</font></div></td>
   <td colspan="3" width="70%"> <div align="center"><font face="Comic Sans MS" size="2">Evolutions</font></div></td>   </tr>
    <tr>
   <td width="30%"> <div align="center"><font face="Comic Sans MS" size="2">12/1849 - 12/1911</font></div></td>
   <td colspan="3" width="70%"> <div align="center"><font face="Comic Sans MS" size="2">Ouverture du bureau d'Allaire.</font></div></td>   </tr>
  <tr>
    <td width="30%"> <div align="center"><font face="Comic Sans MS" size="2">Commune</font></div></td>
    <td width="30%"><div align="center"><font size="2" face="Comic Sans MS">Lettre Timbre</font></div></td>
    <td width="20%"> <div align="center"><font face="Comic Sans MS" size="2">Dates observées</font></div></td>
<td width="20%"> <div align="center"><font face="Comic Sans MS" size="2">Indice</font></div></td></tr>
<tr>
  <td width="30%"><div align="center"><font face="Comic Sans MS" size="2">ST JACUT LES PINS Gare</font></div></td>
  <td width="30%"><div align="center"><font size="2" face="Comic Sans MS"></font></div></td>
  <td width="20%"> <div align="center"><font face="Comic Sans MS" size="2">Jamais rencontré</font></div></td>
<td width="20%"> <div align="center"><font face="Comic Sans MS" size="2"></font></div></td>
</tr>

Alors que je souhaite obtenir ceci

<tr>
    <td width="33%"> <div align="center"><font face="Comic Sans MS" size="2">Période</font></div></td>
    <td colspan="3"> <div align="center"><font face="Comic Sans MS" size="2">Evolutions</font></div></td>
  </tr>
  <tr>
    <td width="33%"> <div align="center"><font face="Comic Sans MS" size="2">12/1849
        - 12/1911</font></div></td>
    <td colspan="3"> <div align="center"><font face="Comic Sans MS" size="2">Ouverture
        du bureau d'Allaire.</font></div></td>
  </tr>
  <tr>
    <td width="33%"> <div align="center"><font face="Comic Sans MS" size="2">Commune</font></div></td>
    <td width="32%"><div align="center"><font size="2" face="Comic Sans MS">Lettre
        Timbre</font></div></td>
    <td width="21%"> <div align="center"><font face="Comic Sans MS" size="2">Dates
        observées</font></div></td>
    <td width="14%"> <div align="center"><font face="Comic Sans MS" size="2">Indice</font></div></td>
  </tr>
  <tr>
    <td width="33%"><div align="center"><font face="Comic Sans MS" size="2">ST
        GORGON</font></div></td>
    <td width="32%"><div align="center"><font size="2" face="Comic Sans MS"></font></div></td>
    <td width="21%"> <div align="center"><font face="Comic Sans MS" size="2">Jamais
        rencontré</font></div></td>
    <td width="14%"> <div align="center"><font face="Comic Sans MS" size="2">+9</font></div></td>
  </tr>
  <tr>
    <td width="33%"><div align="center"><font face="Comic Sans MS" size="2">ST
        JACUT LES PINS Gare</font></div></td>
    <td width="32%"><div align="center"><font size="2" face="Comic Sans MS"></font></div></td>
    <td width="21%"> <div align="center"><font face="Comic Sans MS" size="2">Jamais
        rencontré</font></div></td>
    <td width="14%"> <div align="center"><font face="Comic Sans MS" size="2"></font></div></td>
  </tr>

Merci de ton aide

P@t
2007-12-03 13:59:51

J'avais pas vu, le code tpl n'est pas bon non plus:

<table border="1" >
<!-- BEGIN periode -->
   <tr>
   <td width="30%"> <div align="center"><font face="Comic Sans MS" size="2">Période</font></div></td>
   <td width="70%"> <div align="center"><font face="Comic Sans MS" size="2">Evolutions</font></div></td>
   </tr>
    <tr>
   <td width="30%"> <div align="center"><font face="Comic Sans MS" size="2">{periode.PERIODE}</font></div></td>
   <td width="70%"> <div align="center"><font face="Comic Sans MS" size="2">{periode.OBSERVATIONS}</font></div></td>
   </tr>
  <!-- BEGIN user -->
  <tr>
    <td width="30%"> <div align="center"><font face="Comic Sans MS" size="2">Commune</font></div></td>
    <td width="30%"><div align="center"><font size="2" face="Comic Sans MS">Lettre Timbre</font></div></td>
    <td width="20%"> <div align="center"><font face="Comic Sans MS" size="2">Dates observées</font></div></td>
<td width="20%"> <div align="center"><font face="Comic Sans MS" size="2">Indice</font></div></td>
  </tr>
<tr>
  <td width="30%"><div align="center"><font face="Comic Sans MS" size="2">{periode.user.BOITE}</font></div></td>
  <td width="30%"><div align="center"><font size="2" face="Comic Sans MS">{periode.user.LETTRE}</font></div></td>
  <td width="20%"> <div align="center"><font face="Comic Sans MS" size="2">{periode.user.DATES}</font></div></td>
<td width="20%"> <div align="center"><font face="Comic Sans MS" size="2">{periode.user.INDICE}</font></div></td>
</tr>
  <!-- END user -->
<!-- END periode -->
  </table>

Du coup, j'ai modifié le code php dans le post ci-dessus...

marcophilie56
2007-12-03 13:33:37

Bonjour
Merci je vais tester cela ce soir
J'ai bien noté vos remarques de présentation.
Cordialement

P@t
2007-12-03 13:06:13

Pour mettre du code dans tes posts sur le forum, met le entre les balises adéquates:

Code:

[quote]Code à poster[/quote]

C'est plus clair pour tout le monde ;-)

P@t
2007-12-03 13:03:05

Et pourquoi as-tu viré le while?!

$result = pwg_query("SELECT br_bureau.Bureau, br_bureau.Boite, br_bureau.Lettre,
br_bureau.dates, br_bureau.Periode, br_bureau.Indice,
  bureaux_distributeurs.Observations, br_bureau.num_bureau
  FROM br_bureau INNER JOIN bureaux_distributeurs
  ON (br_bureau.Bureau = bureaux_distributeurs.Bureau_distributeur)
  AND (br_bureau.num_bureau = bureaux_distributeurs.num_periode)
  WHERE Bureau like '" . $params['commune'] . "'
  GROUP BY br_bureau.Bureau, br_bureau.Boite, br_bureau.Lettre,
  br_bureau.dates, br_bureau.Periode, br_bureau.Indice,
  bureaux_distributeurs.Observations, br_bureau.num_bureau
  ORDER BY br_bureau.Boite;");

   // modèle à utiliser auquel on adjoint un nom arbitraire
$template->set_filenames(array(
    'body' => dirname(__FILE__) . '/br_bureau.tpl'
  ));

   
  //
  // Assignation des variables dans le block 'user'
  //

while( $row = mysql_fetch_array($result) )
{

   $template->assign_block_vars('periode', array(
           'PERIODE' => $row['Periode'],
           'OBSERVATIONS'  => $row['Observations']));

   $template->assign_block_vars('periode.user', array(
           'BOITE' => $row['Boite'],
           'LETTRE'  => $row['Lettre'],
           'INDICE'  => $row['Indice'],
           'DATE' => $row['Date']));
}     
 
  // Affichage des données
$desc = $template->parse('body', true);

marcophilie56
2007-12-03 12:57:02

Bonjour
Mon cas avec deux blocs imbriqués n'est pas résolu.....
Mais effectivement dès résolution, j'envisageai de dire merci à toute l'équipe pour le soutien apporté et éventuellement montrer les possibilités obtenues par ce plugin
Cordialement

Pied de page des forums

Propulsé par FluxBB

github twitter newsletter Faire un don Piwigo.org © 2002-2024 · Contact