A continuacion muestro los codigos que ya tengo, y que pueden usarlo de referecia para los aportes... favor, es muy importante.
Formulario de busqueda.html: Código HTML:
<html>
<head>
<title>Buscar Avanzado</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<script type="text/javascript">
function bloqueados(){
document.form1.nombre.disabled = true
document.form1.ciudad.disabled = true
document.form1.edad.disabled = true
}
function bloquea() {
if (document.form1.radio[0].checked) {
document.form1.nombre.disabled = false
document.form1.ciudad.disabled = false
document.form1.edad.disabled = true
document.form1.edad[document.form1.edad.selectedIndex].value=""
}
if (document.form1.radio[1].checked) {
document.form1.nombre.disabled = false
document.form1.edad.disabled = false
document.form1.ciudad.disabled = true
document.form1.ciudad[document.form1.ciudad.selectedIndex].value=""
}
}
</script>
<!--Cargo la funcion que bloquea todos los campos-->
<body onLoad="bloqueados();">
<p>Seleccione una combinación.
<p>Obs: Solo puede elegir una de ellas para filtrar los datos
<form name="form1" method="post" action="mostrarResultados.php">
<table width="558" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>Combinar solo</td>
<td> </td>
<!--llamo la funcion que desbloquea los campos de nombre y ciudad-->
<td><input name="radio" type="radio" value="" onClick="bloquea()">
nombre + ciudad </td>
<td> </td>
<!--llamo la funcion que desbloquea los campos de nombre y edad-->
<td><input name="radio" type="radio" value="" onClick="bloquea()">
Nombre +Edad</td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td bgcolor="#CCCCCC"> </td>
<td bgcolor="#CCCCCC"> </td>
<td bgcolor="#CCCCCC"> </td>
<td bgcolor="#CCCCCC"> </td>
<td bgcolor="#CCCCCC"> </td>
<td> </td>
</tr>
<tr>
<td width="144" bgcolor="#CCCCCC"><span class="style10">Nombre:</span>
<input name="nombre" type="text" id="nombre"></td>
<td width="21" bgcolor="#CCCCCC"> </td>
<td width="187" bgcolor="#CCCCCC">+ Ciudad:
<select name="ciudad" id="ciudad">
<option value="0">-- Seleccione un Ciudad --</option>
<option value="1">Ciudad 1</option>
<option value="2">Ciudad 2</option>
</select></td>
<td width="37" bgcolor="#CCCCCC"> </td>
<td width="158" bgcolor="#CCCCCC">+Edad:
<select name="edad" id="edad">
<option value="0">-- Seleccione edad --</option>
<option value="1">Edad 17</option>
<option value="2">Edad 18</option>
<option value="3">Edad 19</option>
<option value="4">Edad 20</option>
</select></td>
<td width="137"> </td>
</tr>
<tr>
<td bgcolor="#CCCCCC"> </td>
<td bgcolor="#CCCCCC"> </td>
<td bgcolor="#CCCCCC"> </td>
<td bgcolor="#CCCCCC"> </td>
<td bgcolor="#CCCCCC"> </td>
<td> </td>
</tr>
<tr>
<td width="144" bgcolor="#CCCCCC"> </td>
<td width="21" bgcolor="#CCCCCC"> </td>
<td width="187" bgcolor="#CCCCCC"> </td>
<td width="37" bgcolor="#CCCCCC"> </td>
<td width="158" bgcolor="#CCCCCC"><input name="Submit" type="submit" value="encontrar"></td>
<td width="137"> </td>
</tr>
</table>
</form>
</body>
</html>
mostrarResultados.php: Código PHP:
<?
include("conn.php");
//recibo los datos
$nombre=addslashes($_POST["nombre"]);
$ciudad=addslashes($_POST["ciudad"]);
$edad=addslashes($_POST["edad"]);
//asigno otra variable a los datos
$buscar1=$nombre;
$buscar2=$ciudad;
$buscar3=$edad;
$error1="Son necesarios 2 parámetros de busqueda. \n Favor inserte otro parametro de busqueda \n
<a href='javascript:history.go(-1)'>Atrás</a>";
$text="Elementos Buscados : ";
if($buscar1!=""&&$buscar2!="")//si los A y B no estan vacios
{
//genero el filtro
$sqlA=mysql_query("SELECT detalle.* FROM alumnos
INNER JOIN ciudades
ON ciudades.CId = alumnos.AlId
WHERE alumnos.nombreLIKE '$buscar1%'
OR alumnos.ciudad LIKE '$buscar2%'
ORDER BY AlID ", $connection)
or die(mysql_error());
}
else
{
//de lo contrario muestro un mensaje de error definido mas arriba
echo $error1;
}
$num=mysql_num_rows($sqlA);
?>
<html>
<head>
<title>Selector avanzado</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<table width="775" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF">
<tr>
<td><hr size="1" noshade></td>
</tr>
<tr>
<td>
<table width="750" border="0" align="center" cellpadding="2" cellspacing="2">
<tr>
<td align="left">
<?
echo "<div align=right>$text</div>";
echo "<table width=700 border=0 cellpadding=0 cellspacing=0 align=center>\n
<tr>\n
<td> Total coincidencias: $num \n
<td> \n
</tr>\n
<tr> \n";
//aca puedo mostrar sin drama el resultado del al sentencia
//SQL A, pero si tuviera otra sentencia sqlB, como la muestro?
$counter=0;
while($row=mysql_fetch_array($sqlA))
{
$sel=utf8_decode($row['AlId']);
$name=utf8_decode($row['nombre']);
$city=utf8_decode($row['ciudad']);
$year=utf8_decode($row['edad']);
$ap=utf8_decode($row['dpto'])
}
if($counter>=0)
{
echo "<td valign=top>\n
<table width=340 border=0 align=left class=allborder> \n
<tr> \n
<td width=120> Nombre: </td>$name\n
</tr>\n
<tr> \n
<td> Ciudad: </td> $city\n
</tr>\n
<tr> \n
<td> Apartamento: </td> $year\n
</tr>\n
<tr> \n
<td> Edad: </td> $ap\n
</tr>\n
</tr>\n
<tr> \n
<td colspan=2 class=topBorder> <a href=viewdetail.php?sn=$sel>Mas Detalles</a>\n
</tr>\n
</table>\n
</td>\n
";
$counter++;
}
if($counter==2)
{
echo "</tr>\n<tr>\n<td colspn=2> \n</tr>\n<tr>\n";
$counter=0;
}
echo "</table>\n";
?>
</td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>
Se agradece todo aporte, y como dije. y espero se haya entendido..
si alguien conoce otra forma mas sencilla de hacerlo, agradeceria ese aporte tambien,
espero ponerlos a pensar,
al igual que lo estoy yo.. luego comparto como aporte si llego a la solucion..