Foros del Web » Programando para Internet » PHP »

Cargar resultado de una consulta en un option value

Estas en el tema de Cargar resultado de una consulta en un option value en el foro de PHP en Foros del Web. El código q tengo es el siguiente: Código PHP: <?PHP //consulta de dades per crear el COMBOBOX $result  =  mysql_query ( "Select dataactual as data from data ORDER BY dataactual" ); //mostrem els resultats while ( $row = mysql_fetch_array ( $result )) ...
  #1 (permalink)  
Antiguo 19/05/2005, 00:10
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 1.473
Antigüedad: 19 años, 3 meses
Puntos: 10
Pregunta Cargar resultado de una consulta en un option value

El código q tengo es el siguiente:
Código PHP:
<?PHP
//consulta de dades per crear el COMBOBOX
$result mysql_query("Select dataactual as data from data ORDER BY dataactual");
//mostrem els resultats
while ($row=mysql_fetch_array($result))
{
 
$fec=$row['data'];
 
$any=substr($fec,0,4);
 
$mes=substr($fec,4,2);
 
$dia=substr($fec,6,2);
 
$fec=$dia."/".$mes."/".$any;
echo (
"<OPTION VALUE=".$fec." SELECTED>".$fec."\n");
}                    
?>
Este código carga todas las fechas de una tabla en un combobox. Mi formato de fecha es aaaammdd y al mostrarlo lo giro haciendo substr.
Como puedo situar el COMBOBOX o OPTION VALUE para q me muestre siempre la fecha actual?
Gracias de antemano.

Saludos
  #2 (permalink)  
Antiguo 19/05/2005, 00:30
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
Cita:
Como puedo situar el COMBOBOX o OPTION VALUE para q me muestre siempre la fecha actual?
¿situar???.. ¿siempre la fecha actual???...

Lo que estás haciendo es extraer registros de una Base de Datos (extraño manera y formato dicho sea de paso). No sé qué tipo de "fechas" tengan esos registros... si sean solo pasadas ó haya fechas futuras... aunque en realidad no importa, solo sería por "presentación".

Contestando concretamente a tu pregunta: saca la fecha actual con la función date():
Código PHP:
echo date('d/m/Y'); 
solo asignasela directamente a lo que quieras...

www.php.net/date

__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #3 (permalink)  
Antiguo 19/05/2005, 00:53
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 1.473
Antigüedad: 19 años, 3 meses
Puntos: 10
Hay todo tipo de fechas, ya sean pasadas o futuras. Tengo fechas des del 1 de enero del 2004 hasta finales de 2005. El Option por defecto me pone la ultima fecha y a el usuario no le interesa. ENtonces como queda el option value para poder mostrar todas las fechas pero q la q muestre sea la fecha de hoy?
Gracias...
  #4 (permalink)  
Antiguo 19/05/2005, 00:58
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 1.473
Antigüedad: 19 años, 3 meses
Puntos: 10
El cogido entero:
Código PHP:
<FORM METHOD='GET' action="dsp_vendadiaria.php" target="submain" >
<select  name="data">
<?PHP
//consulta de dades per crear el COMBOBOX
$result mysql_query("Select dataactual as data from data ORDER BY dataactual");
//mostrem els resultats
while ($row=mysql_fetch_array($result))
{
$fec=$row['data'];
$any=substr($fec,0,4);
$mes=substr($fec,4,2);
$dia=substr($fec,6,2);
$fec=$dia."/".$mes."/".$any;
$fec1=date('d/m/y');
echo (
"<OPTION VALUE=".$fec." SELECTED>".$fec."\n");
}                    
?>        
</select>
<input type="submit" value="Actualitzar" style="display: inline;float: none;margin: 0;padding: 0;text-align: center;height=20px;width=100px"> </FORM>
  #5 (permalink)  
Antiguo 19/05/2005, 01:10
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
Si te presenta la última fecha seleccionada es porque tienes un ciclo en el que siempre pones como seleccinada a todas las opciones... entonces quedará la última a la que le hayas puesto.

Cita:
ENtonces como queda el option value para poder mostrar todas las fechas pero q la q muestre sea la fecha de hoy?
Oookkkkkk.. tienes fechas pasadas y futuras... entonces existe la posibilidad de que contenga la fecha de hoy... entonces dentro de tu ciclo haz uuna validación comprarando la fecha que se crea en tu ciclo con la fecha de hoy que ya mostré como sacar..., si dicha comparación es cierta, y SOLO SI ES CIERTA, imprime la palabra "selected" para que sea la que aparesca seleccionada por default...... ó puedes simplemente poner tu fecha directamente como sugerí en el post anterior... quizá se repita la fecha de hoy pero al final no importará si tienen el mismo "value"...

Otra cosa a tener en cuenta si te inclinas por la validación dentro del ciclo.. es que, así como dije que la fecha de hoy puede estar contenida, también puede no estarlo... ¿soluciones?, una variable de bandera... si la imprimes cambas el valor y después comparas ese valor para que sepas si estubo ó no... entonces si no estubo imprimes.... poco elegante...

Otra opción es, gracias a que estás aplicando un órden al extraer tus datos, puedes comparar fechas a la hora de imprimir... así pués si no se imprime ves si la fecha que se está intentando imprimir no sea posterior de hoy, sí lo és primero imprimes "hoy", siempre seleccionado... para esto te servirá la función mktime().

www.php.net/mktime

Saludos!
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #6 (permalink)  
Antiguo 19/05/2005, 02:40
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 1.473
Antigüedad: 19 años, 3 meses
Puntos: 10
Gracias Jam1138. Al final me decante con imprimir SELECTED cuando la fecha es la misma q la date('d/m/Y'). con un simple if.

Saludos
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 15:29.