Ver Mensaje Individual
  #9 (permalink)  
Antiguo 20/02/2007, 06:20
Nexus_
 
Fecha de Ingreso: noviembre-2006
Mensajes: 146
Antigüedad: 18 años, 1 mes
Puntos: 1
Re: Deshabilitar checkboxes con strings

Código HTML:
<form  name="form" action="avanzado_es.php" method="post">
<input type="checkbox" name="mode[]" value="*" checked onclick="checkChoice(document.form, 0)">Todo
<input type="checkbox" name="mode[]" value="venta" onclick="checkChoice(document.form, 1)">Reventa
<input type="checkbox" name="mode[]" value="promocion" onclick="checkChoice(document.form, 2)">Promoci&oacute;n
<input type="checkbox" name="mode[]" value="traspaso" onclick="checkChoice(document.form, 3)">Traspaso

<input name="type[]" type="checkbox" value="*" checked="checked" onclick="checkChoice(document.form, 0)">Todo</td>
<input type="checkbox" name="type[]" value="APARTAMENTO" onclick="checkChoice(document.form, 1)">Apartamento</td>
<input type="checkbox" name="type[]" value="BUNGALOW" onclick="checkChoice(document.form, 2)">Bungalow</td>
<input type="checkbox" name="type[]" value="CASA DE PUEBLO" onclick="checkChoice(document.form, 3)">Casa de Pueblo</td>
<input type="checkbox" name="type[]" value="FINCA" onclick="checkChoice(document.form, 4)">Finca</td>
<input type="checkbox" name="type[]" value="LOCAL EN VENTA" onclick="checkChoice(document.form, 5)"> Local</td>
<input type="checkbox" name="type[]" value="TERRENO" onclick="checkChoice(document.form, 6)">Terreno</td>
<input type="checkbox" name="type[]" value="VILLA" onclick="checkChoice(document.form, 7)">Villa</td>
</form> 
He probado el primer código que puse y funciona pero solo si quito los strings y lo dejo como variable simple, el problema es que necesito que sean strings porque es un formulario de busqueda. Te pongo también el código PHP y el query por si te ayuda.

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 = '";
        }
    }
    
    if (
$type[0]=="*")
        
$qtype="tipo != '*'";
    else {
        for (
$i=0;$type[$i]!="";$i++) {
            if (
$i==0)
                
$qtype="tipo = '".$qtype.$type[$i]."'";
            else 
                
$qtype=$qtype.$type[$i]."'";
            if (
$type[$i+1]!="")
                
$qtype=$qtype." OR tipo = '";
        }
    }
}
$ssql="SELECT * FROM table WHERE $qmode AND $qtype";
$result=mysql_query($ssql$link); 
Gracias!

Edit: te resumo el PHP que ahora que lo miro es un poco lio. Básicamente recorre la cadena y guarda en $qtype y $qmode todos los valores de las cadenas como "mode[0] OR mode[1] OR mode[2]..."

Última edición por Nexus_; 20/02/2007 a las 06:26