Categories > TinyButStrong general (FR) >

page par page / peardb

The forum is closed. Please use Stack Overflow for submitting new questions. Use tags: tinybutstrong , opentbs
By: oio
Date: 2005-09-20
Time: 16:25

page par page / peardb

Salut,

en utilisant le mode page par page avec peardb la premiere pasge s'affiche bien ainsi que le nombre de resultats mais lorceque je clique sur page suivante cela m'affiche la totalité des resultats .


$TBS = new clsTinyButStrong ;
            $TBS->LoadTemplate('templates/resultats.tpl') ;
            $RecCnt = $TBS->MergeBlock('res','peardb',$sql,$PageSize,$PageNum,$RecCnt);
            $TBS->MergeNavigationBar('nv','',$PageNum,$RecCnt,$PageSize) ;
            deconnex($idcom);
            $TBS->Show() ;

By: Skrol29
Date: 2005-09-21
Time: 10:08

Re: page par page / peardb

Pourtant le process qui extrait la page demandée est commune à tous les systèmes de base de données possibles.
Je vais devoir faire du débuging pour reporduire le problème.
By: oio
Date: 2005-09-22
Time: 11:19

Re: page par page / peardb

merci de me tenir au courant si tu as des news ;)

oio
By: Skrol29
Date: 2005-09-22
Time: 16:12

Re: page par page / peardb

Salut,

Peux-tu m'en dire plus pour que j'arrive à reproduire le problème.
Quelle est l'URL qui t'affiche la page suivante ?
By: oio
Date: 2005-09-23
Time: 10:01

Re: page par page / peardb

Salut :)

Par exemple pour un test affichage 5 resultats par page :

Il y a 770 résultat(s).

Alors pour la page suivante :
http://XXXXXX.XXX/index.php?page=consult&action=res&PageNum=2
La derniere page :
http://XXXXXX.XXX/index.php?page=consult&action=res&PageNum=12

pour la premiere page :
$PageNum = 1
$PageSize = 5
$RecCnt = 770

Mais pour la deuxieme :
$PageNum = 1
$PageSize = 5
$RecCnt = 169194
By: oio
Date: 2005-09-23
Time: 10:29

Re: page par page / peardb

if (isset($_GET['RecCnt'])) {
              $RecCnt = intval($_GET['RecCnt']) ;
            } else {
            $RecCnt = -1 ;
            }
        echo $RecCnt."<br>";


$RecCnt vaut tjs -1
By: Skrol29
Date: 2005-09-26
Time: 13:43

Re: page par page / peardb

Salut,

Bon ben ça marche bien pour moi.
Je n'arrive pas à reproduir ton problème.

J'ai Pear::Db 1.7.6 avec une connexion MySQL.
Pourrais-tu afficher le $PageNum , $RecCnt avant et après le MergeBlock() ?
By: oio
Date: 2005-09-26
Time: 14:29

Re: page par page / peardb

Salut,

avant le mergeblock pour la premiere page:
PageNum : 1
RecCnt : -1
apres :
PageNum : 1
RecCnt : 57

quand je clique sur suivant via cette url :
https://localhost/clients/xxxx/index.php?page=consult&action=res&PageNum=2


avant le mergeblock:
PageNum : 2
RecCnt : -1
apres :
PageNum : 2
RecCnt : 169194


Mon code html pour la navigation bar est le suivant :

<table border="1" align="center" cellpadding="2" cellspacing="0">
  <tr align="center">
    <td width="16"><a href="[var..script_name]?page=consult&action=res&PageNum=[nv.first;endpoint;magnet=a;mtype=m+m]">|&lt;</a></td>
    <td width="16"><a href="[var..script_name]?page=consult&action=res&PageNum=[nv.prev;endpoint;magnet=a;mtype=m+m]">&lt;</a></td>
    <td width="16"><a href="[var..script_name]?page=consult&action=res&PageNum=[nv.page;block=td;navsize=3;navpos=centred]">[nv.page]</a></td>
    <td width="16" bgcolor="#C4E1E1"><strong>[nv.page;block=td;currpage]</strong></td>
    <td width="16"><a href="[var..script_name]?page=consult&action=res&PageNum=[nv.next;endpoint;magnet=a;mtype=m+m]">&gt;</a></td>
    <td width="16"><a href="[var..script_name]?page=consult&action=res&PageNum=[nv.last;endpoint;magnet=a;mtype=m+m]">&gt;|</a></td>
  </tr>
</table>

Merci à toi d'avoir prit le temps de chercher
By: oio
Date: 2005-09-27
Time: 12:51

Re: page par page / peardb

j'ai trouvé l'erreur, ca vient de mon code.
Mon $sql contient des infos qui viennent d'un POST d'un formulaire donc quand je passe a une page suivante, les variables ne sont plus POST.

Il me reste a trouver comment reposter les variables de pages en pages
By: Little
Date: 2005-10-13
Time: 14:39

Re: page par page / peardb

tu peux les reposter en input type hidden si tu veux...