Ya solucioné lo de los filtros, peor ahora tengo otro problema relacionado, pongo la solución a lo anterior y el problema nuevo. Lo de los filtros se soluciona d la siguiente manera, por ejemplo el filtro color:
Código PHP:
Ver original//Color
if (isset ($_POST['ColorInput'])) { $ColorInput = $_POST['ColorInput'];
if ($ColorInput !=''){
if($DataFilter!="") {
$DataFilter .= " AND ";
}
$DataFilter .= "Body_colorgroup_id = " . $ColorInput ." ";
}
} else {
$ColorInput = '';
}
Esta parte de código comprueba si el color existe y lo compara con la base de datos y esta otra lo recoge y muestra por pantalla:
Código PHP:
Ver original<label for="ColorInput"><?php echo $arrMainPage[$MainPageColor]["TextHeader"]; ?></label>
<select name="ColorInput">
<option></option>
<?php
$rcscolor = $cardata->query($qrycolor);
while ($row = $rcscolor->fetch_array(MYSQLI_BOTH)) {
if ($row["body_colorgroup_id"] == $ColorInput) {
$ColorSelected = "selected";
} else {
$ColorSelected = "";
}
?><Option <?php echo $ColorSelected; ?> value="<?php echo $row["body_colorgroup_id"]; ?>"><?php echo $row["colorDescription"]; ?></option>
<?php
}
echo "</select>"
?>
</select>
Ahora para algunos filtros, para hacerlo más bonito, he intentado meterles formas, en vez de un simple select. Por ejemplo para el color he creado una tabla de colores, con la idea d q el usuario pinche en el color q desea, en teoría tiene el mismo comportamiento q un select pero se muestra ahora en una tabla:
Código PHP:
Ver original<label for="ColorInput"><?php echo $arrMainPage[$MainPageColor]["TextHeader"]; ?></label>
<table name="ColorInput" id="ColorsTable" border="1" >
<?php
$arrcolorDescription = array();
$rcscolor = $cardata->query($qrycolor);
while ($row = $rcscolor->fetch_array(MYSQLI_BOTH)) {
switch ($row["StructurePK"]) {
case 'Color';
$arrColor[] = $row;
break;
}
if ($row["body_colorgroup_id"] == $ColorInput) {
$ColorSelected = "selected";
} else {
$ColorSelected = "";
}
?>
<?php
}
?>
<tr>
<?php
$intCount = 1;
$intHalf = count($arrColor)/2;
foreach ($arrColor as $Color => $valueArray){
?> <td name="ColorInput" <?php echo $ColorSelected; ?> value="<?php echo $row["body_colorgroup_id"]; ?>" class="<?php echo $valueArray["ClassColor"]; ?>" title="<?php echo $valueArray["colorDescription"]; ?>"></td>
<?php
if ($intCount >= $intHalf) {
?>
</tr>
<tr>
<?php $intHalf = $intHalf*2;
}
$intCount++;
}
?> </tr>
</table>
Pero no me recoge el valor cuando pincho en un color, la parte del isset y el POST no la he cambiado, no sé si tengo q modificar algo más, si alguien ve algo?
Muchas gracias!!