Foros del Web » Programando para Internet » PHP »

ayuida con una busqueda a traves de un select multiple

Estas en el tema de ayuida con una busqueda a traves de un select multiple en el foro de PHP en Foros del Web. Holissss Necesito ayuda coin unos arhivos la idea es realizar uan bsuqueda oero atravbes de varios valores de uan tabla, lso cuales obtengo de un ...
  #1 (permalink)  
Antiguo 17/12/2007, 21:08
Avatar de liliancita  
Fecha de Ingreso: diciembre-2007
Mensajes: 189
Antigüedad: 16 años, 4 meses
Puntos: 0
Exclamación ayuida con una busqueda a traves de un select multiple

Holissss

Necesito ayuda coin unos arhivos

la idea es realizar uan bsuqueda oero atravbes de varios valores de uan tabla, lso cuales obtengo de un select multiple.

la consulta en mysql funciona
entonces qria saber como le envio o guardo los valores que selcciono en el select multiple?

les dejo una sintaxis de los codigos


buscar.php
Código PHP:
<td><select name="idHito">
<
option value="1">Recepcion</option>     
<
option value="2">Accion                </option>     
<
option value="3">Actividad</option>
</
select></td>

<
td><select name="table">
<
option value="planificar">Planificar</option>
<
option value="registrar">Registrar</option
<
option value="programar">Programar</option
</
select></td>

<!--
calendarios javascript-->
<
input class="textInputBox" id="inicio" name="fecha1" type="text"  size="10"  readonly="1"
<
input class="textInputBox" id="inicio" name="fecha2" type="text"  size="10"  readonly="1">

<!--
selct multiple-->
<
td><select name="idHito" size="10" multiple>
<
option value="1">Recepcion</option>     
<
option value="2">Accion                </option>     
<
option value="3">Actividad</option>
<
option value="3">trabajo</option>
</
select></td

busqueda.php
Código PHP:
<?if (($tmp1=$_POST['idHito'])&&($tmp4=$_POST['idHito1'])&&($tmp5=$_POST['idHito1'])&&($tmp6=$_POST['idHito1'])&&($tmp2=$_POST['fecha1'])&&($tmp3=$_POST['fecha2'])&&($table1=$_POST['table'])&&($table2=$_POST['table2'])){

  
    
$result=mysql_query("SELECT AB.cod_sitio, $table1.fecha
                        FROM $table1, AB
                        WHERE $table1.fecha
                        BETWEEN '"
.$tmp2."'
                        AND '"
.$tmp3."'
                        AND ab.idab = $table1.idab
                        AND $table1.idhito = '"
.$tmp1."'
                        UNION (
                        
                        SELECT AB.cod_sitio, $table2.fecha
                        FROM $table2, $table1, AB
                        WHERE ab.idab = $table2.idab
                        AND $table2.idhito = '"
.$tmp4."'
                        AND $table2.idhito = '"
.$tmp5."'
                        AND $table2.idhito = '"
.$tmp6."'
                        );"
);
while (
$row=mysql_fetch_array($result)){
 
?>
saluodsss
  #2 (permalink)  
Antiguo 17/12/2007, 21:32
Avatar de lalogrosz  
Fecha de Ingreso: mayo-2002
Ubicación: Capital Federal
Mensajes: 339
Antigüedad: 22 años
Puntos: 6
Re: ayuida con una busqueda a traves de un select multiple

Hola, la idea es que 1ro tus select no se llamen iguales entre si.
La segunda cosa es que en el select multiple el name deberia estar formado por corchetes, por ejemplo name="idHito[]"

Eso hará que cuando se envie el form, recibas idHito como un array.
Por lo que podras hacer un for, o un foreach para recorrer esos datos y armar la consulta a tu gusto.

Saludos.
__________________
"Vivir....solo cuesta Vida"
  #3 (permalink)  
Antiguo 18/12/2007, 08:02
Avatar de liliancita  
Fecha de Ingreso: diciembre-2007
Mensajes: 189
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: ayuida con una busqueda a traves de un select multiple

hola

mira hize lo que me dijiste

pero no estan llegando los valores al otro archivo

:s

Código PHP:
<td><select name="idHito1[]" size="10" multiple
<
option value="1">Recepcion</option>      
<
option value="2">Accion                </option>      
<
option value="3">Actividad</option
<
option value="3">trabajo</option
</
select></td
de esat forma veo si llegan:
print_r($_POST['idHito1'][$i]);

y no me devuelve nada

saludos

Última edición por liliancita; 18/12/2007 a las 08:06 Razón: error en el codigo
  #4 (permalink)  
Antiguo 18/12/2007, 08:05
Avatar de lalogrosz  
Fecha de Ingreso: mayo-2002
Ubicación: Capital Federal
Mensajes: 339
Antigüedad: 22 años
Puntos: 6
Re: ayuida con una busqueda a traves de un select multiple

Entendiste mal.
Si vos envias idHito1[], deberias preguntas por $_POST["idHito"]

Saludos.
__________________
"Vivir....solo cuesta Vida"
  #5 (permalink)  
Antiguo 18/12/2007, 08:22
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 21 años, 5 meses
Puntos: 17
Re: ayuida con una busqueda a traves de un select multiple

Si no me equivoco si haces:

Código PHP:

$variable 
$_POST['idHito']; 
Te devolverá un array con los datos de todos los select con ese nombre. Luego podrías hacer un foreach para recorrer el array.
  #6 (permalink)  
Antiguo 18/12/2007, 08:33
Avatar de liliancita  
Fecha de Ingreso: diciembre-2007
Mensajes: 189
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: ayuida con una busqueda a traves de un select multiple

holiss


si con $_POST["idHito"] imprimo el valor grx!

ahoar en cuanto a recorrer el arreglo
xq se supone que los valores del array los tengo q utilizar dentro de un sql

entonces recorro el arreglo y asigno variables algo asi?
  #7 (permalink)  
Antiguo 18/12/2007, 08:34
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 21 años, 5 meses
Puntos: 17
Re: ayuida con una busqueda a traves de un select multiple

Sí, no deberías tener problemas con un bucle (un foreach iría bien) recorres todo el array y en cada iteración puedes usar el valor actual para lo que quieras (en tu caso para una consulta sql)
  #8 (permalink)  
Antiguo 18/12/2007, 08:49
Avatar de liliancita  
Fecha de Ingreso: diciembre-2007
Mensajes: 189
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: ayuida con una busqueda a traves de un select multiple

ok

mil grax

saludos
  #9 (permalink)  
Antiguo 18/12/2007, 09:37
Avatar de liliancita  
Fecha de Ingreso: diciembre-2007
Mensajes: 189
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: ayuida con una busqueda a traves de un select multiple ... ahora

ya miren este seria el foreach


ahora tengo la duda en como lo utilizo en la consulta sql


Código PHP:

<?

$variable 
$_POST['idHito1'];

foreach(
$variable as $id => $valor) { 
   print 
"$vector[$id] => $valor"



    
    if (
$tmp1=$_POST['idHito1']){
    
        
$SQL="SELECT nombre,direccion
            FROM AB
            WHERE idhito = '"
.$tmp1."'
            UNION (
                        
        SELECT nombre,direccion
        FROM AB
        WHERE idhito = '"
.$tmp1."');";

        
$result=mysql_query($SQL,$link);

?>
seria algo asi ($tmp1=$valor)?

saludossss
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:07.