PHP - Consulta Html y php

 
Vista:
Imágen de perfil de Luis
Val: 25
Ha disminuido su posición en 148 puestos en PHP (en relación al último mes)
Gráfica de PHP

Consulta Html y php

Publicado por Luis (30 intervenciones) el 14/06/2016 03:47:22
Hola gente del foro, muy buenas noches. EStoy aprendiendo html5 y php, me cuesta bastante, pero le pongo dedicación. Estoy desarrollando un proyecto de carrito de compras, apenas voy iniciando. Estoy trabado en lo siguiente.

Resulta que desde php tengo un código que a partir de una consulta de productos realiza una comprobación de la cantidad de registros, a los efectos de paginar, muestro hasta 5 productos por pagina, y agrego Anterior y siguiente a una serie de etiquetas a href que imprimo con echo al pie de la pagina.

El problema es que tengo una caja de texto de busqueda de productos , que ejecuta "otra consulta segmentada" mediante un like, pudiendo ser el resultado tan solo 2 o 3 productos.
Me ocurre que la consulta solo ocupa 1 pagina , y me queda impreso los echos de la anterior consulta.
Estuve buscando por htnl y php pero no doy con la forma de borrar los a ref , e imprimir solo el actual .

Este es el trozo de codigo :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
if ($nro_pagina>1)
	echo  "<a href='index.php?num=".($nro_pagina-1) ."' >Anterior</a>  ";
 
	for ($i=1;$i<=$canti_paginas;$i++)
	{
		if (empty($nro_pagina))
			$nro_pagina=1;
 
		if ($i==$nro_pagina)
			echo $i." ";
		else
			echo "<a href='index.php?num=". $i ."'>$i</a> ";
	}
 
if ($nro_pagina<$canti_paginas)
	echo  "<a href='index.php?num=". ($nro_pagina+1) ."' >Siguiente</a>  ";
	mysqli_close($con);

La idea es que me borre los echo anteriores , e imprima en pantalla los echo actuales ... espero no ser muy confuso ..
Disculpen mi ignorancia, pero hace horas que pruebo y no doy con avances.
Gracias adelantadas !!
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
Imágen de perfil de Miguel

Consulta Html y php

Publicado por Miguel (15 intervenciones) el 14/06/2016 04:41:38
Ya solucionaste?. NO entiendo que deseas hacer!!.
Seria algo asi:
1) Muestras 5 productos por pagina
2) Si se desea se puede buscar un producto por una caja de texto que solo arroja maximo 2 productos
3) la busqueda no deberia mostrar paginacion por que son menos de 5 productos
4) Si esta confunso
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
Imágen de perfil de Luis
Val: 25
Ha disminuido su posición en 148 puestos en PHP (en relación al último mes)
Gráfica de PHP

Consulta Html y php

Publicado por Luis (30 intervenciones) el 14/06/2016 15:25:10
Ok, si, no está claro. Igualmente mi agradecimiento por responder.
Tengo 2 problemas principales.
El que menciono arriba , lo detallo con mas claridad.

1) ingreso a la web , la home por defecto me muestra alrededor de 100 artículos , pero de a 5 unidades , al pie tengo la paginación , que consiste en alrededor de 20 a ref que se cargan con un bucle for :

Anterior 1 2 3 4 5 6 7 8 Ultimo

Esto funciona ok.

2) En la misma página tengo una caja de texto para búsquedas por alfabeto. Armo la consulta principal con todos los artículos que se filtren por un criterio. Esta consulta puede traerme 0 , 1 o 20 productos.
Si me trae 1 producto, los a href de la consulta anterior no se borran ... me quedan solapados ...
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
Imágen de perfil de Miguel

Consulta Html y php

Publicado por Miguel (15 intervenciones) el 14/06/2016 15:29:42
Podrías colocar el script completo para ver que esta pasando?, pues ese fragmento de código no dice mucho
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
Imágen de perfil de Luis
Val: 25
Ha disminuido su posición en 148 puestos en PHP (en relación al último mes)
Gráfica de PHP

Consulta Html y php

