PHP - Paginacion

   
Vista:

Paginacion

Publicado por jose (35 intervenciones) el 24/02/2013 12:53:35
Hola he encontrado un código de un pagínador que me gusta.
pero falta el código que enganche con la base de datos creo explicarme el Limit
esta es mi conexion.

1
<?php require_once('Connections/libre.php'); ?>


my base de datos se llama : libre
la tabla es: carrito
y de la extructura quiero el: nombre

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php
$cantidadRegistrosPorPagina	= 10;
$cantidadEnlaces            = 10;
$totalRegistros             = 1653;
$pagina                     = isset($_GET['pagina'])? $_GET['pagina'] : 0;
require_once 'Paginador.php';
$paginador = new Paginador();
$paginador->setCantidadRegistros($cantidadRegistrosPorPagina);
$paginador->setCantidadEnlaces($cantidadEnlaces);
$paginador->setClass('actual',          'current');
$datos              = $paginador->paginar($pagina, $totalRegistros);
if ($datos) {
$enlaces = $paginador->getHtmlPaginacion('pagina', 'span');
?>
<div style="padding-top: 10px; padding-bottom: 10px; background-color: rgb(49, 49, 49); height: 30px">
<div class="black-red">
<?php
foreach ($enlaces as $enlace) {
echo $enlace . "\n";
}
?>
</div></div><br/><br />
 <?php
 }
?>



la pagina paginador.php que tiene la clase es muy larga voy a enseñar el principio del codigo
si fuese necesario pondria todo pero por ahora pongo este trozo del codigo

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
<?php
 
class Paginador
{
 
    private $_titulos = array('primero'           => array('vista'  => '| Primero ...',
                                                           'title'  => 'Ir a la primera Pagina',
                                                           'class'  => null,
                                                           'off'    => null),
                              'bloqueAnterior'    => array('vista'  => '<<',
                                                           'title'  => 'Bloque Anterior',
                                                           'class'  => null,
                                                           'off'    => null),
                              'anterior'          => array('vista'  => '<',
                                                           'title'  => 'Pagina Anterior',
                                                           'class'  => null,
                                                           'off'    => null),
                              'siguiente'         => array('vista'  => '>',
                                                           'title'  => 'Pagina Siguiente',
                                                           'class'  => null,
                                                           'off'    => null),
                              'bloqueSiguiente'   => array('vista'  => '>>',
                                                           'title'  => 'Bloque Siguiente',
                                                           'class'  => null,
                                                           'off'    => null),
                              'ultimo'            => array('vista'  => '... Ultimo |',
                                                           'title'  => 'Ir a la Ultima Pagina',
                                                           'class'  => null,
                                                           'off'    => null),
                              'numero'            => array('vista'  => null,
                                                           'title'  => 'Ir a la pagina ',
                                                           'class'  => null,
                                                           'off'    => null),
                              'actual'            => array('vista'  => null,
                                                           'title'  => 'Estas viendo esta pagina',
                                                           'class'  => null,
                                                           'off'    => null));
 
 
    private $_marcador = array('antes'      => '|',
                               'despues'    => '|');
 
 
    private $_paginacion = array();
 
 
    private $_cantidadDeRegistrosPorPagina = 10;
 
 
    private $_cantidadDeEnlacesDelPaginador = 10;
 
 
    private $_cantidadPaginas;
 
 
    private $_omitir    = array();
 
 
    private $_pagActual;
 
