Crear tablas desdearreglo pero limite de registros
Tengo un código para crear una tabla desde una base de datos pero quisiera que solamente me muestro los primeros 20 y un hipervínculo que me muestre del 21-40 y así hasta el final de los registros.
Respuesta de moscrates
1
1
moscrates, TSU Redes y Telcomunicaones DJ Profesional Cursos en FreeBSD y...
Creo que te refieres a paginación... Si ese es el caso dime co mo programas para poder ayudar.. Orientado a objetos. O coodigo donde sea y como sea
Bien te paso el código que uso yo, lo hice en un curso de php y mysql que estoy haciendo. <?php mysql_connect('localhost','root','comenzar') or die ("No se pudo establecer la conexion"); mysql_select_db('mibasededatos'); $orden = $_GET[orden]; if ($orden == 'B') $orden= " order by producto DESC"; else $orden= " order by producto "; $resultado = mysql_query("SELECT * FROM productos where producto like '$_POST[filtro]%' $order "); ?> <form name="ff" method="POST" action="productos.php"> <input type="text" name="filtro" value=""> <input type="submit" value="Buscar"> </form> <? echo " <table width=400 border=1> <tr> <td>ID</td> <td>Producto <a href=productos.php?orden=A> << </a> <a href=desc.php?orden=B> >> </a> </td> <td>Precio</td> <td>Eliminar</td> <td>Modificar</td> </tr> "; while($array_datos = mysql_fetch_array($resultado)){ echo " <tr> <td> $array_datos[id] </td> <td> $array_datos[producto] </td> <td> $array_datos[precio]</td> <td><a href=\"eliminar.php?id=$array_datos[id]\" onclick=\"if (!(confirm('borrar?'))) return false;\">Eliminar</a></td> <td><a href=\"modificar.php?id=$array_datos[id]\"onclick=\"if (!(confirm('Modificar?'))) return false;\">Modificar</td> </tr> "; } echo" </table> "; ?>
Creo que con esto se resuelve tu problema Creamos un php con cualquier nombre y le pegamos esto adentro. <html> <body> <?php include('ligas_pag.php'); ///////////////////////////////////////////////////////// $link = mysql_connect("localhost", "root"); mysql_select_db("ciudades", $link); if(isset($_REQUEST['pag'])) $pag =$_REQUEST['pag']; $pag =$_REQUEST['pag']; if (!isset($pag)) { $pag = 1; }// Por defecto, pagina 1 $result = mysql_query("SELECT COUNT(*) FROM provincias", $link); list($total) = mysql_fetch_row($result); $tampag = 5; $reg1 = ($pag-1) * $tampag; $result = mysql_query("SELECT * FROM provincias LIMIT $reg1, $tampag", $link); //$result = mysql_query("SELECT * FROM provincias", $link); if (mysql_num_rows($result)){ echo " <table border = '1'> "; echo " <tr> <td>Provincias</td> <td>id_pais</td> </tr> "; while ($row = @mysql_fetch_array($result)) { echo " <tr> <td>".$row["provincia"]. "</td> <td>".$row["id_pais"]."</td> </tr> "; } echo " </table> "; echo paginar($pag, $total, $tampag, "cliente.php?pag="); } else echo "¡ No se ha encontrado ningún registro !"; ?> </body> </html> Luego cremos otro php el cual nos va adar las ligas..-- llamanmos a este php ligas_pag.php Mirar que estamos utilizando un includeen el php dearriba para llamar este <?php /******************************************************/ /* Funcion paginar * actual: Página actual * total: Total de registros * por_pagina: Registros por pagina * enlace: Texto del enlace * Devuelve un texto que representa la paginacion */ function paginar($actual, $total, $por_pagina, $enlace) { $total_paginas = ceil($total/$por_pagina); $anterior = $actual - 1; $posterior = $actual + 1; if ($actual>1) $texto = '<a href='.$enlace.$anterior.'>«</a> '; else $texto = "<b>«</b> "; for ($i=1; $i<$actual; $i++) $texto .= '<a href='.$enlace.$i.'>'.$i.'</a> '; $texto .= '<b>'.$actual.'</b> '; for ($i=$actual+1; $i<=$total_paginas; $i++) $texto .= '<a href='.$enlace.$i.'>'.$i.'</a> '; if ($actual<$total_paginas) $texto .= '<a href='.$enlace.$posterior.'>»</a>'; else $texto .= "<b>»</b>"; return $texto; } ?>