Publicado por Luis (30 intervenciones) el 14/06/2016 16:53:26
Gracias Miguel, y disculpa que aún no logro entender algunas cosillas. Por ejemplo se me ocurrió crear una funcion paginar_paginas , con la idea de ahorrar codigo e independizarlo de la consulta ... pero no me funcionó .
El problema es cuando efectúo una búsqueda de productos por el buscador, ahi se descontrola la paginación ..


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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
<?php
include('conexion.php');
 
//Al inicio consulta todos los productos y los muestra
$consulta="select * from productos order by nombre";
$result = mysqli_query($con, $consulta);
$nro_reg = mysqli_num_rows($result);
 
if ($nro_reg==0) {
    echo 'No hay registros para mostrar !';
}
 
// Cantidad Registros quiero visualizar por pagina
$reg_por_pagina=5;
 
// Variable con el Nº de página actual
$nro_pagina=$_GET['num'];
 
 
// Condicional para saber pagina inicial
    if(is_numeric($nro_pagina))
        $inicio=($nro_pagina-1)*$reg_por_pagina;
        else
        $inicio=0;
 
$consulta=mysqli_query($con,"select * from productos order by nombre limit $inicio, $reg_por_pagina");
 
// Variable con la cantidad de páginas a mostrar
    if ($nro_reg > $reg_por_pagina){
        $canti_paginas=ceil($nro_reg/$reg_por_pagina);}
 
?>
 
<html>
 
<head>
    <link href="css/estilo01.css" rel="stylesheet">
    <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
</head>
 
<body>
    <div class="cabecera01">
 
        <div class="cab_1">  Inicio   |   Nosotros   |  Contacto   </div>
 
        <div class="cab_2"></div>
 
        <div class="cab_3">
            <form id="buscador" name="buscador" method="post" action="">
            <input type="text" name="buscar" id="buscar">
            <input type="submit" name="Aceptar" id="Aceptar" value="Aceptar"> </form>
        </div>
    </div>
 
    <div class="carrito"><img src="imagen/carrito06.png" widht="60" height="40"</div>
 
    <div class="contenedor">
 
        <?php
            if (isset($_POST['buscar'])) {
                $consulta="select * from productos where nombre LIKE '%" .$_POST['buscar']. "%' order by nombre";
                $result = mysqli_query($con, $consulta);
                $nro_reg = mysqli_num_rows($result);
                }
 
                echo $nro_reg;
 
                if ($nro_reg==0) {
                    echo 'No hay registros para mostrar !';
                }
                // Variable con el Nº de página actual
                $nro_pagina=$_GET['num'];
 
 
                // Condicional para saber pagina inicial
                if(is_numeric($nro_pagina))
                    $inicio=($nro_pagina-1)*$reg_por_pagina;
                    else
                    $inicio=0;
 
                $consulta=mysqli_query($con,"select * from productos where nombre LIKE '%" .$_POST['buscar']. "%' order by nombre limit $inicio,                           $reg_por_pagina");
 
                // Variable con la cantidad de páginas a mostrar
                if ($nro_reg > $reg_por_pagina){
                    $canti_paginas=ceil($nro_reg/$reg_por_pagina);}
 
                while ($filas=mysqli_fetch_array($consulta, MYSQLI_ASSOC)) {
                    echo mysql_error();
                    $id=$filas['id'];
                    $imagen=$filas['imagen'];
                    $nombre=$filas['nombre'];
                    $descripcion=$filas['descripcion'];
                    $precio=$filas['precio'];
                    $stock=$filas['stock'];
                    $fecha=$filas['fecha'];
        ?>
 
            <div class="caja">
                <h2><?php echo $nombre?></h2>
                <img src="<?php echo $imagen?>" widht="100" height="90">
                <p>$ <?php echo $precio?></p>
 
                <form action="detalle.php" method="post" name="detalle">
                    <input name="id" type="hidden" value="<?php echo $id ?>" />
                    <input class="boton01" type="submit" value="Detalle">
                </form>
            </div>
 
            <?php
            }
 
            ?>
    </div>
 
    <div class="paginado">
 
        <?php
 
            if ($nro_pagina>1)
                echo  "<a href='index.php?num=".($nro_pagina-1) ."' >Anterior</a>  ";
 
            for ($i=1;$i<=$canti_paginas;$i++)
            {
                if (empty($nro_pagina))
                    $nro_pagina=1;
 
                if ($i==$nro_pagina)
                    echo $i." ";
                else
                    echo "<a href='index.php?num=". $i ."'>$i</a> ";
            }
 
            if ($nro_pagina<$canti_paginas)
                echo  "<a href='index.php?num=". ($nro_pagina+1) ."' >Siguiente</a>  ";
                mysqli_close($con);
 
        ?>
 
    </div>
 
