Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/03/2011, 00:16
Avatar de altex
altex
 
Fecha de Ingreso: septiembre-2008
Ubicación: En mi casa
Mensajes: 47
Antigüedad: 15 años, 8 meses
Puntos: 4
Pregunta Problema con buscador

Buenas a todos,

tengo un problema con un buscador, a ver si me podeis hechar un cable.

A ver si me explico:

Tengo un buscador en php con paginación. El caso es que cuando hago el mysql_num_rows de la consulta, este me devuelve el numero de registros que pone en el máximo de registros a mostrar en la paginación, y no el numero de registros reales que devuelve la consulta, es decir, tengo este codigo:

Código PHP:
$RegistrosAMostrar=2;
$cadbusca="SELECT * FROM $bd.contacto WHERE nombre LIKE '%$busqueda%' OR apellidos LIKE '%$busqueda%' OR email_empresa LIKE '%$busqueda%' LIMIT $RegistrosAEmpezar, $RegistrosAMostrar"
$consulta mysql_query($cadbusca,$conexion) or die(mysql_error());
$filas mysql_num_rows($consulta); 
Si hago esta consulta en el phpmyadmin, me devuelve 3 registros, pero el mysql_num_rows me devuelve solo 2, por lo que la paginación no se hace correctamente.

He probado de hacer lo siguiente:

Código PHP:
$cadbusca="SELECT * FROM $bd.contacto WHERE nombre LIKE '%$busqueda%' OR apellidos LIKE '%$busqueda%' OR email_empresa LIKE '%$busqueda%' LIMIT $RegistrosAEmpezar, $RegistrosAMostrar";
$consulta mysql_query($cadbusca,$conexion) or die(mysql_error());
    
$cadfilas="SELECT count(*) FROM $bd.contacto WHERE nombre LIKE '%$busqueda%' OR apellidos LIKE '%$busqueda%' OR email_empresa LIKE '%$busqueda%'";
echo 
$cadfilas."<br>";
$consulta_filas mysql_query($cadbusca,$conexion) or die(mysql_error());
$filas mysql_num_rows($consulta_filas); 
Es decir, hacer una consulta a parte solo para contar las filas, pero esta me sigue devolviendo solo 2 registros.

El caso es que si la variable $RegistrosAMostrar la pongo a 3, es decir:
Código PHP:
$RegistrosAMostrar=3
Esta me devuelve los 3 registros que encuentra, tal y como debe ser.

Alguien me puede hechar un cable a ver si consigo que el mysql_num_rows me encuentre los datos reales, y no los que contiene la variable $RegistrosAMostrar??

Gracias forosdelweberos