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ó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]..."