</body>
</html>
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
Imágen de perfil de Luis
Val: 25
Ha disminuido su posición en 148 puestos en PHP (en relación al último mes)
Gráfica de PHP

Consulta Html y php

Publicado por Luis (30 intervenciones) el 14/06/2016 19:23:07
Una consulta creo que estratégica.
Me está costando entender cual es la forma correcta de hacer lo que necesito.
Básicamente :

1) al llamar a la página quisiera tener una query select * para disponer todos los productos para navegar, con la paginación al pie. Esto funciona corrrecto.
2) Necesito la funcionalidad de buscar un producto por su titulo, una query like, tambien con su paginación asi sea 1 producto o varios. Esto funciona pero se me complica con la consulta anterior.

Para que no se mezclen los tantos, que sería lo medianamente correcto, crear una pagina buscador.php que sea llamada por el action del boton Aceptar ? Con mis conocimientos acotados quizás lo lograría, pero a costo de redibujar toda la página y controles nuevamente...
Alguna idea para resolver de forma criteriosa ?
Gracias !!
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
Imágen de perfil de kip
Val: 2.325
Plata
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Consulta Html y php

Publicado por kip (877 intervenciones) el 14/06/2016 19:27:04
Hola Luis, la paginacion que desarrollaste te fuinciona bien? todo se viene abajo cuando usas el buscador?

Saludos
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
Imágen de perfil de Luis
Val: 25
Ha disminuido su posición en 148 puestos en PHP (en relación al último mes)
Gráfica de PHP

Consulta Html y php

Publicado por Luis (30 intervenciones) el 14/06/2016 19:34:02
Hola kip, si, la paginación de toda la tabla funciona perfecto. Cuando incluí el buscador comenzaron los problemas.
Por ejemplo, me muestra los articulos coincidentes, pero me deja la paginación de la consulta general (la del select * ), no queda consistente.
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
Imágen de perfil de kip
Val: 2.325
Plata
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Consulta Html y php

Publicado por kip (877 intervenciones) el 14/06/2016 19:45:12
Bueno, entonces intenta de esta forma:

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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
<?php
include('conexion.php');
session_start();
if (isset($_POST['buscar']) && !empty($_POST['buscar'])) {
    $_SESSION['dato_busq'] = $_POST['buscar'];
    $consulta="select * from productos where nombre LIKE '%" .$_POST['buscar']. "%' order by nombre";
    $result = mysqli_query($con, $consulta);
    $nro_reg = mysqli_num_rows($result);
} else {
    //Al inicio consulta todos los productos y los muestra
    $consulta="select * from productos order by nombre";
    $result = mysqli_query($con, $consulta);
    $nro_reg = mysqli_num_rows($result);
}
 
if ($nro_reg==0) {
    echo 'No hay registros para mostrar !';
}
 
// Cantidad Registros quiero visualizar por pagina
$reg_por_pagina=5;
 
// Variable con el Nº de página actual
$nro_pagina=$_GET['num'];
 
 
// Condicional para saber pagina inicial
if(is_numeric($nro_pagina)) {
    $inicio = ($nro_pagina - 1) * $reg_por_pagina;
}
else {
    $inicio = 0;
}
 
if (isset($_SESSION['dato_busq']) && !empty($_SESSION['dato_busq']) && empty($_POST['buscar'])){
    $consulta=mysqli_query($con,"select * from productos where nombre LIKE '%" .$_SESSION['dato_busq']. "%' order by nombre limit $inicio, $reg_por_pagina");
}else{
    $consulta=mysqli_query($con,"select * from productos order by nombre limit $inicio, $reg_por_pagina");
}
 
// Variable con la cantidad de páginas a mostrar
if ($nro_reg > $reg_por_pagina){
    $canti_paginas=ceil($nro_reg/$reg_por_pagina);}
 
?>
 
<html>
 
<head>
    <link href="css/estilo01.css" rel="stylesheet">
    <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
</head>
 
