Jump to content

Recommended Posts

Posted

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

Posted

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%.

Posted

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

Posted

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
Posted

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";
?>
Posted

É 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>";
    ?>
Posted

É 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
Posted

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.

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.