Ver Mensaje Individual
  #3 (permalink)  
Antiguo 22/09/2009, 00:36
Chemix
 
Fecha de Ingreso: mayo-2003
Mensajes: 92
Antigüedad: 20 años, 11 meses
Puntos: 0
Quizas me exprese mal (cansancio) ... perdon


No necesito los 2 valores,... y de hecho el valor pasa bien tanto con las cats como con las subcats

El tema es que una vez pasa el valor este se recoge según sea el name del elemento select si es catid pues todos los valores tanto las cats como las subcats son catid y viceversa

Necesito algo para determinar que el valor que pasa es catid o es subcatid ya que quiero que las cats se puedan seleccionar y ademas con optgroup no podria, osea solo podria realizar busquedas en las subcats,... de hecho con optgroup lo tengo ahora funcionando correctamente lo que pasa es que quiero que se pueda seleccionar la cat para realizar una búsqueda mas amplia

He probado realmente con todo lo que se isset, empty if, aunque no me gusta probé a manejar 2 formularios en capas con un onClick diferente en cada option pero onlick no chuta en ie


... en fin sigo con el temita y gracias

Solucionado... !

Me diste la idea con explode


Le añado delante del valor catid|o| o bien subcatid|o| ,... despues he metido un pagina intermedia que procesa este variable con explode y defino la url final


Formulario:

Código PHP:
<form name="formulario2" action="procesa_search.php" method="get" onSubmit='return validar2(this)'>

<strong><?php echo $lang['SEARCH_TITLE']; ?></strong><br>

<input type="hidden" name="cityid" value="<?php echo $xcityid?>">
<input type="hidden" name="lang" value="<?php echo $xlang?>">
<input name="search" type="text" value="<?php echo $_GET['search']; ?>" size="37" maxlength="50">


<select name="nombre">
<option value="catid|o|0" <?php if(!$_GET['subcatid'] or !$_GET['catid']) echo "selected"?>><?php echo $lang['ALL_CATEGORIES']; ?></option>
<?php

$sql 
"SELECT catid, catname
        FROM $t_cats
        ORDER BY catname"
;
$res mysql_query($sql);

while (
$row=mysql_fetch_array($res))
{

            echo 
"<option value=\"catid|o|$row[catid]\"";
            
            if (
$_GET['catid'] == $row['catid'])
            {
                echo 
" selected"
                
$cat $row['catname']; 
            }
            echo 
">$row[catname]</option>";



    
$sql "SELECT subcatid, subcatname
            FROM $t_subcats
            WHERE catid = $row[catid]
            ORDER BY subcatname"
;

    
$ress mysql_query($sql);

    if (
mysql_num_rows($ress))
    {

        while (
$s mysql_fetch_array($ress))
        {
            echo 
"<option value=\"subcatid|o|$s[subcatid]\"";
            if (
$_GET['subcatid'] == $s['subcatid'])
            {
                echo 
" selected"
                
$subcat $s['subcatname'];
            }
            echo 
">&middot; $s[subcatname]&nbsp;</option>";
        }

    }
}

?>
</select>

<input type="hidden" name="view" value="ads">

<input type="submit" value="<?php echo $lang['SEARCH']; ?>" name="Buscar">
          
          <br>
<?php echo $lang['ADS_WITH_IMAGES']; ?>: <input name="images_only" type="checkbox" value="1" <?php if ($_GET['images_only']==1){echo 'checked';}?>>
&nbsp;&nbsp;
<?php echo $lang['GLOBAL_SEARCHS']; ?>: <input name="global" type="checkbox" value="yes" <?php if ($_GET['global']=="yes"){echo 'checked';}?>>

</form>

Pagina procesa_search.php

Código PHP:
<?php


$cadena_nombre 
$_GET['nombre'];
$salida explode("|o|"$cadena_nombre);

$nombre $salida[0];
$valor $salida[1];

if (
$_GET['images_only']==1){
header("Location: http://www.MIURL.com/?cityid=$xcityid&search=$_GET[search]&$nombre=$valor&view=ads&Buscar=Buscar&images_only=1");
}

if (
$_GET['global']=="yes"){
header("Location: http://www.MIURL.com/?cityid=$xcityid&search=$_GET[search]&$nombre=$valor&view=ads&Buscar=Buscar&global=yes");

}

if (
$_GET['images_only']==&& $_GET['global']=="yes"){
header("Location: http://www.MIURL.com/?cityid=$xcityid&search=$_GET[search]&$nombre=$valor&view=ads&Buscar=Buscar&images_only=1&global=yes");

}

if (!
$_GET['images_only'] && !$_GET['global']){
header("Location: http://www.MIURL.com/?cityid=$xcityid&search=$_GET[search]&$nombre=$valor&view=ads&Buscar=Buscar");

}

?>

Muchas gracias punknomas

Última edición por GatorV; 22/09/2009 a las 10:00