Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Estou usando no meu projeto a função $listar para fazer a paginação, mas estou tendo dificuldades em fazer o fluxo correto.
Se puder me ajudar me mostre onde estou errando e qual pode ser a solução, estou te mandando todo o fluxo da paginação, ai vc me diz onde esta errado neste fluxo.
Na visão:
Estou passando por parametro a variavel $inicio e $quantidade para controle pela variavel $listar:
<?php
include ("C:/wamp/www/dgoo/controle/Usuario_controle.php");
$usuarios = new Usuario_controle();
$listar = $usuarios->listaUsuarios($inicio,$quantidade);
if (isset($_POST['s'])){
$listar = $usuarios->buscaUsuarios($_POST['s']);
}else{
$listar=$usuarios->listaUsuarios($inicio,$quantidade);
}
?>
-------------------------------------------------------------------------------------------------------------------------------------------------------------------
<?php
// Pegar a página atual por GET
$pg = (isset($_GET['pg']))? $_GET['pg']:null;
if(isset($pg)){
$page = $pg;
}else{
$page = 1;
}
$quantidade = 5;
$inicio = ($page * $quantidade) - $quantidade;
$total_registros = sizeof($listar);
$Paginas = ceil($total_registros/$quantidade);
$links = 1;
echo "<a href='index.php?page=1'>Primeira Pagina</a>";
for($i = $page-$links; $i <= $page; $i++){
if($i <= 0){
}else{
echo " <a href='index.php?page=".$i."'>".$i."</a> ";
}
}
echo "<a href=#>$page</a>";
for($i = $page+1; $i <= $page+$links; $i++){
if($i > $Paginas){
}else{
echo " <a href='index.php?page=".$i."'>".$i."</a> ";
}
}
echo "<a href='index.php?page=".$Paginas."'>Ultima Pagina</a>";
?>
------------------------------------------------------controle---------------------------------------------------------------------------------------------------------------------------------------------
Na controle eu estou usando a mesma função de listarUsuarios, estou recebendo por parametro a variavel $inicio e $quantidade.
function listaUsuarios($inicio,$quantidade){
Conexao::conecta();
$lista = new Usuario_dao();
$usuarios = $lista->listaUsuarios($inicio,$quantidade);
return $usuarios;
}
-------------------------------------------------------dao--------------------------------------------------------------------------------------------------------------------------------------------------------
Na dão estou com problemas!
Preciso de sua ajuda no que fazer nesta função, pois estou limitando para listar os 5 primeiros,mas como faço pra que ele traga todos os registros depois,pra dividir em 5 em 5.
function listaUsuarios($inicio,$quantidade) {
//$sql="SELECT * FROM usuario ORDER BY ASC LIMIT $inicio, $quantidade";
$sql = mysql_query("SELECT * FROM usuario ORDER BY ASC LIMIT $inicio, $quantidade");
$result = mysql_query($sql);
$lista = array();
while ($rd=mysql_fetch_array($result)){
$usuario = new Usuario_bean();
$usuario->setId_usuario($rd['id_usuario']);
$usuario->setNome_usuario($rd['nome_usuario']);
$data = implode("/",array_reverse(explode ("-",$rd['data_usuario'])));
$usuario->setData_usuario($data);
$usuario->setEmail_usuario($rd['e_mail_usuario']);
$usuario->setTelefone_usuario($rd['telefone_usuario']);
$lista[] = $usuario;
}
return $lista;
}
Se puder me ajudar me mostra qual comando devo colocar dão ou como é feito na dao pra que ele fusque os dados 2 vezes,eu estava fazendo errado tinha feito uma nova função, mas vi em alguns exemplos que uso a mesma função de listar, dia pra frente ficou muito confuso, e esta tento muitos eros:
( ! ) Notice: Undefined variable: inicio in C:\wamp\www\dgoo\index.php on line 6 Call Stack # Time Memory Function Location 1 0.0697 150264 {main}( ) ..\index.php:0
( ! ) Notice: Undefined variable: quantidade in C:\wamp\www\dgoo\index.php on line 6 Call Stack # Time Memory Function Location 1 0.0697 150264 {main}( ) ..\index.php:0
( ! ) Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\wamp\www\dgoo\modelo\dao\Usuario_dao.php on line 32 Call Stack # Time Memory Function Location 1 0.0697 150264 {main}( ) ..\index.php:0 2 0.2123 199504 Usuario_controle->listaUsuarios( ) ..\index.php:6 3 0.3328 205736 Usuario_dao->listaUsuarios( ) ..\Usuario_controle.php:44 4 0.4133 206192 mysql_fetch_array ( ) ..\Usuario_dao.php:32
( ! ) Notice: Undefined variable: inicio in C:\wamp\www\dgoo\index.php on line 14 Call Stack # Time Memory Function Location 1 0.0697 150264 {main}( ) ..\index.php:0
( ! ) Notice: Undefined variable: quantidade in C:\wamp\www\dgoo\index.php on line 14 Call Stack # Time Memory Function Location 1 0.0697 150264 {main}( ) ..\index.php:0
( ! ) Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\wamp\www\dgoo\modelo\dao\Usuario_dao.php on line 32 Call Stack # Time Memory Function Location 1 0.0697 150264 {main}( ) ..\index.php:0 2 0.4140 206096 Usuario_controle->listaUsuarios( ) ..\index.php:14 3 0.4143 206112 Usuario_dao->listaUsuarios( ) ..\Usuario_controle.php:44 4 0.4145 206328 mysql_fetch_array ( ) ..\Usuario_dao.php:32
Mas, como devo defini-las.
$quantidade = 5;
$inicio = ($page * $quantidade) - $quantidade;
$listar = $usuarios->listaUsuarios($inicio,$quantidade);
Mas, como devo defini-las?
Porque eu ja fiz isso.
Estou passando por parâmetro as duas variáveis e estou usando a mesma função de listar.
Olha o código da minha Listar.php
<?php
include ("dgoo/controle/Usuario_controle.php");
$usuarios = new Usuario_controle();
$listar = $usuarios->listaUsuarios($inicio,$quantidade);
if (isset($_POST['s'])){
$listar = $usuarios->buscaUsuarios($_POST['s']);
}else{
$listar=$usuarios->listaUsuarios($inicio,$quantidade);
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="[http://www.w3.org/1999/xhtml](http://www.w3.org/1999/xhtml)">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Cadastro de Usuarios</title>
<link href="css/style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<?php include_once("includes/cabecalho.php"); ?>
<div id="conteudo">
<div id="left">
<div id="lista">
<h1><a href=#"">Lista de Todos os usuario</a></h1>
<h5>Cadastro | CDT | UnB </h5>
<table border='0' id="alter">
<tr class="dif">
<td>Nome</td>
<td>Data</td>
<td>E-mail</td>
<td>Telefone</td>
<td>Editar</td>
<td>Excluir</td>
</tr>
<?php
foreach ($listar as $indice => $r) {
echo "<tr class='".(($indice %2 == 0)?'alterZ':'alterB')."'>";
echo "<td>".$r->getNome_usuario()."</a></td>";
echo "<td>".$r->getData_usuario()."</td>";
echo "<td>".$r->getEmail_usuario()."</td>";
echo "<td>".$r->getTelefone_usuario()."</td>";
echo "<td><a href='visao/cadastro_usuario.php?id_usuario=".$r->getId_usuario()."'>Editar </a></td>";
echo "<td><a href='visao/cadastro_usuario_exe.php?excluir=1&id_usuario=".$r->getId_usuario()."'>Excluir </a></td>";
echo "</tr>";
// A presença da interrogação indica o fim do endereço e o início da declaração dos nossos valores que serão passados.
}
?>
</table>
<?php
// Pegar a página atual por GET
$pg = (isset($_GET['pg']))? $_GET['pg']:null;
if(isset($pg)){
$page = $pg;
}else{
$page = 1;
}
$quantidade = 5;
$inicio = ($page * $quantidade) - $quantidade;
$total_registros = sizeof($listar);
$Paginas = ceil($total_registros/$quantidade);
$links = 1;
echo "<a href='index.php?page=1'>Primeira Pagina</a>";
for($i = $page-$links; $i <= $page; $i++){
if($i <= 0){
}else{
echo " <a href='index.php?page=".$i."'>".$i."</a> ";
}
}
echo "<a href=#>$page</a>";
for($i = $page+1; $i <= $page+$links; $i++){
if($i > $Paginas){
}else{
echo " <a href='index.php?page=".$i."'>".$i."</a> ";
}
}
echo "<a href='index.php?page=".$Paginas."'>Ultima Pagina</a>";
?>
</div>
</div>
<?php include_once("includes/lateral.php"); ?>
</div>
<?php include_once("includes/rodape.php"); ?>
</body>
</html>Pronto!
Esta definida.
$pg = (isset($_GET['pg']))? $_GET['pg']:null;
if(isset($pg)){
$page = $pg;
}else{
$page = 1;
}
$quantidade = 5;
$inicio = ($page * $quantidade) - $quantidade;
$usuarios = new Usuario_controle();
$listar = $usuarios->listaUsuarios($inicio,$quantidade);
if (isset($_POST['s'])){
$listar = $usuarios->buscaUsuarios($_POST['s']);
}else{
$listar=$usuarios->listaUsuarios($inicio,$quantidade);
}
Mas, estou com dificuldades em saber o que colocar na dao!
Use caminhos relativos para seus includes ou sua aplicação não irá funcionar fora de sua máquina.
Ao invés de [inline]C:/wamp/www/dgoo/controle/Usuario_controle.php[/inline]
Coloque apenas [inline]dgoo/controle/Usuario_controle.php[/inline]
Quanto aos erros:
As variáveis [inline]$inicio[/inline] e [inline]$quantidade[/inline] não foram definidas, os demais erros provavelmente são em decorrência.