Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/04/2006, 03:53
Avatar de chiquirf
chiquirf
 
Fecha de Ingreso: noviembre-2005
Ubicación: Madrid
Mensajes: 215
Antigüedad: 18 años, 5 meses
Puntos: 3
actualizar fecha en formulario (PHP-MySQL)

Hola a todos,

Estoy teniendo un problemita con el formato de fechas que tengo en un formulario.... les cuento: tengo en la BD una tabla con los campos ID, Nombre y Fecha. Tengo un formulario para actualizar los campos Nombre y Fecha, no tengo problema en mostrar las fechas y para agregar una nueva fecha a la tabla, ya q he encontrado un par de funciones para ello:

Código:
// FECHA............. INI
$hoy=strftime("%d/%m/%Y");
function cambiaf_a_mysql($hoy){ 
    ereg( "([0-9]{1,2})/([0-9]{1,2})/([0-9]{2,4})", $hoy, $mifecha); 
    $hoymysql=$mifecha[3]."-".$mifecha[2]."-".$mifecha[1]; 
    return $hoymysql; 
}

function cambiaf_a_normal($fecha){ 
    ereg( "([0-9]{2,4})-([0-9]{1,2})-([0-9]{1,2})", $fecha, $mifecha); 
    $lafecha=$mifecha[3]."/".$mifecha[2]."/".$mifecha[1]; 
    return $lafecha; 
} 

// FECHA............. FIN

El problema que tengo es que en el formulario para EDITAR, en el IMPUT donde muestro la fecha, ahí mismo quiero cambiarla para enviar el formulario y se guarden los cambios, pero deseo mantener el formato dd/mm/aaaa y no el aaaa-mm-dd del MySQL.

Es decir, cuando entro al formulario me muestra en el IMPUT la fecha con la funcion cambiaf_a_mysql() , de ahi no se que hacer para q al modificarla me la envíe usando la funcion cambiaf_a_mysql() para volver a convertirla a formato SQL y se grabe correctamente.

Alguien por ahi le ha pasado lo mismo y encontró la solución??????

Adjunto los códigos de los .php y una copia de la bd para que lo prueben...

Gracias a todos por su ayuda....

Saludos

Carlos

================================================

ARCHIVO prueba-lista.php
Código PHP:
<?php
# FileName="Connection_php_mysql.htm"
# Type="MYSQL"
# HTTP="true"
$hostname_Procedimientos "localhost";
$database_Procedimientos "pros_soporte";
$username_Procedimientos "carlos";
$password_Procedimientos "carlos";
$Procedimientos mysql_pconnect($hostname_Procedimientos$username_Procedimientos$password_Procedimientos) or trigger_error(mysql_error(),E_USER_ERROR); 
?>





<?php
mysql_select_db
($database_Procedimientos$Procedimientos);
$query_prueba "SELECT * FROM pruebas ORDER BY ID ASC";
$prueba mysql_query($query_prueba$Procedimientos) or die(mysql_error());
$row_prueba mysql_fetch_assoc($prueba);
$totalRows_prueba mysql_num_rows($prueba);


// FECHA............. INI
$hoy=strftime("%d/%m/%Y");
function 
cambiaf_a_mysql($hoy){ 
    
ereg"([0-9]{1,2})/([0-9]{1,2})/([0-9]{2,4})"$hoy$mifecha); 
    
$hoymysql=$mifecha[3]."-".$mifecha[2]."-".$mifecha[1]; 
    return 
$hoymysql
}

function 
cambiaf_a_normal($fecha){ 
    
ereg"([0-9]{2,4})-([0-9]{1,2})-([0-9]{1,2})"$fecha$mifecha); 
    
$lafecha=$mifecha[3]."/".$mifecha[2]."/".$mifecha[1]; 
    return 
$lafecha


// FECHA............. FIN




?>

<html>
<head>
</head>

<body>
Tabla<br />
<br />
<table border="1">
  <tr>
    <td colspan="4">Agregar</td>
  </tr>
  <tr>
    <td>ID</td>
    <td>Nombre</td>
    <td>Fecha</td>
    <td>Editar</td>
  </tr>
  <?php do { ?>
  <tr>
    <td><?php echo $row_prueba['ID']; ?></td>
    <td><?php echo $row_prueba['nombre']; ?></td>
    <td><?php echo cambiaf_a_normal($row_prueba['fecha']); ?></td>
    <td><a href="prueba-edit.php?pruebaid=<?php echo $row_prueba['ID']; ?>">Editar</a></td>
  </tr>
  <?php } while ($row_prueba mysql_fetch_assoc($prueba)); ?>
</table>
</body>
</html>
<?php
mysql_free_result
($prueba);
?>
Los demas los pongo en el siguiente mensaje porq no me permite meter mas.....