Tema: FAQ's de PHP
Ver Mensaje Individual
  #74 (permalink)  
Antiguo 30/07/2003, 09:50
abdel rahman
 
Fecha de Ingreso: abril-2003
Mensajes: 80
Antigüedad: 21 años, 7 meses
Puntos: 0
Prev and Next

Pregunta: Cómo puedo crear un sistema prev and next con manejo de errores.

Respuesta: 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>";
?>

Cotenido del archivo email.php


Código PHP:

<?

$email 
"[email protected]";

?>

Cotenido 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;
    }

?>

Nota: Este script tiene manejo de errores y presenta los resultados y los números de las páginas, si pueden realizarle mejoras por favor ponerlo nuevamente en este foro.