Foros del Web » Programando para Internet » PHP »

AYUDA!!! Codigo y error en Paginacion BD

Estas en el tema de AYUDA!!! Codigo y error en Paginacion BD en el foro de PHP en Foros del Web. A ver si alguien me ayuda... Estoy intentando implementar una paginacion de resultados en php. Pero utilizando un codigo que modifique con mis datos recibo ...
  #1 (permalink)  
Antiguo 15/01/2004, 04:53
Avatar de flavia  
Fecha de Ingreso: noviembre-2002
Mensajes: 269
Antigüedad: 15 años
Puntos: 0
Exclamación AYUDA!!! Codigo y error en Paginacion BD

A ver si alguien me ayuda... Estoy intentando implementar una paginacion de resultados en php.
Pero utilizando un codigo que modifique con mis datos recibo el siguiente error:

Warning: Supplied argument is not a valid MySQL result resource in /home/mhd-12/www.geogramma.it/htdocs/busqueda/busqueda5.php on line 35

Warning: Supplied argument is not a valid MySQL result resource in /home/mhd-12/www.geogramma.it/htdocs/busqueda/busqueda5.php on line 39

El codigo es :

Código PHP:
<?php
//Conexión a la Base de datos,

$dbaddress="sql.xx.it";

/* Login e password */

$login="xxxx"
$password="passw";
$dbname="base";

if(!(
$conn=mysql_connect($dbaddress$login$password)))
{echo 
"Falla en conexion";}

//$num es una variable con el número de página que nos pasa esta misma 
//página cuando pulsamos sobre los links de los nº de página.
//Si $num está vacio significa que es la primera vez que entramos en 
//la página y le asignamos un 0. 
IF ($num>0) { $n=$num;} ELSE { $n=0; } 
//Contar cuantos registros hay 
$conta="SELECT ID FROM RIVENDITORI "
$result2=mysql_query($conta,$conn); 
$quants=mysql_num_rows($result2); 
//Buscar 15 registros 
$sql="SELECT * FROM RIVENDITORI ORDER BY ID DESC LIMIT ".$n.", 15 "
$result=mysql_query($sql,$conn); 
if (
$row=mysql_fetch_array($result)) 
{   
   echo 
"<TABLE BORDER='0'>";   
   DO   
   { 
     echo 
"<TR><TD>".$row["documento"]."</TD> </TR>";   
   } 
   WHILE (
$row=mysql_fetch_array($result));   
   
   echo 
"</TABLE>"

//PAGINACIÓN 
echo "<HR><TABLE BORDER='0' ALIGN='center' WIDTH='95%'><TR>";
//Muestra por pantalla el número total de artículos encontrados 
echo "<TD ALIGN='left'> Encontrados ".$quants." artículos </TD>"
echo
"<TD ALIGN='RIGHT'>"
echo 
"<FONT FACE='Arial' SIZE='-1' COLOR='#336699'>Páginas: </FONT>";
//Mientras $i no sea igual o superior al total encontrado se 
//incrementa de 15 en 15. $i representa el identificador en 
//la Tabla del número de registro que se buscará en el siguiente Select.
//$a es el número de págians encontrado. 
FOR ($i=0$i$quants$i=$i+15
{    
    
$a=$a+1//Incrementamos el número de página  
    //Si $n (número de registro donde empieza la busqueda actual actual) 
    //es igual a $i se marca en negrita para resaltar la página en la que estamos.    
    
IF ($n==$i)    
    {     
 
//Ponemos el link a la misma página peró con un número de registro cada vez diferente 
        
echo "<A HREF='busqueda5.php?num=".$i."'>[<B>".$a."< /B>] </A> "
    }    
    ELSE
    { 
        echo 
"<A HREF='busqueda5.php?num=".$i."'>' [".$a."]</A> ";    
    } 

echo 
"</TD></TR></TABLE>"
?>
Y las dos lineas del error son:

39- $quants=mysql_num_rows($result2);

43- if ($row=mysql_fetch_array($result))


En otro ejemplo que habia probado utilice esa funcion "mysql_num_rows" y funciono perfecto.... por que ahora no?

GRACIAS!!!!
__________________
Flavia.
  #2 (permalink)  
Antiguo 15/01/2004, 05:55
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 6 meses
Puntos: 16
Hola,

Esos errores significan que el valor que has pasado como parametro a la funcion no es valido. Es decir, que el valor de $result y $result2 no son validos como id de resultado de MySQL. Eso se produce porque su mysql_query() correspondiente ha devuelto false, que quiere decir que se produjo un error en MySQL al intentar ejecutar la consulta. Para ver el mensaje de error de MySQl debes usar la funcion mysql_error() (www.php.net/mysql_error), por ejemplo:
Código PHP:
$result2=mysql_query($conta,$conn) or die("Error $conta <br>MySQL dice: ".mysql_error()); 
Con esta linea, si se produce un error en MySQL (mysql_query() devuelve falso), se para la ejecucion del script y te muestra el mensaje del error de MySQL.

Es aconsejable usar mysql_error() para todas las consultas en el periodo de desarrollo.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 15/01/2004, 08:25
Avatar de flavia  
Fecha de Ingreso: noviembre-2002
Mensajes: 269
Antigüedad: 15 años
Puntos: 0
Sonrisa Muchas GRacias Josemi!

Muy buen dato!
Saludos.
__________________
Flavia.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:38.