Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Carol Designer

[Resolvido] Erro paginação

Recommended Posts

Olá pessoal preciso de um ajuda. Estou fazendo uma pagina que lista os produtos em 4 colunas só que ele sempre joga o primeiro resultado na primeira linha sozinho e abaixo os próximos 4 resultados, acredito que o erro esteja nessa parte do código se alguém puder me dar um help

Obrigada e beijos Carol

 

 

 

print "\t<td>$tabela</td>\n";

 

if( $resto == 0) print "\n</tr>\n<tr>\n";

 

$i++; }

 

if( $resto != 0) print "\n</tr>";

 

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Veja o codigo abaixo, por ele voce podera tirar uma base para o que voce quer

 

<table border="1">
<tr>
<?php
// a variavel inicia com valor zero
$c=0;
// while para mostrar os resultados
// usei aqui o banco MySql, caso nao use esse e so adaptar
while($array=mysql_fetch_array($sql)){
// se $c for zero imprime um <tr>
if($c==0){
echo '<tr>';
}
// e aumenta o valor da variavel
$c++;
// mostra os dados dentro das <td>
echo '<td>'.$array['titulo'].'</td>';
// se $c for igual a 4, fecha a <tr> e define $c como zero
f($c==4){
echo '</tr>';
$c=0;
}
}
?>
</tr>
</table>

Observe que a estrutura da sua tabela ficara mais ou menos assim:

 

<table>
	<tr>
	<tr>
	<td>001</td>
		<td>002</td>
		<td>003</td>
		<td>004</td>
	</tr>
	</tr>
</table>

Essa <tr> sobrando é para o caso de em uma linha voce ter apenas tres resultados, ou seja a variavel $c nao chegara a 4 e assim a <tr> nao sera fechada.

 

Se nao for isso ou nao entender algo é so postar ai

Compartilhar este post


Link para o post
Compartilhar em outros sites

o meu codigo ta assim

 

 

<body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">

<table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0">

<tr>

<td align="center" valign="middle">

<table width="700" border="0" cellspacing="0" cellpadding="0">

<tr>

<td><table width="700" border="0" align="center" cellpadding="0" cellspacing="0">

<tr>

<td>

<? include "dbconfig.php";?>

<?

$re = mysql_query("SELECT count(*) as total FROM produtos");

$total = mysql_result($re, 0, "total");

if(!isset($colunas)) $colunas = 4;

$pagina = 0;

if(isset($_GET["pagina"])) {

$pagina = $_GET["pagina"];

 

}

 

$limite = 200;

$paginas = ceil($total / $limite);

 

$inicio = $pagina * $limite;

 

$sql = mysql_query("SELECT * FROM produtos order by id LIMIT $inicio, $limite");

?>

<?

while($l = mysql_fetch_array($sql)) {

$resto = $i % $colunas;

$produto=$l["produto"];

$descricao =$l["descricao"];

$pontos =$l["pontos"];

$codigo=$l["codigo"];

$id =$l["id "];

$foto=$l["foto"];

$tabela="

<input name='produto' type='hidden' value='$produto'>

<table width='160' border='0' cellspacing='1' cellpadding='1' >

<tr>

<td align='center' valign='top' >$produto </td>

</tr>

<tr>

<td align='center' valign='top' background='vid/fundo.jpg'><img src='fotos/$foto ' width='160' height='160' border='0'></td>

</tr>

<tr>

<td height='4'><span class='chamada'><font color='#666666' size='2' face='Verdana, Arial, Helvetica, sans-serif'><strong>Por:

</strong></font>$pontos <font color='#666666' size='2' face='Verdana, Arial, Helvetica, sans-serif'><strong>Pontos

</strong></font></span></td>

</tr>

<tr>

<td height='4'><strong><font color='#666666' size='2' face='Verdana, Arial, Helvetica, sans-serif'>Sim

<input name='codigo' type='checkbox' id='codigo' value='$codigo'>

desejo trocar</font></strong></td>

</tr>

<tr>

<td height='4'><img src='imagens/infor.jpg' width='160' height='27' border='0'></a></td>

</tr>

</table>

";

 

 

 

 

print "\t<td>$tabela</td>\n";

 

if( $resto == 0) print "\n</tr>\n<tr>\n";

 

$i++; }

 

if( $resto != 0) print "\n</tr>";

 

?>

</td>

</tr>

</table>

 

</table>

<table width='100%' border='0' cellspacing='0' cellpadding='0'>

<tr>

<td> </td>

</tr>

<tr>

<td align="center" valign="middle"> </td>

</tr>

<tr>

<td> </td>

</tr>

</table>

<p> </p>

<div align="center"></div>

 

</td>

</tr>

</table>

</td>

</tr>

</table>

Compartilhar este post


Link para o post
Compartilhar em outros sites

substitua esse trecho que você postou por isso aqui:

 