<body>
<div class="cabecera01">
 
    <div class="cab_1"> Inicio | Nosotros | Contacto </div>
 
    <div class="cab_2"></div>
 
    <div class="cab_3">
        <form id="buscador" name="buscador" method="post" action="">
            <input type="text" name="buscar" id="buscar">
            <input type="submit" name="Aceptar" id="Aceptar" value="Aceptar"> </form>
    </div>
</div>
 
<div class="carrito"><img src="imagen/carrito06.png" widht="60" height="40"</div>
 
<div class="contenedor">
 
    <?php
 
    while ($filas=mysqli_fetch_array($consulta, MYSQLI_ASSOC)) {
        echo mysql_error();
        $id=$filas['id'];
        $imagen=$filas['imagen'];
        $nombre=$filas['nombre'];
        $descripcion=$filas['descripcion'];
        $precio=$filas['precio'];
        $stock=$filas['stock'];
        $fecha=$filas['fecha'];
        ?>
 
        <div class="caja">
            <h2><?php echo $nombre?></h2>
            <img src="<?php echo $imagen?>" widht="100" height="90">
            <p>$ <?php echo $precio?></p>
 
            <form action="detalle.php" method="post" name="detalle">
                <input name="id" type="hidden" value="<?php echo $id ?>" />
                <input class="boton01" type="submit" value="Detalle">
            </form>
        </div>
 
        <?php
    }
 
    ?>
</div>
 
<div class="paginado">
 
    <?php
 
    if ($nro_pagina>1)
        echo "<a href='index.php?num=".($nro_pagina-1) ."' >Anterior</a> ";
 
    for ($i=1;$i<=$canti_paginas;$i++)
    {
        if (empty($nro_pagina))
            $nro_pagina=1;
 
        if ($i==$nro_pagina)
            echo $i." ";
        else
            echo "<a href='index.php?num=". $i ."'>$i</a> ";
    }
 
    if ($nro_pagina<$canti_paginas)
        echo "<a href='index.php?num=". ($nro_pagina+1) ."' >Siguiente</a> ";
    mysqli_close($con);
 
    ?>
 
</div>
 
</body>
</html>

Lo que hice fue modificarlo para que dependiendo si se usa el buscador se ejecute la query correspondiente.

Me cuentas si te funciono, si tiene algun error nos lo comentas.

Saludos
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
Imágen de perfil de Luis
Val: 25
Ha disminuido su posición en 148 puestos en PHP (en relación al último mes)
Gráfica de PHP

Consulta Html y php

Publicado por Luis (30 intervenciones) el 14/06/2016 20:07:21
genial, al principio dio la sensación que funcionaba, pero algo raro ocurre.
Arranca perfecto , cuando hago una busqueda , queda cargado con esa busqueda, por mas que refresque sigue con la consulta buscar
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
Imágen de perfil de Luis
Val: 25
Ha disminuido su posición en 148 puestos en PHP (en relación al último mes)
Gráfica de PHP

Consulta Html y php

Publicado por Luis (30 intervenciones) el 14/06/2016 20:32:39
Hola Kip, buenisima tu ayuda ! Respondí medio rápido, estuve revisando y tratando de entender .
Aparentemente habia un problema en esta linea :

