Solucionado!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Nuevamente gracias a tod@s (y en especial a derkenuke, sin cuya colaboración jamás podría haber llegado a resolverlo) por vuestra desinteresada ayuda.
Les dejo aquí el código en una página q funciona. Si quieren más datos sobre la tabla o cualquier cosa, posteen y encantado se los comentaré (a ver si aunque sea x una vez soy yo quién resuelve las dudas d otro y lo ayuda
)
Código PHP:
<?php virtual('/Connections/base.php'); ?>
<?php
$colnamel_sin_zona = "1";
if (isset($_GET['loc'] )) {
$colnamel_sin_zona = (get_magic_quotes_gpc()) ? $_GET['loc'] : addslashes($_GET['loc'] );
}
$colnamebg_sin_zona = "1";
if (isset($_GET['bg'])) {
$colnamebg_sin_zona = (get_magic_quotes_gpc()) ? $_GET['bg'] : addslashes($_GET['bg']);
}
mysql_select_db($database_base, $base);
$query_sin_zona = sprintf("SELECT * FROM clientes WHERE info like '%%%s%%' AND localidad like '%%%s%%' ", $colnamebg_sin_zona,$colnamel_sin_zona);
$sin_zona = mysql_query($query_sin_zona, $base) or die(mysql_error());
$row_sin_zona = mysql_fetch_assoc($sin_zona);
$totalRows_sin_zona = mysql_num_rows($sin_zona);
$colnamez_con_zona = "1";
if (isset($_GET['zona'] )) {
$colnamez_con_zona = (get_magic_quotes_gpc()) ? $_GET['zona'] : addslashes($_GET['zona'] );
}
$colnamel_con_zona = "1";
if (isset($_GET['loc'] )) {
$colnamel_con_zona = (get_magic_quotes_gpc()) ? $_GET['loc'] : addslashes($_GET['loc'] );
}
$colnamebg_con_zona = "1";
if (isset($_GET['bg'])) {
$colnamebg_con_zona = (get_magic_quotes_gpc()) ? $_GET['bg'] : addslashes($_GET['bg']);
}
mysql_select_db($database_base, $base);
$query_con_zona = sprintf("SELECT * FROM clientes WHERE info like '%%%s%%' AND localidad like '%%%s%%' AND zona like '%%%s%%'", $colnamebg_con_zona,$colnamel_con_zona,$colnamez_con_zona);
$con_zona = mysql_query($query_con_zona, $base) or die(mysql_error());
$row_con_zona = mysql_fetch_assoc($con_zona);
$totalRows_con_zona = mysql_num_rows($con_zona);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es" lang="es">
<head>
<meta http-equiv="Content-type" content="text/html;charset=iso-8859-1" />
<meta name="Author" content="derkeNuke y una pequena aportacion d pcadict0" />
<title>combobox</title>
<style type="text/css">
</style>
</head>
<body>
<form name="frm" method="GET" action="/combobox_definitivo.php">
<select name="loc" title="<?php echo $row_sin_zona['localidad']; ?>" onchange="cambiar(this.form.zona)">
<option value="%%" <?php if (!(strcmp("%%", $_GET['loc']))) {echo "selected=\"selected\"";} ?>>Cualquier ubicación</option>
<option value="Agaete" <?php if (!(strcmp("Agaete", $_GET['loc']))) {echo "selected=\"selected\"";} ?>>Agaete</option>
<option value="Aguimes" <?php if (!(strcmp("Aguimes", $_GET['loc']))) {echo "selected=\"selected\"";} ?>>Aguimes</option>
</select>
<?php if($_GET['loc'] == 'Agaete') { ?>
<select name="zona" style="visibility: visible;">
<option value="%%" <?php if (!(strcmp("%%", $_GET['zona']))) {echo "selected=\"selected\"";} ?>>Cualquier ubicación</option>
<option value="(Puerto de Las Nieves)" <?php if (!(strcmp("(Puerto de Las Nieves)", $_GET['zona']))) {echo "selected=\"selected\"";} ?>>Puerto de Las Nieves</option>
<option value="(Valle de Agaete)" <?php if (!(strcmp("(Valle de Agaete)", $_GET['zona']))) {echo "selected=\"selected\"";} ?>>Valle de Agaete</option>
</select>
<?php } ?>
<?php if($_GET['loc'] == 'Aguimes') { ?>
<select name="zona" style="visibility: visible;">
<option value="%%" <?php if (!(strcmp("%%", $_GET['zona']))) {echo "selected=\"selected\"";} ?>>Cualquier ubicación</option>
<option value="(Villa de Agüimes)" <?php if (!(strcmp("(Villa de Agüimes)", $_GET['zona']))) {echo "selected=\"selected\"";} ?>>Villa de Agüimes</option>
<option value="(Cruce de Arinaga)" <?php if (!(strcmp("(Cruce de Arinaga)", $_GET['zona']))) {echo "selected=\"selected\"";} ?>>Cruce de Arinaga</option>
<option value="(Playa de Arinaga)" <?php if (!(strcmp("(Playa de Arinaga)", $_GET['zona']))) {echo "selected=\"selected\"";} ?>>Playa de Arinaga</option>
<option value="(Polígono industrial de Arinaga)" <?php if (!(strcmp("(Polígono industrial de Arinaga)", $_GET['zona']))) {echo "selected=\"selected\"";} ?>>Polígono industrial de Arinaga</option>
</select>
<?php } ?>
<?php if($_GET['loc'] == '%%') { ?>
<select name="zona" style="visibility: hidden;">
<option value="%%" <?php if (!(strcmp("%%", $_GET['zona']))) {echo "selected=\"selected\"";} ?>>Cualquier ubicación</option>
</select>
<?php } ?>
<label>
<input name="bg" type="text" id="bg" />
</label>
<input type="submit" name="Submit" value="Enviar" />
</form>
<script type="text/javascript">
<!--
function addOpt(oCntrl, iPos, sTxt, sVal){
var selOpcion=new Option(sTxt, sVal);
eval(oCntrl.options[iPos]=selOpcion);
}
function cambiar(oCntrl){
while (oCntrl.length) oCntrl.remove(0);
oCntrl.style.visibility="visible";
switch (document.frm.loc.selectedIndex){
case 0:
addOpt(oCntrl.style.visibility="hidden", 0, "","AAA");
break;
case 1:
addOpt(oCntrl, 0, "Cualquier ubicación", "%%");
addOpt(oCntrl, 1, "Puerto de las Nieves", "(Puerto de Las Nieves)");
addOpt(oCntrl, 2, "Valle de Agaete", "(Valle de Agaete)");
break;
case 2:
addOpt(oCntrl, 0, "Cualquier ubicación", "%%");
addOpt(oCntrl, 1, "Villa de Agüimes", "(Villa de Agüimes)");
addOpt(oCntrl, 2, "Cruce de Arinaga", "(Cruce de Arinaga)");
addOpt(oCntrl, 3, "Playa de Arinaga", "(Playa de Arinaga)");
addOpt(oCntrl, 4, "Polígono industrial de Arinaga", "(Polígono industrial de Arinaga)");
break;
}
}
// -->
</script>
<?php if($_GET['zona'] == '') { ?>
<?php do { ?>
<table width="100%" border="3" cellspacing="0" cellpadding="0">
<tr>
<td valign="top"><p> </p>
<p></p></td>
<td valign="top"><?php echo $row_sin_zona['localidad']; ?><?php echo $row_sin_zona['zona']; ?></td>
<td valign="top"><?php echo $row_sin_zona['info']; ?></td>
</tr>
</table>
<?php } while ($row_sin_zona = mysql_fetch_assoc($sin_zona)); ?>
<?php } ?>
<?php if($_GET['zona'] != '') { ?>
<?php do { ?>
<table width="100%" border="3" cellspacing="0" cellpadding="0">
<tr>
<td valign="top"><p> </p>
<p></p></td>
<td valign="top"><?php echo $row_con_zona['localidad']; ?><?php echo $row_con_zona['zona']; ?></td>
<td valign="top"><?php echo $row_con_zona['info']; ?></td>
</tr>
</table>
<?php } while ($row_con_zona = mysql_fetch_assoc($con_zona)); ?>
<?php } ?>
<?php if($_GET['zona'] == '') { ?>
zona
<?php } ?>
<?php if($_GET['zona'] != '') { ?>
zona2
<?php } ?>
</p>
</body>
<?php
mysql_free_result($sin_zona);
mysql_free_result($con_zona);
?>
</html>
Les paso a explicar lo más importante:
Dado q no sabía cómo hacer para q pasase el valor del campo "zona" cuando ésta no se mostraba (pues no había ninguna correspondencia del campo "loc", q es el responsable de las opciones del campo "zona"); lo q he hecho es poner 2 juegos d registros, uno para el caso d q exista un valor d URL llamado "zona"; y otro juego d registros para el otro caso: cuando no exista nada llamado "zona" en la URL. Es una solución extremadamente "cutre", pero q resuelve sin necesidad d grandes conocimientos este tipo d problemas, q seguro q otras personas también se habrán encontrado.
Gracias otra vez a tod@s x hacer d estas páginas lo q son en la actualidad.
Salu2