PHP:¿Cómo puedo crear un sistema prev and next con manejo de errores?
De Foros del Web
La clave se encuentra en un comando de sql.
Creador: Abdel Rahman.
Script:
Código PHP:
<? /* Ruta donde se encuentra el archivo que contiene la dirección de email a donde se reportarán errores si estos suceden */ $rutaemail = "email.php"; include($rutaemail); /* Ruta donde se encuentra el archivo donde se realiza la conexión a la base de datos */ $rutadeacceso = "usuario.php"; include($rutadeacceso); $basededatos = "nombredelabasededatos"; // Nombre de la Base de Datos if ($resultadoconnect != 0) { $resultadoselectdb = @mysql_select_db("$basededatos", $vinculo); if ($resultadoselectdb != 0) { $numero = 10; // Número de resultados listados, si se quieren ver 20 resultados sólo se cambia el valor de 10 a 20. if ( $v_next == 0) $v_next = 0; $tabla = "nombredelatabla"; $elcampo = "nombredelcampo"; $sql = "select * from $tabla where $elcampo like '%$palabraclave%' LIMIT ".$v_next.",".$numero.""; // $palabraclave es la variable que recibe. $resultadoquery= @mysql_query($sql); if ($resultadoquery != 0) { if ($fila = @mysql_fetch_array($resultadoquery)) { echo "<html><body>"; echo "<table border='1' align='left' cellspacing='2' cellpadding='2'>"; echo "<tr><td><b>Resultados</b></td></tr>"; do { echo "<tr><td>"; echo $fila["nombredelcampo"]; // Campo de la tabla que se quiere mostrar. echo "<td></tr>"; $v_next++; } while($fila = @mysql_fetch_array($resultadoquery)); $sql2 = "select count(*) num_reg from $tabla where $elcampo like '%$palabraclave%'"; // Averiguate para que sirve el count(*). $resultadoquery2=@mysql_query($sql2); $fila2 = @mysql_fetch_array($resultadoquery2); $num_reg = $fila2["num_reg"]; $num_pag = $num_reg/$numero; $j = 1; $v_next = 0; echo "<tr><td> </td></tr>"; echo "<tr><td>Número de Resultados: <b>$num_reg</b></td></tr>"; echo "<tr><td> </td></tr>"; echo "<tr><td>"; for ($i=0; $i<$num_pag; $i++) { echo " | <a href=$PHP_SELF?v_next=".$v_next."&palabraclave=".$palabraclave.">".$j."</a>"; $j++; $v_next += $numero; } echo "</td></tr>"; echo "</table>"; @mysql_free_result($resultadoquery); } else { echo "<p align='center'>No se encontraron registros</p>"; } } else { echo "<p align='center'>Ha ocurrido un error!, Falló operación SQL</p>"; // Reportar al webmaster del error error_log("Ha ocurrido un error!\n\nFalló operación SQL en la tabla: $tabla, base de datos: $basededatos.\nScript: nombredelscript.php", 1, "$email"); } } else { echo "<p align='center'>Ha ocurrido un error!, Falló la selección de la base de datos</p>"; // Reportar al webmaster del error. error_log("Ha ocurrido un error!\n\nFalló la selección de la base de datos: $basededatos.\nScript: nombredelscript.php", 1, "$email"); @mysql_close($vinculo); } } else { echo "<p align='center'>Ha ocurrido un error!, Falló la conexión a la base de datos</p>"; // Reportar al webmaster del error. error_log("Ha ocurrido un error!\n\nFalló la conexión a la base de datos: $basededatos.\nScript: usuario.php", 1, "$email"); } echo "</body></html>"; ?>
Contenido del archivo email.php
Código PHP:
<? $email = "cuentadecorreo@elservidor.algo"; ?>
Contenido del archivo usuario.php
Código PHP:
<? // Nombre de host $host = "localhost"; // Nombre del Usario $usuario = "nombredelusuario"; // Clave de Acceso del Usuario $clave = "clavedelusuario"; $vinculo = @mysql_pconnect ("$host", "$usuario", "$clave"); if ($vinculo != 0) { $resultadoconnect = 1; } else { $resultadoconnect = 0; } ?>
--abdel rahman 30 Jul 2003
Este artículo es parte de las FAQs de PHP y el Manual de PHP
- Indice de las FAQs: Conceptos, Configuración, Formularios, Manejo de Archivos, Integración con Bases de Datos, Sesiones, Extensiones y Librerías, Seguridad, Funciones, Clases y Objetos, Frameworks
- Agregar al FAQ: PHP: Instrucciones para agregar una pregunta al FAQ de PHP
- Regresar al Foro de Php