if (isset($_SESSION['dato_busq']) && !empty($_SESSION['dato_busq']) && empty($_POST['buscar'])){

Faltaba la negacion a empty($_POST['buscar'] ( espero sea eso ).

Ahora funciona correctamente, excepto que no me imprime la paginación cuando se consulta por el like, solo eso.
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
Imágen de perfil de kip
Val: 2.325
Plata
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Consulta Html y php

Publicado por kip (877 intervenciones) el 14/06/2016 20:44:35
No entiendo, funciona pero no te muestra la paginacion?

Es decir por ejemplo si buscas algo y te trae 10 resultados, te muestra los 5 resultados que se pueden ver, pero al darle a siguiente en la paginacion no muestra los siguientes que deberia sino que se reinicia la consulta a todos?

Por cierto lo de la negacion, lo veo mal, si no la coloque es porque intente hacere que al dar siguiente se mantengan los resultados de la busqueda anterior, es decir como el ejemplo anterior que coloque se mantengan los 5 resultados mas, pero si se hace una nueva busqueda ya no haga esta consulta porque para poder realizarla debe estar vacia la variable $_POST['buscar'].
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
Imágen de perfil de Luis
Val: 25
Ha disminuido su posición en 148 puestos en PHP (en relación al último mes)
Gráfica de PHP

Consulta Html y php

Publicado por Luis (30 intervenciones) el 14/06/2016 21:17:05
oki, entendí lo que dices, está hecho para conservar el resultado de la anterior consulta.
Disculpa que no entienda a la primera , pero creeme me ayuda muchisimo ver tus correcciones !
El problema es el siguiente . Cuando cargo la pagina hace la query * y todo va bien, incluso pagina correcto.
Cuando realizo una búsqueda, poe ejemplo ingreso venti en el textbox, me muestra el resultado correcto , o sea 3 cajas con productos, pero ahi algo se trastoca, comienza a mostrar incoherencias.
Colgué la pagina de prueba en www.pruebas2016.hol.es , ahi ingreso venti y ocurre el problema.

Antes había algo mal en mi codigo, agregue 2 echos para verificar 2 variables , el condicional no contemplaba si la cantidad de registros era menor a 5:

1
2
3
4
5
6
7
8
// Variable con la cantidad de páginas a mostrar
if ($nro_reg > $reg_por_pagina){
    $canti_paginas=ceil($nro_reg/$reg_por_pagina);}
    else {
    $canti_paginas=1;}
 
    echo $nro_reg . "Registros Totales";
    echo $canti_paginas ."Paginas";
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
Imágen de perfil de kip
Val: 2.325
Plata
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Consulta Html y php

Publicado por kip (877 intervenciones) el 14/06/2016 21:23:52
Ingrese y probe con "venti", me muestra como dices los 3 ventiladores pero no entiendo cual es el error o incoherencia? quizas te refieres a que muestra 2 paginas en los href de paginacion ?
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
Imágen de perfil de Luis
Val: 25
Ha disminuido su posición en 148 puestos en PHP (en relación al último mes)
Gráfica de PHP

Consulta Html y php

Publicado por Luis (30 intervenciones) el 14/06/2016 21:34:27
Si, funciona. El tema es que en la paginacion me sigue mostrando la anterior, o sea, solo debería verse 1 . Por otro lado, al presionar aceptar con el textboxt vacio, antes volvia a la consulta original, ahora es como que se queda en los 3 ventiladores .
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
Imágen de perfil de kip
Val: 2.325
Plata
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Consulta Html y php

Publicado por kip (877 intervenciones) el 14/06/2016 21:45:11
Prueba asi:

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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
<?php
include('conexion.php');
 
$datobusq='';
 
if (isset($_POST['buscar']) && !empty($_POST['buscar'])) {
    $datobusq = $_POST['buscar'];
    $consulta="select * from productos where nombre LIKE '%" .$_POST['buscar']. "%' order by nombre";
    $result = mysqli_query($con, $consulta);
    $nro_reg = mysqli_num_rows($result);
} else {
    //Al inicio consulta todos los productos y los muestra
    $consulta="select * from productos order by nombre";
    $result = mysqli_query($con, $consulta);
    $nro_reg = mysqli_num_rows($result);
}
 
if ($nro_reg==0) {
    echo 'No hay registros para mostrar !';
}
 
// Cantidad Registros quiero visualizar por pagina
$reg_por_pagina=5;
 
// Variable con el Nº de página actual
$nro_pagina=$_GET['num'];
 
 
// Condicional para saber pagina inicial
if(is_numeric($nro_pagina)) {
    $inicio = ($nro_pagina - 1) * $reg_por_pagina;
}
else {
    $inicio = 0;
}
 
    if ($datobusq != ''){
        $consulta=mysqli_query($con,"select * from productos where nombre LIKE '%" .$datobusq. "%' order by nombre limit $inicio, $reg_por_pagina");
    } else {
        $consulta=mysqli_query($con,"select * from productos order by nombre limit $inicio, $reg_por_pagina");
    }
 
// Variable con la cantidad de páginas a mostrar
if ($nro_reg > $reg_por_pagina){
    $canti_paginas=ceil($nro_reg/$reg_por_pagina);}
 
?>
 
<html>
 
<head>
    <link href="css/estilo01.css" rel="stylesheet">
    <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
</head>
 
<body>
<div class="cabecera01">
 
    <div class="cab_1"> Inicio | Nosotros | Contacto </div>
 
    <div class="cab_2"></div>
 
    <div class="cab_3">
        <form id="buscador" name="buscador" method="post" action="">
            <input type="text" name="buscar" id="buscar">
            <input type="submit" name="Aceptar" id="Aceptar" value="Aceptar"> </form>
    </div>
</div>
 
<div class="carrito"><img src="imagen/carrito06.png" widht="60" height="40"</div>
 
<div class="contenedor">
 
    <?php
 
    while ($filas=mysqli_fetch_array($consulta, MYSQLI_ASSOC)) {
        echo mysql_error();
        $id=$filas['id'];
        $imagen=$filas['imagen'];
        $nombre=$filas['nombre'];
        $descripcion=$filas['descripcion'];
        $precio=$filas['precio'];
        $stock=$filas['stock'];
        $fecha=$filas['fecha'];
        ?>
 
        <div class="caja">
            <h2><?php echo $nombre?></h2>
            <img src="<?php echo $imagen?>" widht="100" height="90">
            <p>$ <?php echo $precio?></p>
 
            <form action="detalle.php" method="post" name="detalle">
                <input name="id" type="hidden" value="<?php echo $id ?>" />
                <input class="boton01" type="submit" value="Detalle">
            </form>
        </div>
 
        <?php
    }
 
    ?>
</div>
 
<div class="paginado">
 
    <?php
 
    if ($nro_pagina>1)
        echo "<a href='index.php?num=".($nro_pagina-1) ."' >Anterior</a> ";
 
    for ($i=1;$i<=$canti_paginas;$i++)
    {
        if (empty($nro_pagina))
            $nro_pagina=1;
 
        if ($i==$nro_pagina)
            echo $i." ";
        else
            echo "<a href='index.php?num=". $i ."'>$i</a> ";
    }
 
    if ($nro_pagina<$canti_paginas)
        echo "<a href='index.php?num=". ($nro_pagina+1) ."' >Siguiente</a> ";
    mysqli_close($con);
 
    ?>
 
</div>
 
</body>
</html>

Me avisas que error te muestra y si te funciona
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Luis
Val: 25
Ha disminuido su posición en 148 puestos en PHP (en relación al último mes)
Gráfica de PHP

Consulta Html y php

Publicado por Luis (30 intervenciones) el 14/06/2016 21:53:31
Excelente ! ahí va perfecto ! Maestro muchas gracias !! Estaré estudiando las correcciones a ver si entiendo que ocurría !
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
Imágen de perfil de kip
Val: 2.325
Plata
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Consulta Html y php

Publicado por kip (877 intervenciones) el 14/06/2016 22:11:03
Lo que sucede es que use las variables de session para mantener la busqueda, pero al parecer no resulto porque la estructura de tu paginacion no se complemento, asi que simplemente ahora use una variable para la busqueda y paginacion de la misma.

Cabe recalcar que si por ejemplo son mas de 5 resultados y al darle siguiente para ver los demas en la siguiente pagina, no te los va a mostrar, ya que la variable que almacena la busqueda al darle siguiente dejara de existir.
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
Imágen de perfil de Luis
Val: 25
Ha disminuido su posición en 148 puestos en PHP (en relación al último mes)
Gráfica de PHP

Consulta Html y php

Publicado por Luis (30 intervenciones) el 14/06/2016 23:25:18
ups pensé que ya iba bien. Usualmente, este tipo de cuestiones, se hace con un archivo buscador.php aparte, o se programa de otro modo ?
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
Imágen de perfil de Luis
Val: 25
Ha disminuido su posición en 148 puestos en PHP (en relación al último mes)
Gráfica de PHP

Consulta Html y php

Publicado por Luis (30 intervenciones) el 15/06/2016 20:17:37
Kip, primeramente muchas gracias ! Excelente tu ayuda .
Despues de probar , llenando de echos el código para revisar cada variable comencé a entender el problema, y es tal cual me explicaste.Me apresuré y me faltó realizar las pruebas antes de volver a postear ... , y si ...
No se me ocurre como resolverlo, está bien complejo, gracias de todos modos !
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