Recibe mis cordiales saludos, te dire que para hacer lo que deseas primero debes crear una Tabla paginas donde tendra los siguientes campos id, categoria, subcategoria,nombre y descripcion y footo si deseas, de esta manera cuando tu vez que los combos son utilizados lo unico que se hace con cada uno es ir construyendo la sentencia a ejecutar, ademas esta tabla debera tener un indice FULL TEXT (
http://www.mysql.com/doc/en/Fulltext_Search.html,
http://www.fabio.com.ar/verpost.php?id_noticia=959) para los campos nombres y descripcion, que te permite relizar busquedas mas optimas que con LIKE, para construir la sentencia sera asi:
$query="SELECT *, MATCH(titulo, cuerpo) AGAINST ('Paleta') as Score FROM paginas WHERE";
if ($_POST['combo_categoria']<>''){
$query.="categoria ='".$_POST['combo_categoria']." AND ";
} else {
$query.=" ";
}
if ($_POST['combo_subcategoria']<>'') {
$query.="subcategoria ='".$_POST['combo_subcategoria']." AND ";
} else {
$query.=" ";
}
$query.=" MATCH(nombre, descripcion) AGAINST ('".$_POST['busqueda']."') ORDER BY Score DESC";
Hasta aquí ya esta creada la base de datos y la búsqueda, a hora te diré algo tu tienes por ejemplo productos que msotrar si son 10 bien hago 10 páginas, pero imaginate que sean 1000 hacer mil páginas es de locura, para esto php te ayuda creando una página dinámica mira ahora no tengo mucho tiempo para adaptarlo, pero te voy a dar un código donde muestro en una página con productos, esta vendrá a ser la página que te resulto de tu búsqueda ok y otra página donde hago click y me muestra los datos encima de un campo y te mostrara otra página donde tendrás todos los datos de tu
<html>
<body topmargin="0" leftmargin="0" bottommargin="0" rightmargin="0">
<table height="80%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td bgcolor="#50555B">
<form name="producto" action="" method="GET">
<div style="padding-left:15px; padding-top:13px; padding-right:10px; font-size: 12px;">
<?php
//Rellena la tabla con los resultados
require_once('Connections/Sistema.php');
mysql_select_db($database_Sistema,$Sistema);
$consulta = //Aqui pon la consulta generada arriba
$w=1;
echo "<br><table width=350 height=30 border=1 cellpadding=1 cellspacing=0 align=center>";
echo "<tr bgcolor=#0099CC>";
echo "<td align=center><strong>Categoria</strong></td>";
echo "<td align=center><strong>Subcategorias</strong></td>";
echo "<td align=center><strong>Nombre</strong></td>";
//Ademas podrias agregar la descripcion o lo que deses mostrar al cliente para que elija
echo "</tr>";
$ejecutar = mysql_query($consulta, $Sistema) or die(mysql_error());
while ($registro = mysql_fetch_array($ejecutar)){
$color = ($w%2 == 0)?'#666666':'#999999';
echo "<tr>";
for ($j=1; $j < 4; $j++){
if ($j==3) {
echo "<a href=\"dinamico.php?id=$registro[0]\" ><td><b>$registro[$j]</b></td></a>"; //el registro[0] es el id de la tabla
} else {
echo "<td><b>$registro[$j]</b></td>";
}
}
$w++;
}
echo "</table><br>";
?>
</div>
</form>
</td>
</table>
</body>
</html>
Aqui esta dinamico php, aqui vas a mostrar la pagina generada automaticamente, aqui si te pediria que me comentes como te fue porque tengo un codigo ams depurado pero no lo tengo ala mano, si te sirvio comentamelo o sino te envio el codigo en la noche o mañana amas tardar ok:
<?php
$producto = $_GET['id'];
require_once('Connections/Sistema.php');
mysql_select_db($database_Sistema,$Sistema);
$consulta = "SELECT id, categoria, subcategoria, nombre, empaque, descripcion, imagen FROM paginas WHERE id='".$id."';";
$fields = mysql_list_fields("BD",producto, $Sistema);
$columns = mysql_num_fields($fields);
$ejecutar = mysql_query($consulta, $Sistema) or die(mysql_error());
$registro = mysql_fetch_array($ejecutar);
?>
<html>
<body topmargin="0" leftmargin="0" bottommargin="0" rightmargin="0">
<tr>
<?php
$archivo = $registro[$columns-1];
$ruta = "productos/";
$ruta .= $archivo;
$size = getimagesize("$ruta");
$ancho=$size[0];
$alto=$size[1];
?>
<td bgcolor="#50555B"><div align="center" valign="center"><img src="productos/<?php echo $registro[$columns-1]; ?>" width="220" height=150" border="3" align="middle"><br>
<br>
<a href="javascript:;" onClick="MM_openBrWindow('imagen.php?imagen=<?php echo $registro[$columns-1]; ?>','productos','width=<?php echo $ancho; ?>,height=<?php echo $alto; ?>')"><strong>Ampliar</strong></a>
</div></td>
<td bgcolor="#50555B">
<form name="producto" action="" method="GET">
<div style="padding-left:15px; padding-top:13px; padding-right:10px; font-size: 12px;">
<?php
echo "<br><table width=350 height=30 border=1 cellpadding=1 cellspacing=0 align=center>";
for ($s=1; $s < $columns-1; $s++) {
$nombre = mysql_field_name($fields, $s);
echo "<tr bgcolor=#0099CC><td><strong>".strtoupper($nombre)."</strong></td></tr>";
echo "<tr rowspan=\"2\"><td> $registro[$s] <br></br></td></tr>";
}
echo "</table><br>";
?>
</div>
</form>
</td>
</table>
</body>
</html>
<script language="JavaScript">
function MM_openBrWindow(theURL,winName,features) {
window.open(theURL,winName,features);
}
</script>
Aqui va la parte de imagen.php y que es para que el usuario vea la imagen ampliada
<?php $imagen = $_GET['imagen']; ?>
<html>
<body topmargin="0" leftmargin="0" bottommargin="0" rightmargin="0">
<img src="productos/<?php echo $imagen; ?>" >
</body>
</html>
Ok disculpa que no este al 100% implementado pero se que al intentar hacer tus cambios entenderás más el código, un consejo siempre ten tu manual de php a la mano para rebizar la sintaxis de las funciones ok, cualquier consulta avisame nomas y recibiré tus consejos y resolveré tus dudas paisano y también soy de Lima...