Jump to content
Fórum Script Brasil
  • 0

Paginação Flexigrid


JoeJr
 Share

Question

Bom dia !

tenho um flexigrid que me retorna alguns dados via XML, porém o mesmo não faz a paginação.

Consigo apenas mudar de página manualmente, direto na Query, onde eu altero o numero da pagina e o LIMIT.

Query :


    $page = 1;
    if (!$rp) $rp = 100;
    
    $start = (($page-1) * $rp);
    
    $limit = "LIMIT $start, $rp";

    $stringSQL        = "select $exibicao from $tabela $Where $orderBy $limit";

 

Flexigrid:

<table class='flexme4' id="flex1" style="display:none"></table>
<script type="text/javascript">


    $(".flexme4").flexigrid({
                url : '/corporativo/servicos/bi/<?php echo $urlRequireAjax; ?>consultaBS.php?id_file=<?php echo $_GET['id_file']; ?>',
                dataType : 'json',
                colModel : [ 
                   <?php 
                       //descobre título das colunas no select montado
                    $elementoExibe = $doc->getElementsByTagName("condicaoExibicao")->item(0)->childNodes;
                    $e="";
                    $a=0;
                    foreach($elementoExibe as $condExibe){
                    
                        $titulo = utf8_decode($condExibe->getAttribute('tituloColuna'));
                        $codigo    = explode("_",$condExibe->tagName);
                        
                        if($a == 0){
                            $e.= "{display: '$titulo', name : '".$codigo[1]."', width : 80, sortable : false, align: 'left'}\r\n";
                        } else {
                            $e.= ",{display: '$titulo', name : '".$codigo[1]."', width : 80, sortable : false, align: 'left'}\r\n";
                        }
                        $a++;
                    }
                        
                        echo $e;
                ?>
                ],
                buttons : [ 
                // {
                //     name : 'Add',
                //     bclass : 'add',
                //     onpress : Example4
                //     }
                //     ,
                //     {
                //         name : 'Edit',
                //         bclass : 'edit',
                //         onpress : Example4
                //     }
                //     ,
                //     {
                //         name : 'Delete',
                //         bclass : 'delete',
                //         onpress : Example4
                //     }
                //     ,
                //     {
                //         separator : true
                //     } 
                ],
                //searchitems : [ 
                // {
                //     display : 'EmployeeID',
                //     name : 'employeeID'
                //     }, {
                //         display : 'Name',
                //         name : 'name',
                //         isdefault : true
                // } 
                //],
                sortname: "<?php echo $_SESSION['ordenacao']; ?>",
                sortorder : "asc",
                usepager : true,
                title: 'Resultado da consulta SQL',
                useRp : true,
                rp : 100,
                showTableToggleBtn : false,
                width : 970,
                height : 343
            });

            function Example4(com, grid) {
                if (com == 'Delete') {
                    var conf = confirm('Delete ' + $('.trSelected', grid).length + ' items?')
                    if(conf){
                        $.each($('.trSelected', grid),
                            function(key, value){
                                $.get('example4.php', { Delete: value.firstChild.innerText}
                                    , function(){
                                        // when ajax returns (callback), update the grid to refresh the data
                                        $(".flexme4").flexReload();
                                });
                        });    
                    }
                }
                else if (com == 'Edit') {
                    var conf = confirm('Edit ' + $('.trSelected', grid).length + ' items?')
                    if(conf){
                        $.each($('.trSelected', grid),
                            function(key, value){
                                // collect the data
                                var OrgEmpID = value.children[0].innerText; // in case we're changing the key
                                var EmpID = prompt("Please enter the New Employee ID",value.children[0].innerText);
                                var Name = prompt("Please enter the Employee Name",value.children[1].innerText);
                                var PrimaryLanguage = prompt("Please enter the Employee's Primary Language",value.children[2].innerText);
                                var FavoriteColor = prompt("Please enter the Employee's Favorite Color",value.children[3].innerText);
                                var FavoriteAnimal = prompt("Please enter the Employee's Favorite Animal",value.children[4].innerText);

                                // call the ajax to save the data to the session
                                $.get('example4.php', 
                                    { Edit: true
                                        , OrgEmpID: OrgEmpID
                                        , EmpID: EmpID
                                        , Name: Name
                                        , PrimaryLanguage: PrimaryLanguage
                                        , FavoriteColor: FavoriteColor
                                        , FavoritePet: FavoriteAnimal  }
                                    , function(){
                                        // when ajax returns (callback), update the grid to refresh the data
                                        $(".flexme4").flexReload();
                                });
                        });    
                    }
                }
                else if (com == 'Add') {
                    // collect the data
                    var EmpID = prompt("Please enter the Employee ID","5");
                    var Name = prompt("Please enter the Employee Name","Mark");
                    var PrimaryLanguage = prompt("Please enter the Employee's Primary Language","php");
                    var FavoriteColor = prompt("Please enter the Employee's Favorite Color","Tan");
                    var FavoriteAnimal = prompt("Please enter the Employee's Favorite Animal","Dog");

                    // call the ajax to save the data to the session
                    $.get('example4.php', { Add: true, EmpID: EmpID, Name: Name, PrimaryLanguage: PrimaryLanguage, FavoriteColor: FavoriteColor, FavoritePet: FavoriteAnimal  }
                        , function(){
                            // when ajax returns (callback), update the grid to refresh the data
                            $(".flexme4").flexReload();
                    });
                }
            }
</script>

 

Já olhei no console e não há erros.

Origado desde já!

Edited by JoeJr
Link to comment
Share on other sites

1 answer to this question

Recommended Posts

  • 0

entrei no código fonte da página, e o campo do input está sem name, onde provavelmente deveria estar como : name="page", pois a query pega o valor do input e coloca no LIMIT para fazer a paginação.

Porém ao inserir o name no input pelo código fonte da página, deu mais ou menos certo. 

Quando troquei para a página 2, funcionou, porém foi setado na query um LIMIT 2,10, e então não consigo fazer a paginação novamente em seguida, pois ele entende que só há aquilo de registros por causa do limit. Gostaria de saber como posso fazer com que a página continue fazendo a paginação de acordo com o meu LIMIT.

 

 

Query:

 

$page = @$_POST['page'];
$rp = @$_POST['rp'];
$sortname = @$_POST['sortname'];
$sortorder = @$_POST['sortorder'];
 
if (!$sortname) $sortname = $_SESSION['ordenacao'];
if (!$sortorder) $sortorder = 'asc';
 
$sort = "ORDER BY $sortname $sortorder";
 
$start = (($page-1) * $rp);
 
$limit = "LIMIT $start, $rp";
 
$stringSQL = "select $exibicao from $tabela $Where $orderBy $limit";
 
Obs: O flexigrid está dentro de um iframe sem src, e não sei como faço para fazer as alterações, por isso inseri o name no input pelo código fonte.
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share



  • Forum Statistics

    • Total Topics
      149.9k
    • Total Posts
      646.8k
×
×
  • Create New...