       private $_propagar;
 
 
    private $_urlDestino = null;
 
 
    public function  __construct($crpp = 10, $cep = 10)
    {
        $this->_cantidadDeRegistrosPorPagina    = ((int)$crpp > 0)? $crpp : 10;
        $this->_cantidadDeEnlacesDelPaginador   = ((int)$cep > 0)? $cep : 10;
    }
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Paginacion

Publicado por Unexes (124 intervenciones) el 24/02/2013 16:13:37
Hola Jose.

Perdona si soy un poco brusco, pero a mi entender no me parece bien que hagas las mismas consultas en diferentes foros con nombre distinto, ya no se si eres "jose" o "yolanda16568", por supuesto las consultas las puedes hacer donde quieras y con el nombre que quieras pero esta es mi opinión sin ningún animo de ofender a nadie.

En el otro foro ya te han respondido 7 personas y practicamente ningúna sabe hasta este momento que es lo que precisas, porque yo no veo en tu código la consulta que pretendes paginar.

Veras aqui y en los otros foros se esta para ayudar y para ser ayudado, a veces se ayuda tanto que se pone practicamente o totalmente el código que precisa la persona que solicita esa ayuda, para que si no tiene suficientes conocimientos pueda proseguir con el desarrollo de lo que este haciendo, por lo menos conmigo, en este y en otros foros los compañeros lo han hecho por mi en innumerables ocasiones y por ello les estoy muy agradecido.

Pero lo que te quiero decir es que me da la sensación personal que cuando planteas un problema te desentiendes de el hasta que alguien te da las respuesta y eso no debe de ser así ya que deberias seguir buscando por tu cuenta he intentar solucionarlo por ti mismo, mientras los compañeros del foro que disponen de tiempo y de conocimientos hacen voluntariamente lo propio para ayudarte y no creo que ninguno de esos compañeros se moleste si despues de plantear un problema te respondes a ti mismo diciendo que lo has solucionado y por supuesto pones como lo has hecho, te digo esto porque en tu anterior post te ayude y me complacio hacerlo, pero me di cuenta que si algunas de las cuestiones que planteabas las hubieras buscado en internet por ejemplo en Google habrias tardado solo unos minutos en encontrar la solución, no obstante como te he comentado me complacio ayudarte ya que mis conocimientos son escasos y no puedo ayudar a mucha gente, de momento me ayudan mucho más a mi que yo a ellos.

Y para terminar, mira a ver si puedes poner tu consulta y vere que puedo hacer, estoy seguro que recibiras muchas ayudas si tu pones tambien de tu parte.

Un saludo y considera este post como lo que es, una pequeña critica constructiva que no pretende ofender a nadie.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Paginacion

Publicado por jose (35 intervenciones) el 24/02/2013 16:57:40
Hola perdona por los nombre la verdad es que lo hacemos los dos mi mujer y yo asea Yolanda y Jose Fernando con esto ya sabido te comento.
No es que espere respuestas y yo no quiera hacer nada, sino que tengo tantos problemas que me
es dificil solo estar en uno, sin saber nada de codigo, solo con video tutoriales en Dreamweaver
hemos realizado la Web llevo un año para esto, pues por una operación de Columna no puedo salir ni trabajar en lo mio

te respondes a ti mismo diciendo que lo has solucionado Si pongo que esta solucionado
es porque lo esta o lo he conseguido yo o me han ayudado en otro sitio y ya funciona nunca he querido hacer eso que dices de responderme a mi mismo.

$conexion = mysql_connect($database_host,$database_user,$database_password);
mysql_select_db($database_name,$conexion);

$row= mysql_query("SELECT nombre FROM carrito WHERE nombre='$nombre' LIMIT 0, 10 ");

Por aqui voy esta seria la consulta pero mira lo que me pone otro compañero

Ahora, has puesto un ejemplo, pero, no tiene logica, le pides que te retorne el valor de la celda "nombre", pero a su vez, filtras los registros por la misma celda


Ah otra cosa a veces sobre lo de buscar en google no es facil sobre todo cuando no entiendes
nada de codigo y en cada sitio hablan de cosas diferentes perdona si te ha molestado lo de los
nombres yo tengo algunas cuentas abiertas en algunos foros y mi mujer otras cuentas a veces
utilizamos el uno la cuenta del otro....


esta es la tabla donde estan los datos funciona bien y lo tengo paginado con dreamweaver
pero me gustaria otra paginacion

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<table width="100%" border="0" align="center">
      <?php
 $cuantos=0;
 do {
if($cuantos==3){
?>
 <tr>
<?php
}
$cuantos ++;
 ?>
            <td height="183" align="center" valign="top" class="centro"><p><a href="11.php?foto_id=<?php echo $row_carrito['foto_id']; ?>"><img src="fotos/grandes/<?php echo $row_carrito['nombre']; ?>" width="148" height="123" /></a><br />
              <?php echo $row_carrito['lugar']; ?><br />
              <?php echo $row_carrito['precio']; ?>Euros<br />
            </p>
              <form id="form1" name="form1" method="post" action="carrito_compra.php">
                <input name="cantidad" type="hidden" id="cantidad" value="1" />
                <input name="precio" type="hidden" id="precio" value="<?php echo $row_carrito['precio']; ?>" />
                <input name="lugar" type="hidden" id="lugar" value="<?php echo $row_carrito['lugar']; ?>" />
                <input name="button" type="submit" class="rojo" id="button" value="Añadir al Carrito" />
            </form></td>
          <?php
if($cuantos==3){
$cuantos=0;
?>
</tr>
<?php
}
?>
 
        <?php } while ($row_carrito = mysql_fetch_assoc($carrito)); ?>
</table>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Paginacion

Publicado por Unexes (124 intervenciones) el 24/02/2013 23:02:36
Bueno olvidemos lo anterior y centremosnos en lo importante, no sin antes decirte que lamento lo de tu operación y espero que te recuperes lo antes posible y saluda a tu esposa de mi parte.

Disculpa vuelvo un solo instante al tema anterior para decirte que me entendiste mal cuando te dije "no creo que ninguno de esos compañeros se moleste si despues de plantear un problema te respondes a ti mismo diciendo que lo has solucionado y por supuesto pones como lo has hecho", lo que pretendia es decirte que mientras los compañeros buscamos la forma de ayudarte tu continues por tu parte buscando la solución, porque a mi me ha pasado que mientras algunos compañeros me intentaban ayudar yo encontre por mi mismo la solución y te aseguro que debido a mis escasos conocimientos me supo a gloria.

Bueno volviendo a tu problema lo primero que necesito para ayudarte es saber que páginador quieres utilizar y de que sitio te los bajado, ya que generalmente en la misma página de donde te lo has bajado esta la esplicación de como implementarlo en tu código, yo te dire que utilizo generalmente el zebra_pagination hasta hoy no me ha dado ningún problema.

Por hoy ya es suficiente para mi y mañana cuando salga del trabajo vere que es lo que me has indicado y intentare ayudarte,

Pido disculpas al resto de compañeros por que este post parece mas un Chat que un foro, a partir de aqui las aguas vuelven a su cauce y este post sera un foro.

Un saludo a todos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Paginacion

Publicado por jose (35 intervenciones) el 25/02/2013 09:38:52
(http://objetivophp.com/?p=183)

De aqui me lo he bajado

1
2
3
4
5
6
7
8
9
10
<?php
# FileName="Connection_php_mysql.htm"
# Type="MYSQL"
# HTTP="true"
$hostname_libre = "localhost";
$database_libre = "libre";
$username_libre = "root";
$password_libre = "";
$libre = mysql_pconnect($hostname_libre, $username_libre, $password_libre) or trigger_error(mysql_error(),E_USER_ERROR);
?>


mi conexion
1
<?php require_once('Connections/libre.php'); ?>

en el post 1 esta el php y algo del codigo de la pagina paginador.php

el paginador es pagblackred.php
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Paginacion

Publicado por Unexes (124 intervenciones) el 25/02/2013 10:46:11
Jose yo no utilizo ese paginador, pero no obstante me lo he bajado y le he dado un vistazo y la verdad esta bastante claro como hay que armarlo para que funcione, abre pagBlackRed.php y leete las lineas de comentario y veras que te lo esplica muy bien.

Te aconsejo que en una página aparte de la que estes haciendo te montes una consulta conectando con la base de datos que luego utilizaras, tendras que contar en esa consulta los registros que tienes o los que te encuentra si aplicas algún filtro y pasar ese valor a una variable, por ejemplo $mivariable que luego utilizaras en la linea:
$totalRegistros = 1653;
sustituyelo por algo así
$totalRegistros = $mivariable;
Ya que en el ejemplo han puesto un valor fijo para que muestre una cantidad determinada de páginas, por lo demas en el pdf esta todo bastante bien esplicado.
Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Paginacion

Publicado por jose (35 intervenciones) el 25/02/2013 12:43:09
Me he leido el PDF como sino pues no lo entiendo perdona por ser tan burro.
mira he creado esto codigo:

1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$database_host = "localhost";error_reporting (E_ALL & ~E_NOTICE);
$databese_user = "root";error_reporting (E_ALL & ~E_NOTICE);
$database_password = "";error_reporting (E_ALL & ~E_NOTICE);
$database_name = "libre";error_reporting (E_ALL & ~E_NOTICE);
$conexion = mysql_connect($database_host,$database_user,$database_password);
$conexion = mysql_connect($database_host,$database_user,$database_password);
                    mysql_select_db($database_name,$conexion);
 
                    $row= mysql_query("SELECT campo1,campo2 FROM carrito WHERE campo1='$nombre' LIMIT 0, 30 ");  error_reporting (E_ALL & ~E_NOTICE);
$totalRegistros = 1653;
$totalRegistros = $mivariable;
?>


Me salen las pagina pero no coge los registros

el php esta asi

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
$cantidadRegistrosPorPagina	= 10;
$cantidadEnlaces            = 10;
$totalRegistros             = 1653;
 
$pagina                     = isset($_GET['pagina'])? $_GET['pagina'] : 0;
require_once 'Paginador.php';
$paginador = new Paginador();
$paginador->setCantidadRegistros($cantidadRegistrosPorPagina);
$paginador->setCantidadEnlaces($cantidadEnlaces);
$paginador->setClass('actual',          'current');
$datos              = $paginador->paginar($pagina, $totalRegistros);
if ($datos) {
$enlaces = $paginador->getHtmlPaginacion('pagina', 'span');
?>
<div style="padding-top: 10px; padding-bottom: 10px; background-color: rgb(0,0,0); height: 30px">
<div class="black-red">
<?php
foreach ($enlaces as $enlace) {
echo $enlace . "\n";
}
?>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Paginacion

Publicado por Unexes (124 intervenciones) el 25/02/2013 20:33:09
En el código que pones no veo la consulta ni que la misma cuente la cantidad de registros que te encuentra de tu base de datos, solo pones basicamente el código que te has bajado del páginador y la conexion de tu base de datos

Olvidate del páginador.

Primero haz la consulta que te muestre correctamente los registros y que cuente la cantidad de registros que encuentra y esa cantidad la pasas &mivariable.

Despues montas el páginador y en el Limit de tu consulta debes poner la misma cantidad que los registros que deseas visualizar con el páginador y en $totalRegistros = "aqui pones $mivariable"
y veras como empieza a verse las cosas, no te ciegues con el páginador es una clase independiente de los resultados que obtienes, el páginador solo los página valga la rebundancia. Si no tienes primero resultados el páginador no tiene nada para páginar y mientras no hagas una consulta que funcione y veas resultados no los podras páginar.

y aunque suene a cachondeo: El paginador que lo enpagine buen paginador sera.

Y ahora me toca dedicarme un buen rato a mi página, un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Paginacion

Publicado por jose (35 intervenciones) el 25/02/2013 21:00:48
$conexion = mysql_connect($database_host,$database_user,$database_password);
mysql_select_db($database_name,$conexion);

$row= mysql_query("SELECT campo1,campo2 FROM carrito WHERE campo1='$nombre' LIMIT 0, 30 ");

esta no es la consulta??

creo que esto me desborda, te prometo que no es porque no quiera, sino por falta de conocimientos
llevo todo el dia intentando hacer esto y no va,
para ti es facil

Despues montas el páginador y en el Limit de tu consulta debes poner la misma cantidad que los registros que deseas visualizar con el páginador y en $totalRegistros = "aqui pones $mivariable"

Simplemente esto no lo entiendo, Intentare mas mañana...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Paginacion

Publicado por unexes (124 intervenciones) el 25/02/2013 23:23:30
vale la consulta la realizas pero en ninguna parte de la misma cuentas los registros que obtienes ni lo pasas a ninguna variable.

Mira esto es una parte de una consulta:

1
$sql = "SELECT SQL_CALC_FOUND_ROWS * FROM clientes WHERE etc......

y despues mas adelante viene algo como:
1
2
// Recuperar el número total de registros en la tabla
 $rows = mysql_fetch_assoc(mysql_query('SELECT FOUND_ROWS() AS rows'));

Como veras primero obtengo en mi consulta el total de registros y luego los paso a una variable para poderlos utilizar.

Yo creo que se menos de programación que tu pero investigo mucho por la red y intento averiguar ciertas cosas partiendo el problema en trozos mas pequeños y luego los junto para obtener el resultado final, tu en cambio quieres solucionarlo todo de una sola vez, eso solo se puede hacer si tienes conocimientos.
Olvidate del páginador durante unos días y centrate en conseguir que tu consulta te diga cuantos registros encuentra y despues como pasar ese numero de registros a una variable, (aunque yo ya te lo he dicho aquí), para contar los registros que encuentra tu consulta hay otras formas, tan validas como la que yo pongo.

Despues te lees el pdf que viene con el páginador y lo entenderas ya que solo pide dos cosas el asunto del Limit y indicarle los registros a páginar porque el resto de código que pones del páginador es correcto solo tienes que copiar y pegar y sustituir el valor del limit y el del: $totalRegistros = 1653; cambiando el 1653 por la variable y eso es todo.

Resumo: si tu consulta funciona bien consigues que cuente los registros que encuentra y los pasas a una variable (aqui te he puesto como hacerlo) solo tendras que poner el código del páginador y sustituir el valor del Limit y poner la variable que has obtenido en sustitucion del 1653.

Se que mientras te esplico esto te hubiera podido poner el código pero es que debes aprender y como contar los registros que obtienes en una consulta es algo que en la red esta por todos los sitios creo que primero debes empezar por ahi.

Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Paginacion

Publicado por jose (35 intervenciones) el 26/02/2013 13:49:21
He creado este codigo pero me da error
No seria mas facil que pusieras el codigo y me lo explicaras???????
a veces es necesario alguien que te lo explique para poder entender, si no es asi.
dime que fallo en el codigo.

1
2
3
4
5
6
7
8
9
10
<?php require_once('Connections/libre.php');
$productos = mysql_query("SELECT * FROM carrito WHERE nombre",$libre);
$num_registros = mysql_num_rows($productos);
if ($num_registros==0)
{
echo "no hay registros";
mysql_close($libre);
exit();
}
?>


error:
Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\prueba\paginador1.php on line 3
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Paginacion

Publicado por jose (35 intervenciones) el 26/02/2013 17:10:19
Nuevo codigo pero sigo con problemas.
serian 9 registro por pagina

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php require_once('Connections/libre.php');
$productos = mysql_query("SELECT FROM carrito WHERE nombre = '".$libre."'");
$query ="SELECT FROM carrito WHERE nombre = '".$valor."' ";
$productos = mysql_query($query,$libre);
$num_registros = mysql_num_rows($productos);
if ($num_registros==0)
{
echo "no hay registros";
mysql_close($libre);
exit();
 
 
}
?>



codigo php:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php
$cantidadRegistrosPorPagina    = 9;
$cantidadEnlaces            = 9;
$totalRegistros             = 1653;
$pagina                     = isset($_GET['pagina'])? $_GET['pagina'] : 0;
require_once 'Paginador.php';
$paginador = new Paginador();
$paginador->setCantidadRegistros($cantidadRegistrosPorPagina);
$paginador->setCantidadEnlaces($cantidadEnlaces);
$paginador->setClass('actual',          'current');
$datos              = $paginador->paginar($pagina, $totalRegistros);
if ($datos) {
$enlaces = $paginador->getHtmlPaginacion('pagina', 'span');
?>
              </p>
                <div class="black-red" style="padding-top: 10px; padding-bottom: 10px; background-color: rgb(49, 49, 49); height: 30px">
                  <div class="black-red">
                    <?php
foreach ($enlaces as $enlace) {
echo $enlace . "\n";
}
?>
                  </div>
                </div>
                <?php
 }
?>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Paginacion

Publicado por jose (35 intervenciones) el 27/02/2013 11:47:41
Pagina paginador1.php


<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<title>paginador1</title>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<link href="SpryAssets/SprySpotlightColumn.css" rel="stylesheet" type="text/css" />
<script tipe="text/javascript">
$(document).ready(cargarproductos(0));
function cargarproductos(limite)
{
	var url="cargarproductos.php";
	$.post(url,{limite: limite},function(responseText){
		$("$productos").html(responseText);
 
	});
}
</script>
<body>
<section id="productos">
</section>


Pagina cargarproductos.php

1
2
3
4
5
6
7
8
<?php
$db=new MySQLi("localhost","root","");error_reporting (E_ALL & ~E_NOTICE);
$limite=$_POST["limite"];error_reporting (E_ALL & ~E_NOTICE);
$query="SELECT id from productos";
$res=$db->query($query);
$total=$res->num_rows;
echo $total;error_reporting (E_ALL & ~E_NOTICE);
?>


No funciona sabeis e que fallo?????
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Paginacion

Publicado por jose (35 intervenciones) el 28/02/2013 12:34:19
ya funciona pagina desde cero me da los nueve primeros datos y hace la paginación bien.

Pero esto ahora me da muchos mas problemas en mi pagina ya tengo todo echo se me
ven de nueve en nueve me salen todos los productos,las fotos,puedo subir datos
todo esto, mas el carrito compra seria incapaz de hacerlo en esta pagina porque yo lo he hecho
en dreamweaver bajo un videotutorial bien explicado también
es mejor el otro paginador el que empezamos al principio del post.

podrias ayudarme en el 1 código ???????



código php de pagina index


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
require_once("class.php");
$obj = new carrito();
if (isset ($_GET["pos"]))
$inicio = $_GET["pos"];
else
$inicio = 0;
$noti = $obj->getArticulos($inicio);
$tArt = $obj->totalArt();
$tPag = $tArt/9;
//obtengo la página actual
if (isset($_GET["pos"]) and $_GET["pos"]>0)
$act = $_GET["pos"]/9+1;
else
$act = 1;
?>



código para ver los datos


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<?php
//obtengo los articulos
foreach ($noti as $not) {
echo $not["lugar"]."<br>";
echo $not["nombre"]."<br>";
echo $not["precio"]."<br>";
}
echo "<br>";
$a = 0;
$ultima = 0;
for ($i=1; $i < $tPag; $i++) {
if ($i==$act) {
echo $i;
}else{
?>
            <a href="?pos=<?php echo $a; ?>"><?php echo $i; ?></a>
            <?php
}
$a+=9;
$ultima++;
}
$final = $ultima * 9;	//ultimo registro mostrado
$resto = $tPag - $final;	//lo que falta por mostrar
if ($final<$tArt) {
$ultima++;
if($ultima == $act){
echo $ultima;
}else{
?>
            <a href="?pos=<?php echo $a; ?>"><?php echo $ultima; ?></a>
            <?php
}
}
?>




pagina del a clase


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<?php
	class Conectar{
		public static function con(){
			$con = mysql_connect("localhost","root","") or die("conexión incorrecta");
			mysql_select_db("libre") or die("base de datos incorrecta");
			mysql_query("SET NAMES 'utf8'");
			return $con;
		}
	}
 
	class carrito{
		private $art;
		private $total;
 
		public function __construct(){
			$this->art = array();
			$this->total = array();
		}
 
		public function getArticulos($inicio){
			$query = "select foto_id,lugar,nombre,descripcion,precio from carrito order by nombre desc limit $inicio,9";
			$result = mysql_query($query,Conectar::con());
			while ($reg = mysql_fetch_assoc($result)) {
				$this->art[] = $reg;
			}
			return $this->art;
		}
 
		public function totalArt(){
			$query = "select count(*) as total from carrito";
			$result = mysql_query($query,Conectar::con());
			if ($reg = mysql_fetch_array($result)) {
				$this->total = $reg["total"];
			}
			return $this->total;
		}
	}
?>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar