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: 21 años
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.....