carinacosta Posted May 9, 2012 at 03:15 PM Report #454094 Posted May 9, 2012 at 03:15 PM Estou com o problema numa paginação duma datagrid. Já inseri o codigo da paginação e no codigo url muda por exemplo: .... pg1 ...pg2 ao clicar na paginação Ou seja, o código da paginação esta a funcionar o unico problema que estou a ter é ele nao estar a ir buscar o pg1: $p=$_REQUEST['pg1']; Assim, ao mudar de pagina aparece sempre os mesmos dados. Não sei se me fiz entender muito bem, mas poderiam-me dar alguma ajuda ? Obrigada
ruiFernandes Posted May 9, 2012 at 04:12 PM Report #454112 Posted May 9, 2012 at 04:12 PM Boas, não deverias estar a usar o "$_GET[' ']"? Cumprimentos, - Rui Fernandes
carinacosta Posted May 9, 2012 at 04:15 PM Author Report #454113 Posted May 9, 2012 at 04:15 PM Ola, ja usei o Get o Post mas mesmo assim nao faz diferença, muda de pagina, mas aparece sempre os mesmos dados 😉
brunoais Posted May 9, 2012 at 05:11 PM Report #454127 Posted May 9, 2012 at 05:11 PM mostra o url completo de ambas as situações, sff "[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31 Life is a genetically transmitted disease, induced by sex, with death rate of 100%.
carinacosta Posted May 10, 2012 at 09:34 AM Author Report #454217 Posted May 10, 2012 at 09:34 AM http://localhost/easyui-datagrid22-demo/datagrid22_demo.php?pg1=2 -- quando carrego na pagina 3 http://localhost/easyui-datagrid22-demo/datagrid22_demo.php?pg1=3 -- quando carrego na pagina 4 ... e assim sucessivamente, so que os dados nao trocam, aparecem sempre os mesmos.
bLTR Posted May 10, 2012 at 10:52 AM Report #454249 Posted May 10, 2012 at 10:52 AM boas carina, A ontem acabei a minha paginação vou deixar aqui o codigo par que consigas perceber alguma coisa.... pagina onde queres que apareça a tua paginação //######### INICIO Paginação if(!isset($_SESSION['nr_paginas'])) { $sql_conta = pg_query("SELECT * FROM variaveis_sistema where nome like 'Numero Elementos Paginas' "); $quantidade_paginas = pg_fetch_array($sql_conta); $_SESSION['nr_paginas']=$quantidade_paginas['valor']; } $nr_limite = $_SESSION['nr_paginas']; /* if(isset($_GET['nr_limite'])) $nr_limite = $_GET[nr_limite]; else $nr_limite=30; */ if($pagina<>1) { $inicial = ($pagina - 1) * $nr_limite; } else { $inicial = 0; } //######### FIM dados Paginação echo paginacao($pagina, $quantidade_paginas); Página da função paginacao { $ultima_pagina = ceil($quantidade_paginas/$_SESSION['nr_paginas']); $paginacao = ""; if ($ultima_pagina > 1) { $paginacao .= "<div class=\"paginacao\">"; //Botão "Anterior" if ($pagina <> 1) { $anterior = $pagina - 1; $paginacao.= "<a href=\"?pagina=$anterior\">« Anterior </a>"; } else { $paginacao.= "<span class=\"disabled\">« Anterior </span>"; } //PAGINAS for($conta = 1; $conta <= $ultima_pagina; $conta++) { if ($conta == $pagina) { $paginacao.= "<span class=\"current\">$conta </span>"; } else { if($conta==1 OR $conta==$ultima_pagina) $paginacao.= "<a href=\"?pagina=$conta\">$conta </a>"; else { if($conta-$pagina<2 AND $pagina-$conta<2) $paginacao.= "<a href=\"?pagina=$conta\">$conta </a>"; else if(($pagina==1 AND $conta==3) OR ($pagina==$ultima_pagina AND $ultima_pagina-$conta==2)) $paginacao.= "<a href=\"?pagina=$conta\">$conta </a>"; else if(substr($paginacao,-3)<>"...") $paginacao.="..."; } } } // Botão "Próximo" if ($pagina < $conta - 1) { $proximo = $pagina + 1; $paginacao.= "<a href=\"?pagina=$proximo\">Próximo »</a>"; } else { $paginacao.= "<span class=\"disabled\">Próximo »</span>"; $paginacao.= "</div>\n"; } } return $paginacao; } tens aqui tambem o css que utilizei div.paginacao { padding: 3px; margin: 3px; } div.paginacao a { padding: 2px 5px 2px 5px; margin: 2px; border: 1px solid #AAAADD; zoom: 100%; text-decoration: none; /* no underline */ color: #000099; } div.paginacao a:hover, div.paginacao a:active { border: 1px solid #000099; color: #000; } div.paginacao span.current { padding: 2px 5px 2px 5px; margin: 2px; border: 1px solid #000099; * zoom: 100%; font-weight: bold; background-color: #000099; color: #FFF; } div.paginacao span.disabled { padding: 2px 5px 2px 5px; margin: 2px; border: 1px solid #EEE; * zoom: 100%; color: #DDD; } * span.elipsis {zoom:100%} espero ter ajudado em alguma coisa Cumprimentos
HappyHippyHippo Posted May 10, 2012 at 11:12 AM Report #454260 Posted May 10, 2012 at 11:12 AM http://localhost/easyui-datagrid22-demo/datagrid22_demo.php?pg1=2 -- quando carrego na pagina 3 http://localhost/easyui-datagrid22-demo/datagrid22_demo.php?pg1=3 -- quando carrego na pagina 4 ... e assim sucessivamente, so que os dados nao trocam, aparecem sempre os mesmos. estando os urls a funcionar correctamente o problema so pode estar na leitura dos dados ... podes por aqui o código de leitura da base de dados (principalmente a criação do SQL) IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
carinacosta Posted May 10, 2012 at 11:39 AM Author Report #454278 Posted May 10, 2012 at 11:39 AM o codigo que tenho neste momento é este: <?php $db = pg_connect("host=localhost port=5432 dbname=cpis2012 user=postgres password=METALOGALVA") or die("Connection Error: " . mysql_error()); //include 'conn.php'; $result = array(); $p=$_GET['pg1']; $p=10+$p; $rs = pg_query("select * from ordensfabrico " );//$inicial1,$numreg1"); //in (select id from ordensfabrico where id ='201200000020983226')"); $count=0; $items = array(); while($row = pg_fetch_object($rs)){ $count++; if ($count<=$p) { array_push($items, $row); } } echo json_encode($items); ?> <?php $db = pg_connect("host=localhost port=5432 dbname=cpis2012 user=postgres password=METALOGALVA") or die("Connection Error: " . mysql_error()); //######### INICIO Paginação $numreg1 = 50; // Quantos registros por página vai ser mostrado if (!isset($pg1)) { $pg1 = 0; } $inicial1 = $pg1 * $numreg1; $sql_conta1 = pg_query("select * from ordensfabrico"); $quantreg1 = pg_num_rows($sql_conta1); //######### FIM dados Paginação include "paginacao.php"; ?>
HappyHippyHippo Posted May 10, 2012 at 12:06 PM Report #454285 Posted May 10, 2012 at 12:06 PM e nesse código todo onde está a filtragem pela paginação ??? IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
carinacosta Posted May 10, 2012 at 12:16 PM Author Report #454291 Posted May 10, 2012 at 12:16 PM É somente este codigo que tenho, estava a tentar ir buscar o pg1 como ja disse em cima, ja usei Get, Request, Post e nao deu. Será que o meu raciocinio esta errado? O codigo que tenho que de paginação é este: <?php $quant_pg1 = ceil($quantreg1/$numreg1); $quant_pg1++; echo "<center>"; echo "<tr><td><table><tr>"; // Verifica se esta na primeira página, se nao estiver ele libera o link para anterior if ( $pg1 > 0) { echo "<td><a href=".$PHP_SELF."?pg1=".($pg1-1)."><img src=images/seta_utima.png border=0 width=\"16px\" height=\"16px\"></a></td>"; } else { echo "<td><img src=images/seta_ultima.png border=0 width=\"16px\" height=\"16px\"></td>"; } // Faz aparecer os numeros das página entre o ANTERIOR e PROXIMO for($i_pg1=1;$i_pg1<$quant_pg1;$i_pg1++) { // Verifica se a página que o navegante esta e retira o link do número para identificar visualmente if ($pg1 == ($i_pg1-1)) { echo "<td> <font color=\"#1374A5\">[$i_pg1]</font> </td>"; } else { $i_pg21 = $i_pg1-1; echo "<td> <a href=".$PHP_SELF."?pg1=$i_pg21 ><font color=#000 style=\"text-decoration:underline;\">$i_pg1</font></a> </td>"; } } // Verifica se esta na ultima página, se nao estiver ele libera o link para próxima if (($pg1+2) < $quant_pg1) { echo "<td><a href=".$PHP_SELF."?pg1=".($pg1+1)."><img src=images/seta_d.png border=0 width=\"16px\" height=\"16px\"></a></td>"; } else { echo "<td><img src=images/seta_d.png border=0 width=\"16px\" height=\"16px\"></td>"; } echo "</tr></table></td></tr>"; echo "</center>"; ?>
HappyHippyHippo Posted May 10, 2012 at 01:57 PM Report #454318 Posted May 10, 2012 at 01:57 PM É somente este codigo que tenho, estava a tentar ir buscar o pg1 como ja disse em cima, ja usei Get, Request, Post e nao deu. Será que o meu raciocinio esta errado? o problema não é o ir buscar o "pg1" .... mas sim aplica-lo ... não fazes nada com o valor, não filtras nem na pesquisa por SQL nem na apresentação .... $inicial1 = $pg1 * $numreg1; onde usas a variável "$inicial1" ?? IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
carinacosta Posted May 10, 2012 at 02:02 PM Author Report #454324 Posted May 10, 2012 at 02:02 PM a variavel "$inicial1" deveria ser colocada no select: Assim, $rs = pg_query("select * from ordensfabrico $inicial1, $numreg1") Mas ao colocar assim os dados desaparecem-me. Por isso é que estava a arranjar outra forma.
HappyHippyHippo Posted May 10, 2012 at 02:03 PM Report #454327 Posted May 10, 2012 at 02:03 PM os dados desaparecem porque o SQL está mal criado. o resultado da string SQL que tens seria: select * from ordensfabrico 0, 50 mas o código SQL para filtrar é select * from ordensfabrico LIMIT 0, 50 IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
carinacosta Posted May 10, 2012 at 02:13 PM Author Report #454333 Posted May 10, 2012 at 02:13 PM Entao sendo assim, o que tenho que mudar exatamente: Se eu fizer um limite por exemplo de 50 ele limita 50 dados, mas se colocar 0, 50 ja desaparece os dados, o que acontece com as variaveis.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now