hola como estan amigos. Compre un libro de php y traía un disco del autor y tenia una aplicación para hacer paginación pero esta echo con la extensión mysql lo e tratado de modificarlo a mudarlo ya con extensión mysqli pero tengo un fallo
archivo conexion.php todo bien.
Código PHP:
<?php
/*
* Retorna el enlace de la conexión con el servidor.
* Si existe error en la conexión retorna FALSE.
* A través del parametro $msg retorna el mensaje de error.
*/
function fnConnect( &$msg){
$cn=mysqli_connect("localhost","root","mipass","paginacion");
if( !$cn ){
echo "Error en la conexión";
}
}
/*
* Imprime una cadena, similar a echo().
*/
function say($cad){
echo $cad . "\n";
}
/*
* Construye un mensaje en una tabla, le debemos
* pasar el titulo y el mensaje.
*/
function fnShowMsg($title,$msg){
say("<table width='250'>");
say("<tr>");
say("<th align=center valign=middle>$title</th>");
say("</tr>");
say("<tr>");
say("<td align=left valign=middle>$msg</td>");
say("</tr>");
say("</table>");
}
/*
* Construye un enlace utilizando la etiqueta A.
*/
function fnLink($link,$target,$msg){
$cad = "<A href='$link' target='$target'>$msg</A>";
return $cad;
}
?>
ARCHIVO EN DONDE SE EJECUTA LA PAGINACION
al ejecutarlo dice que tengo un error en la linea 14 e comentado los cambios.
Código PHP:
<?php
require( "conexion.php" );
// Parámetros de Paginación
$pagesize = 5; // Tamaño de la página
$pageno = 1; // Página por defecto
// Verificar si se está consultando una página en particular
if( isset($_GET["pageno"]) ) {
$pageno = $_GET["pageno"];
}
// Conexión con la base de datos
$cn = fnConnect( $msg );
// Determinando el número de páginas
$sql = "select count(*) from registros ";
$rs = $cn->query($sql); //ANTES ERA ASI: $rs = mysql_query( $sql, $cn );
$rows = mysqli_result( $rs, 0, 0 ); //Aqui le agregue la i a mysql_result
$pages = ceil( $rows / $pagesize ); // Cantidad de paginas
// Obteniendo los registros a mostrar
$dezp = ($pageno - 1) * $pagesize;
$sql = "select id, nombre, apellido ";
$sql .= "from registros limit $dezp, $pagesize";
$listado = $cn->query($sql); //ANTES ERA ASI : mysql_query( $sql, $cn );
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<link rel="stylesheet" href="estilo.css" type="text/css"/>
<title>Consulta de Empleados</title>
</head>
<body>
<h1>Paginación</h1>
<h2>Listado de Empleados</h2>
<p>Páginas:
<?php
for( $i = 1; $i <= $pages; $i++ ) {
if($i != $pageno) {
$link = fnLink("ejm07.php?pageno=$i", "", "$i");
} else {
$link = $i;
}
say( "$link " );
}
?>
</p>
<table width="561" border='1'>
<tr>
<th width="72">id</th>
<th width="130">nombre</th>
<th width="130">apellido</th>
</tr>
<?php while( $rec = mysqli_fetch_assoc($listado) ) {
/*ANTES ERA mysql_fetch_assoc LE agregue la i a esta función para traer los registros*/
?>
<tr>
<td><?php echo( $rec["id"] ) ?></td>
<td><?php echo( $rec["nombre"] ) ?></td>
<td><?php echo( $rec["apellido"] ) ?></td>
</tr>
<?php } ?>
</table>
</body>
</html>
Al ejecutar la paginación me lanza este error:
Fatal error: Call to a member function query() on a non-object in C:\xampp\htdocs\www\php\basico\16_MySQL\3_paginaci on\ejm07.php on line 14
no logro solucionarlo alguna sugerencia gracias compañeros.