Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Alguém sabe me dizer porque esse codigo está entrando num loop infinito?
<?php
include "config.php";
$sql_tabela = 'SELECT * FROM tabela';
$limite = 5;
try{
$query_tabela = $conecta->prepare($sql_tabela);
$query_tabela->execute();
$query_result = $query_tabela->fetchAll(PDO::FETCH_ASSOC);
$query_count = ceil($query_tabela->rowCount(PDO::FETCH_ASSOC)/$limite);
$pg = (isset($_GET["pag"])) ? (int)$_GET["pag"] : 1 ;
$start = ($pg - 1) * $limite;
$sql_tabela = 'SELECT * FROM sr_imoveis LIMIT $start, $limite';
}catch(PDOexception $error_tabela){
echo 'Erro ao retornar os Dados.'.$error_tabela->getMessage();
}
foreach($query_result as $res_result){
?>
<ul style="font:14px Verdana, Geneva, sans-serif; color:#333; list-style:none;">
<li><?php echo $imovelID = $res_result["imovelID"]; ?></li>
<li><?php echo $imovelTitulo = $res_result["imovelTitulo"];?></li>
</ul>
<?php
}
?>
<?php
if($query_result > 1 && $pg <= $query_result){
for($i=1; $i <= $query_result; $i++){
echo "<a href='?pg=$i'>$i</a>";
}
}
?>galera alguém sabe me dizer prque está dando esse erro?
Erro ao retornar os Dados. SQLSTATE[42000]: Syntax error or access violation: 1327 Undeclared variable: $inicio
<?php
include "config.php";
ini_set('display_errors', true);
error_reporting(E_ALL);
$limite = 5;
$sql_tabela = 'SELECT * FROM sr_imoveis';
try{
$query_tabela = $conecta->prepare($sql_tabela);
$query_tabela->execute();
$query_result = $query_tabela->fetchAll(PDO::FETCH_ASSOC);
$query_count = $query_tabela->rowCount(PDO::FETCH_ASSOC);
$qtdPag = ceil($query_count/$limite);
}catch(PDOexception $error_tabela){
echo 'Erro ao retornar os Dados.'.$error_tabela->getMessage();
}
$pg = (isset($_GET["pg"])) ? (int)$_GET["pg"] : 1 ;
$inicio = ($pg * $limite) - $limite;
$sql_sr_imoveis = 'SELECT * FROM sr_imoveis LIMIT $inicio, $limite';
try{
$query_sr_imoveis = $conecta->prepare($sql_sr_imoveis);
$query_sr_imoveis->execute();
}catch(PDOexception $error_sr_imoveis){
echo 'Erro ao retornar os Dados. '.$error_sr_imoveis->getMessage();
}
while($linha = $query_sr_imoveis->fetch(PDO::FETCH_ASSOC)){
?>
<ul style="font:14px Verdana, Geneva, sans-serif; color:#333; list-style:none;">
<li><?php echo $imovelID = $res_result["imovelID"]; ?></li>
<li><?php echo $imovelTitulo = $res_result["imovelTitulo"];?></li>
</ul>
<?php
}
?>
<?php
if($qtdPag > 1 && $pg<= $qtdPag){
for($i=1; $i <= $qtdPag; $i++){
echo "<a href='paginacao.php?pg=$i'>".$i."</a>";
}
}
?>não tem ninguém que saiba resolver meu problema? estou dando echo na variavel inicio, ele está pegando os valores porém está dando esse erro de Undeclared variable: $inicio, o que pode ser?
>
galera alguém sabe me dizer porque está dando esse erro?
Erro ao retornar os Dados. SQLSTATE[42000]: Syntax error or access violation: 1327 Undeclared variable: $inicio
<?php
include "config.php";
$limite = 10;
$pg = (isset($_GET['pg'])) ? (int)$_GET['pg'] : 1 ;
$inicio = ($pg * $limite) - $limite;
$sql = 'SELECT * FROM sr_imoveis ORDER BY imovelTitulo ASC LIMIT $inicio, $limite';
try{
$query = $conecta->prepare($sql);
$query->execute();
}catch(PDOexception $error_sql){
echo 'Erro ao retornar os Dados.'.$error_sql->getMessage();
}
while($linha = $query->fetch(PDO::FETCH_ASSOC)){
echo '<ul style="font:14px Verdana, Geneva, sans-serif; color:#333; list-style:none;">';
echo '<li>'.$imovelID = $linha["imovelID"].'</li>';
echo '<li>'.$imovelTitulo = $linha["imovelTitulo"].'</li>';
echo '</ul>';
}
$sql_Total = 'SELECT imovelID FROM sr_imoveis';
try{
$query_Total = $conecta->prepare($sql_Total);
$query_Total->execute();
$query_result = $query_Total->fetchAll(PDO::FETCH_ASSOC);
$query_count = $query_Total->rowCount(PDO::FETCH_ASSOC);
$qtdPag = ceil($query_count/$limite);
}catch(PDOexception $error_Total){
echo 'Erro ao retornar os Dados. '.$error_Total->getMessage();
}
?>
<?php
echo ' <a href="paginacao.php?pg=1">PRIMEIRA PÁGINA</a> ';
if($qtdPag > 1 && $pg<= $qtdPag){
for($i=1; $i <= $qtdPag; $i++){
if($i == $pg){
echo $i;
}else{
echo "<a href='paginacao.php?pg=$i'>".$i."</a>";
}
}
}
echo " <a href=\"paginacao.php?pg=$qtdPag\">ÚLTIMA PÁGINA</a> ";
?>Galera resolvi o problema concatenando a variavel $inicio
e $limite na linha sql
<?php
//inclui o arquivo config(arquivo de conexão com o banco de dados)
include "config.php";
//Limita o número de registros a serem mostrados por página
$limite = 10;
//Se pg não existe atribui 1 a variável pg
$pg = (isset($_GET['pg'])) ? (int)$_GET['pg'] : 1 ;
//Atribui a variável inicio o inicio de onde os registros vão ser mostrados por página, exemplo 0 à 10, 11 à 20 e assim por diante
$inicio = ($pg * $limite) - $limite;
//seleciona os registros do banco de dados pelo inicio e limitando pelo limite da variável limite
$sql = "SELECT * FROM sr_imoveis ORDER BY imovelID ASC LIMIT ".$inicio. ",". $limite;
try{
$query = $conecta->prepare($sql);
$query->execute();
}catch(PDOexception $error_sql){
echo 'Erro ao retornar os Dados.'.$error_sql->getMessage();
}
while($linha = $query->fetch(PDO::FETCH_ASSOC)){
echo '<ul style="font:14px Verdana, Geneva, sans-serif; color:#333; list-style:none;">';
echo '<li>'.$imovelID = $linha["imovelID"].'</li>';
echo '<li>'.$imovelTitulo = $linha["imovelTitulo"].'</li>';
echo '</ul>';
} $sql_Total = 'SELECT imovelID FROM sr_imoveis';
try{
$query_Total = $conecta->prepare($sql_Total);
$query_Total->execute();
$query_result = $query_Total->fetchAll(PDO::FETCH_ASSOC);
//conta quantos registros tem no banco de dados
$query_count = $query_Total->rowCount(PDO::FETCH_ASSOC);
//calcula o total de paginas a serem exibidas
$qtdPag = ceil($query_count/$limite);
}catch(PDOexception $error_Total){
echo 'Erro ao retornar os Dados. '.$error_Total->getMessage();
}
//Cria os links para navegação das paginas
echo ' <a href="paginacao.php?pg=1">PRIMEIRA PÁGINA</a> ';
if($qtdPag > 1 && $pg<= $qtdPag){
for($i=1; $i <= $qtdPag; $i++){
if($i == $pg){
echo $i; echo "<a href='paginacao.php?pg=$i'>".$i."</a>";
}
}
}
echo " <a href=\"paginacao.php?pg=$qtdPag\">ÚLTIMA PÁGINA</a> ";
?>
Resolvi o problema concatenando a linha sql a variavel $inicio e $limite
<?php
//inclui o arquivo config(arquivo de conexão com o banco de dados)
include "config.php";
//Limita o número de registros a serem mostrados por página
$limite = 10;
//Se pg não existe atribui 1 a variável pg
$pg = (isset($_GET['pg'])) ? (int)$_GET['pg'] : 1 ;
//Atribui a variável inicio o inicio de onde os registros vão ser mostrados por página, exemplo 0 à 10, 11 à 20 e assim por diante
$inicio = ($pg * $limite) - $limite;
//seleciona os registros do banco de dados pelo inicio e limitando pelo limite da variável limite
$sql = "SELECT * FROM sr_imoveis ORDER BY imovelID ASC LIMIT ".$inicio. ",". $limite;
try{
$query = $conecta->prepare($sql);
$query->execute();
}catch(PDOexception $error_sql){
echo 'Erro ao retornar os Dados.'.$error_sql->getMessage();
}
while($linha = $query->fetch(PDO::FETCH_ASSOC)){
echo '<ul style="font:14px Verdana, Geneva, sans-serif; color:#333; list-style:none;">';
echo '<li>'.$imovelID = $linha["imovelID"].'</li>';
echo '<li>'.$imovelTitulo = $linha["imovelTitulo"].'</li>';
echo '</ul>';
} $sql_Total = 'SELECT imovelID FROM sr_imoveis';
try{
$query_Total = $conecta->prepare($sql_Total);
$query_Total->execute();
$query_result = $query_Total->fetchAll(PDO::FETCH_ASSOC);
//conta quantos registros tem no banco de dados
$query_count = $query_Total->rowCount(PDO::FETCH_ASSOC);
//calcula o total de paginas a serem exibidas
$qtdPag = ceil($query_count/$limite);
}catch(PDOexception $error_Total){
echo 'Erro ao retornar os Dados. '.$error_Total->getMessage();
}
//Cria os links para navegação das paginas
echo ' <a href="paginacao.php?pg=1">PRIMEIRA PÁGINA</a> ';
if($qtdPag > 1 && $pg<= $qtdPag){
for($i=1; $i <= $qtdPag; $i++){
if($i == $pg){
echo $i; echo "<a href='paginacao.php?pg=$i'>".$i."</a>";
}
}
}
echo " <a href=\"paginacao.php?pg=$qtdPag\">ÚLTIMA PÁGINA</a> ";
?>
>
Alguém sabe me dizer porque esse codigo está entrando num loop infinito?
try{
}catch(PDOexception $error_tabela){
if($query_count > 1 && $pg <= $query_count){ //resolvido aqui estava colocando $query_result
tem alguma coisa errada ainda, estou limitando em cinco, mas tenho 17 registros no banco de dados, ele está mostrando todos, sendo que deveria mostrar somente 5 por página