Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/02/2007, 05:44
Nexus_
 
Fecha de Ingreso: noviembre-2006
Mensajes: 146
Antigüedad: 17 años, 5 meses
Puntos: 1
Paginación Vs Strings

Buenas!
He programado un buscador para una db MySQL que recibe los datos desde un formulario en forma de strings. El problema viene cuando intento paginar los resultados, ya que no se como pasarle los argumentos de forma correcta.
El código es bastante cutre pero funciona bien. Seguro que habrá alguna manera más "correcta" de hacerlo.
Os pongo el código resumido a ver si me podeis echar una mano.

Formulario con selección múltiple
Código HTML:
<form  name="form" action="buscar.php" method="post">
<input type="checkbox" name="mode[]" value="*" checked>Todo</td>
<input type="checkbox" name="mode[]" value="admin">Administrador</td>
<input type="checkbox" name="mode[]" value="normal">Normal</td>
<input type="checkbox" name="mode[]" value="guest">Invitado</td>
<input name="buscar" type="submit" class="texto" value="Buscar" />
</form> 
Lectura del string
Código PHP:
if (isset($buscar)) {

    if (
$mode[0]=="*")
        
$qmode="modo!= '*'";
    else {
        for (
$i=0;$mode[$i]!="";$i++) {
            if (
$i==0)
                
$qmode="modo = '".$qmode.$mode[$i]."'";
            else 
                
$qmode=$qmode.$mode[$i]."'";
            if (
$mode[$i+1]!="")
                
$qmode=$qmode." OR modo = '";
        }
    }

esta parte lee el string y guarda en $qmode todos los valores:
$qmode="modo=$mode[0] OR modo=$mode[1]..." para el query

El problema viene al hacer la paginación, ya que no puedo poner buscar.php?pagina=".($pagina+1)."&modo='admin' OR modo='guest'"

he probado a hacer un str_replace cambiando los espacios por "%" y los "=" por "." para el link de la paginación y viceversa antes de hacer el query para la siguiente página pero no funciona.
Me parece que me estoy haciendo la picha un lío y hay alguna manera mejor (y más fácil) de hacerlo