Foros del Web » Programando para Internet » PHP »

Paginación Con dos criterios de Busqueda

Estas en el tema de Paginación Con dos criterios de Busqueda en el foro de PHP en Foros del Web. hola amigos tengo un problema yo cuando realizo una busqueda tengo la opcion de escribir la palabra o de buscarla por medio de la letra ...
  #1 (permalink)  
Antiguo 12/07/2006, 22:09
 
Fecha de Ingreso: junio-2006
Mensajes: 19
Antigüedad: 17 años, 10 meses
Puntos: 0
Paginación Con dos criterios de Busqueda

hola amigos tengo un problema yo cuando realizo una busqueda tengo la opcion de escribir la palabra o de buscarla por medio de la letra inicial. entonces esto me genera dos consultas de busqueda que serian las siguientes:

<?
if(isset($HTTP_GET_VARS['tipo']) && $HTTP_GET_VARS['tipo'] == 1)
{

if(isset($HTTP_GET_VARS['letra']) && $HTTP_GET_VARS['letra'] <> '')
{
$letra = chr($HTTP_GET_VARS['letra']);
$sql_busca_empleado = "SELECT * FROM productos WHERE Desc_producto LIKE '$letra%'";
}
else
{
$criterio = (isset($HTTP_POST_VARS['criterio']))? $HTTP_POST_VARS['criterio'] : '';
$sql_busca_empleado = "SELECT * FROM productos WHERE Desc_producto LIKE '%$criterio%'";
}
$busca_empleado = mysql_query($sql_busca_empleado) or die(mysql_error());
$num = mysql_num_rows($busca_empleado);


Y quiero utilizar el paginator.inc.php pero no se como enviarle la consulta que el usuario utilizo para realizar la busqueda.

No se si me entienten espero que me ayuden.
  #2 (permalink)  
Antiguo 12/07/2006, 23:42
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 6 meses
Puntos: 41
Hola:
Normalmente, Paginator se utiliza de forma casi transparente. Así que no tendrás que hacer muchos cambios en tu código.

- Tu SQL guárdalo en la variable $_pagi_sql.
- Propaga las variables que necesites ('tipo' y 'letra') en el array $_pagi_propagar.
- Utiliza $_REQUEST en lugar de $_GET y $_POST (así harás más sencilla la propagación).
Código PHP:
if(isset($_REQUEST['tipo']) && $_REQUEST['tipo'] == 1){
    if(isset(
$_REQUEST['letra']) && $_REQUEST['letra'] <> ''){
        
$letra chr($_REQUEST['letra']);
        
$sql_busca_empleado "SELECT * FROM productos WHERE Desc_producto LIKE '$letra%'";
    }else{
        
$criterio = (isset($_REQUEST['criterio']))? $_REQUEST['criterio'] : '';
        
$sql_busca_empleado "SELECT * FROM productos WHERE Desc_producto LIKE '%$criterio%'";
    }
    
    
$_pagi_sql $sql_busca_empleado;
    
$_pagi_propagar = array('tipo''letra');
    include(
'paginator.inc.php'); // Esto ya hace el mysql_query() automáticamente.
    // Ya NO debes hacer el mysql_query(). Utiliza directamente la variable $_pagi_result:
    
while($row mysql_fetch_array($_pagi_result)){
    
    
    }
    
    
// Al final (o antes del while) incluyes los enlaces a las distintas páginas.
    
echo"<p>".$_pagi_navegacion."</p>"
Espero que te sirva.

Saludos
  #3 (permalink)  
Antiguo 14/07/2006, 09:30
 
Fecha de Ingreso: junio-2006
Mensajes: 19
Antigüedad: 17 años, 10 meses
Puntos: 0
Hey te agradesco tu ayuda de antemano.

Pero me dio un error a la primer consulta que utilizo la variable $_pagi_result me dice que los argumento de esa consulta no son validos que revise la sintaxis de mi version de Mysql.
Como que esa variable no tuviera el query de la consulta.


aqui me da el error:

$row = mysql_fetch_array($_pagi_result)

Saludos.
  #4 (permalink)  
Antiguo 14/07/2006, 16:40
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 6 meses
Puntos: 41
Es un poco raro eso.
- ¿Tienes el "paginator.inc.php" en la misma carpeta?
- Si es así, agrega la línea:
$_pagi_mostrar_errores = true;
inmediatamente después de $_pagi_propagar y antes del include()
- Utiliza require('paginator.inc.php') en lugar de include('paginator.inc.php').


Al menos con eso, deberíamos tener más mensajes de error.

Saludos
  #5 (permalink)  
Antiguo 26/07/2006, 02:20
Avatar de asinox  
Fecha de Ingreso: enero-2002
Ubicación: Santo Domingo
Mensajes: 2.712
Antigüedad: 22 años, 2 meses
Puntos: 6
hola, a mi igual me da el error en $row = mysql_fetch_array($_pagi_result), me dice que
Código PHP:
Warningmysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:inetpubwwwroot****hospedajesresultado.php on line 77 
y entonces???
__________________
www.dataautos.com
  #6 (permalink)  
Antiguo 26/07/2006, 02:21
Avatar de asinox  
Fecha de Ingreso: enero-2002
Ubicación: Santo Domingo
Mensajes: 2.712
Antigüedad: 22 años, 2 meses
Puntos: 6
igual tambien me da el error con assoc

Saludos
__________________
www.dataautos.com
  #7 (permalink)  
Antiguo 26/07/2006, 08:45
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 6 meses
Puntos: 41
Bueno... si te dice que el $_pagi_result no es un argumento válido, dará lo mismo que utilices cualquier mysq_fetch_***().

Para solucionarlo:
- Asegúrate de tener la última versión de Paginator.
- Fuerza a Paginator a mostrar errores de mysql. Para eso define esta variable antes del include(paginator):
$_pagi_mostrar_errores = true;

Con eso, si no se arregla, al menos podremos saber cuál es el error en la consulta.

Saludos
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 19:21.