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>&nbsp;</td></tr>"; 
                echo "<tr><td>N&uacute;mero de Resultados: <b>$num_reg</b></td></tr>"; 
                echo "<tr><td>&nbsp;</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&oacute; operaci&oacute;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&oacute; la selecci&oacute;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&oacute; la conexi&oacute;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

Herramientas personales