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: 18 años
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 
listaNumeros( 1, 31, "dia", substr( $fecha, 8, 2 ) ); 
echo 
"\n"; 
echo 
listameses( "mes", substr( $fecha, 5, 2 ) ); 
echo 
"\n"; 
echo 
listaNumeros( date( "Y" ), 6, "anio", substr( $fecha, 0, 4 ) ); 
?>
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: 19 años, 5 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 
listaNumeros( 1, 31, $identificador."dia", substr( $fecha, 8, 2 ) );  
echo 
"\n";  
echo 
listameses( $identificador."mes", substr( $fecha, 5, 2 ) );  
echo 
"\n";  
echo 
listaNumeros( date( "Y" ), 6, $identificador."anio", substr( $fecha, 0, 4 ) );
}
  
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: 18 años
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 00:07.