<body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0"><tr><td align="center" valign="middle"> 

	<table width="700" border="0" align="center" cellpadding="0" cellspacing="0">

		<?php
		include "dbconfig.php";

		$re = mysql_query("SELECT count(*) as total FROM produtos");
		$total = mysql_result($re, 0, "total");

		$colunas = 4;

		$pagina  = 0;

		if(isset($_GET["pagina"]))
		{
			$pagina = $_GET["pagina"];
		}

		$limite   = 200;
		$paginas  = ceil($total / $limite);
		
		$inicio   = $pagina * $limite; 
		
		$sql	  = mysql_query("SELECT * FROM produtos order by id LIMIT $inicio, $limite"); 
		$num_rows = mysql_num_rows( $sql );


		$i = 1;
		$j = 1;
		while($l = mysql_fetch_array($sql))
		{


			$produto	= $l["produto"];
			$descricao  = $l["descricao"];
			$pontos	 = $l["pontos"];
			$codigo	 = $l["codigo"];
			$id		 = $l["id "];
			$foto	   = $l["foto"];

			$tabela="
			<input name='produto' type='hidden' value='$produto'>
			<table width='160' border='0' cellspacing='1' cellpadding='1' >
			<tr> 
			<td align='center' valign='top' >$produto </td>
			</tr>
			<tr> 
			<td align='center' valign='top' background='vid/fundo.jpg'><img src='fotos/$foto ' width='160' height='160' border='0'></td>
			</tr>
			<tr> 
			<td height='4'><span class='chamada'><font color='#666666' size='2' face='Verdana, Arial, Helvetica, sans-serif'><strong>Por: 
			</strong></font>$pontos <font color='#666666' size='2' face='Verdana, Arial, Helvetica, sans-serif'><strong>Pontos 
			</strong></font></span></td>
			</tr>
			<tr>
			<td height='4'><strong><font color='#666666' size='2' face='Verdana, Arial, Helvetica, sans-serif'>Sim 
			<input name='codigo' type='checkbox' id='codigo' value='$codigo'>
			desejo trocar</font></strong></td>
			</tr>
			<tr>
			<td height='4'><img src='imagens/infor.jpg' width='160' height='27' border='0'></a></td>
			</tr>
			</table>
			"; 

			if( $i == 1 )
			{
				print PHP_EOL . "<tr>";
			}

			print PHP_EOL . "	<td>$tabela</td>";

			if( $i == $coluna or $j >= $num_rows )
			{

				print PHP_EOL . "</tr>";
				$i = 0;

			}else{

				$i++;

			}

			$j++;

		}
		
		?> 

	</table> 

</td></tr></table>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu colei o que você me mandou mais ai fica tudo na mesma linha ex se tiver 1000 ele lista na mesma linha e não vai de 4 em 4

Brigadinhaaaaaaaa

 

 

 

 

 

substitua esse trecho que você postou por isso aqui:

 

<body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0"><tr><td align="center" valign="middle"> 

	<table width="700" border="0" align="center" cellpadding="0" cellspacing="0">

		<?php
		include "dbconfig.php";

		$re = mysql_query("SELECT count(*) as total FROM produtos");
		$total = mysql_result($re, 0, "total");

		$colunas = 4;

		$pagina  = 0;

		if(isset($_GET["pagina"]))
		{
			$pagina = $_GET["pagina"];
		}

		$limite   = 200;
		$paginas  = ceil($total / $limite);
		
		$inicio   = $pagina * $limite; 
		
		$sql	  = mysql_query("SELECT * FROM produtos order by id LIMIT $inicio, $limite"); 
		$num_rows = mysql_num_rows( $sql );


		$i = 1;
		$j = 1;
		while($l = mysql_fetch_array($sql))
		{


			$produto	= $l["produto"];
			$descricao  = $l["descricao"];
			$pontos	 = $l["pontos"];
			$codigo	 = $l["codigo"];
			$id		 = $l["id "];
			$foto	   = $l["foto"];

			$tabela="
			<input name='produto' type='hidden' value='$produto'>
			<table width='160' border='0' cellspacing='1' cellpadding='1' >
			<tr> 
			<td align='center' valign='top' >$produto </td>
			</tr>
			<tr> 
			<td align='center' valign='top' background='vid/fundo.jpg'><img src='fotos/$foto ' width='160' height='160' border='0'></td>
			</tr>
			<tr> 
			<td height='4'><span class='chamada'><font color='#666666' size='2' face='Verdana, Arial, Helvetica, sans-serif'><strong>Por: 
			</strong></font>$pontos <font color='#666666' size='2' face='Verdana, Arial, Helvetica, sans-serif'><strong>Pontos 
			</strong></font></span></td>
			</tr>
			<tr>
			<td height='4'><strong><font color='#666666' size='2' face='Verdana, Arial, Helvetica, sans-serif'>Sim 
			<input name='codigo' type='checkbox' id='codigo' value='$codigo'>
			desejo trocar</font></strong></td>
			</tr>
			<tr>
			<td height='4'><img src='imagens/infor.jpg' width='160' height='27' border='0'></a></td>
			</tr>
			</table>
			"; 

			if( $i == 1 )
			{
				print PHP_EOL . "<tr>";
			}

			print PHP_EOL . "	<td>$tabela</td>";

			if( $i == $coluna or $j >= $num_rows )
			{

				print PHP_EOL . "</tr>";
				$i = 0;

			}else{

				$i++;

			}

			$j++;

		}
		
		?> 

	</table> 

</td></tr></table>

Compartilhar este post


Link para o post
Compartilhar em outros sites

desculpe..

 

corrigindo um trecho

 

if( $i == $coluna or $j >= $num_rows )
			{

				print PHP_EOL . "</tr>";
				$i = 0;

			}else{

				$i++;

			}

 

troque por isso:

 

if( $i == $colunas or $j >= $num_rows )
			{

				print PHP_EOL . "</tr>";
				$i = 1;

			}else{

				$i++;

			}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muito Obrigada mesmo deu certinho.

Beijosssssssssssssssss

 

 

 

desculpe..

 

corrigindo um trecho

 

if( $i == $coluna or $j >= $num_rows )
			{

				print PHP_EOL . "</tr>";
				$i = 0;

			}else{

				$i++;

			}

 

troque por isso:

 

if( $i == $colunas or $j >= $num_rows )
			{

				print PHP_EOL . "</tr>";
				$i = 1;

			}else{

				$i++;

			}

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.