Ver Mensaje Individual
  #2 (permalink)  
Antiguo 28/11/2008, 15:06
roliwar
 
Fecha de Ingreso: junio-2007
Mensajes: 18
Antigüedad: 16 años, 10 meses
Puntos: 0
Respuesta: encontrar el id de dos <select> en mi pagina

Ni PHP, ni ningún otro lenguaje (ni el lenguaje humano) no tiene forma de saber a cual de los 2 te refieres porque necesita nombres unicos

Te voy a poner el código pero no te voy a explicar, para que lo analices y encuentres el 'por qué' tú mismo, si no lo encuentras me avisas y te explico:

FORMULARIO

Código PHP:
<FORM METHOD="post" ACTION="procesarcombos.php"> 
<?
date_default_timezone_set 
"America/Argentina/Buenos_Aires" );
include(
"funciones.php");
?>
<div id="maincont">
    <div id="main">
    <h1>
    &nbsp;-&nbsp;Procesos. </h1>
    <table width="100%" border="0">
      <tr bgcolor="#F4F4F4">
             </td>
        <td width="300">Fecha desde: </td>
        <td width="300"><?getFechas('desde');?>
        <td width="300">Fecha hasta: </td>
        <td width="300"><?getFechas('hasta');?>
        </tr>
    </table>
    <br/>

<input type="submit" name="Foto" value="buscar" />

</FORM>
ARCHIVO funciones.php (Ojo, creamos una nueva función)

Código PHP:
<?php

function getFechas($identificador){
$fecha date"Y-m-d" ); // obtenemos la fecha actual  
// llamamos a las funciones pasandole sus respectivos parámetros.  
// Nota: substr( cadena, comienzo, longitud ) esta función nos sirve para extraer pedazos de cadena y nos sirve para extraer el día, mes y añó respectivamente  
echo "Fecha: ";  
echo 
listaNumeros131$identificador."dia"substr$fecha8) );  
echo 
"\n";  
echo 
listameses$identificador."mes"substr$fecha5) );  
echo 
"\n";  
echo 
listaNumerosdate"Y" ), 6$identificador."anio"substr$fecha0) );
}
  
function 
listaNumeros$de$cuantos$nombre$seleccionado )  
{  
   echo 
"<select name=\"$nombre\">\n"// iniciamos el select  
   
for( $e $de$e < ( $de $cuantos ); $e++ )  
   {  
      
$poner = ( $e 10 ) ? ( $poner "0".$e ) : ( $poner $e ); // si el # es menor a 10 agregamos un 0 a la izquierda  
      
$actual = ( $poner == $seleccionado ) ? ( " selected" ) : ( "" ); // si el # es igual al que deseamos que fuera seleccionado así lo mostramos  
      
echo "\t<option value=\"$poner\" $actual>$poner</option>\n"// listamos las opciones  
   
}  
   echo 
"</select>"// cerramos el select  
}  

$meses = array( 'Enero''Febrero''Marzo''Abril''Mayo''Junio''Julio''Agosto''Septiembre''Octubre''Noviembre''Diciembre' );  
function 
listameses$nombre$seleccionado )  
{  
   global 
$meses;  
   if(isset(
$seleccionado)) 
        { 
        
$poner "seleccionado";  
        }     
   
$seleccionado -= 1// restamos un dígito al seleccionado ya que el array comienza de 0  
   
echo "<select name=\"$nombre\">\n\t<option value=\"00\" $poner>Seleccione</option>\n"// iniciamos el select  
   
for( $e 0$e count$meses ); $e++ )  
   {  
      
$poner = ( $e 10 ) ? ( $poner "0".$e ) : ( $poner $e ); // si el # es menor a 10 agregamos un 0 a la izquierda  
      
$actual = ( $poner == $seleccionado ) ? ( " selected" ) : ( "" ); // si el # es igual al que deseamos que fuera seleccionado así lo mostramos  
      
echo "\t<option value=\"$poner\" $actual>".$meses$e ]."</option>\n"// listamos las opciones  
   
}  
   echo 
"</select>"// cerramos el select  
}  
?>
Si la primera vez llamas a la funcion getFechas('desde'), la funcion va a concatenar el 'desde' con 'dia', con 'mes' y con 'anio', de tal forma que vas a generar 3 objetos <select> con estos nombres:

* desdedia
* desdemes
* desdeanio

la segunda vez llamas a la funcion asi getFechas('hasta') y se generan estos

* hastadia
* hastames
* hastaanio

de esta forma ya sabes como hacer referencia a ellos, por ejemplo
$_POST['desdedia']
$_POST['hastames']

y la gran pregunta ¿qué haces con el archivo 'fechas.php'? pues nada, así de simple, no haces nada, por lo que es mejor deshacerte de él en cuanto puedas, jajaja

Saludos y bendiciones