Foros del Web » Creando para Internet » Diseño web »

encontrar el id de dos <select> en mi pagina

Estas en el tema de encontrar el id de dos <select> en mi pagina en el foro de Diseño web en Foros del Web. Ante todo Buenas tardes a todos, mi pregunta parece sencilla pro tengo la dificultad de no saber como trabajar los datos en un form que ...
  #1 (permalink)  
Antiguo 28/11/2008, 14:03
 
Fecha de Ingreso: noviembre-2008
Mensajes: 14
Antigüedad: 15 años, 5 meses
Puntos: 0
encontrar el id de dos <select> en mi pagina

Ante todo Buenas tardes a todos,
mi pregunta parece sencilla pro tengo la dificultad de no saber como trabajar los datos en un form que me proporcionan dos selects option.


Código HTML:
<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">

            </select></td>
		<td width="300">Fecha desde: </td>
		<td width="300"><?include("fechas.php");?>
		<td width="300">Fecha hasta: </td>
		<td width="300"><?include("fechas.php");?>
		</tr>
    </table>
    <br/>

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

</FORM> 

en las celdas estoy utilizando dos include que me arman selects que me sirven para obtenr un rango de procesamiento de algunos datos.
fechas.php
Código PHP:
<?php 

$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"dia"substr$fecha8) ); 
echo 
"\n"
echo 
listameses"mes"substr$fecha5) ); 
echo 
"\n"
echo 
listaNumerosdate"Y" ), 6"anio"substr$fecha0) ); 
?>
funciones.php

Código PHP:
<?php 
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 

?>
este codigo lo obtuve en este foro y me ha ayudado mucho.
lo que quiero es ahora trabajar con los valores que seleccione en estos combos

por ejemplo si uso el $_POST['dia'];
a cual se refiere??
que funcion o propiedad o lo que sea me puede listar los nombres de los objetos que tengo en mi pagina?
acalaro que ya revise el codigo html y los dos tanto fecha desde como fecha hasta tiene los mismos nombres en los combos.....
puedo seguir trabajando esto asi? o estoy mandando fruta y me conviene no utilizar un include? lo arme asi para tratar de modularizar un poco esto y me parecio que quedaba mejor...
se que es dificil entenderme pero inteantare explicarme mejor si lo necesitan..
desde ya muchisimas gracias!
  #2 (permalink)  
Antiguo 28/11/2008, 15:06
 
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
  #3 (permalink)  
Antiguo 28/11/2008, 15:53
 
Fecha de Ingreso: noviembre-2008
Mensajes: 14
Antigüedad: 15 años, 5 meses
Puntos: 0
De acuerdo Respuesta: encontrar el id de dos <select> en mi pagina

no pudiste ser mas claro, te agradezco muchisimo! lo estaba pensando y estaba buscando una forma de ponerle un ID a los selects pero taba muy feo,pero tienes mucha razon, es mas facil y simple el concatenarle el identificador.
abrazos! y gracias otra vez!
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 03:08.