Foros del Web » Programando para Internet » PHP »

Cómo insertar la fecha además de la hora

Estas en el tema de Cómo insertar la fecha además de la hora en el foro de PHP en Foros del Web. Hola a todos. Saludos. Miren este código: Código PHP: <?php //Convierte fecha de mysql a normal function  cambiaf_a_normal  ( $fecha ){      ereg (  "([0-9]{2,4})-([0-9]{1,2})-([0-9]{1,2})" ,  $fecha ,  $mifecha );  ...
  #1 (permalink)  
Antiguo 16/09/2008, 10:12
 
Fecha de Ingreso: agosto-2005
Mensajes: 152
Antigüedad: 18 años, 8 meses
Puntos: 0
Pregunta Cómo insertar la fecha además de la hora

Hola a todos.
Saludos.
Miren este código:
Código PHP:
<?php
//Convierte fecha de mysql a normal
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
}
//Convierte la fecha de normal a mysql
function cambiaf_a_mysql ($fecha){
    
ereg"([0-9]{1,2})/([0-9]{1,2})/([0-9]{2,4})"$fecha$mifecha); 
    
$lafecha=$mifecha[3]."-".$mifecha[2]."-".$mifecha[1]; 
    return 
$lafecha
}
?>
<?php
// incluimos el archivo de conexion
$db_link mysql_connect('xxx''xxx''xxx');
if(!
$db_link){
    die(
'No se pudo conectar: ' mysql_error());
}
$db_selected mysql_select_db('sistemanoticias'$db_link);
if(!
$db_selected){
    die(
'No se selecciono la BD: ' mysql_error());
}
//definición de variables
$enviar $HTTP_POST_VARS['enviar'];
$notTitulo $HTTP_POST_VARS['notTitulo'];
$notTexto $HTTP_POST_VARS['notTexto'];
$notCategoriaID $HTTP_POST_VARS['notCategoriaID'];
$fechanot $HTTP_POST_VARS['fechanot'];
// recibimos el formulario
if(isset($HTTP_POST_VARS['enviar']) && $HTTP_POST_VARS['enviar'] == 'Enviar'){
    
// comprobamos que el formulario no envie campos vacios
    
if(!empty($HTTP_POST_VARS['notTitulo']) && $HTTP_POST_VARS['notTexto'] &&
    
$HTTP_POST_VARS['notCategoriaID'] && $HTTP_POST_VARS['fechanot']){
        
// creamos las variables y les asignamos los valores a insertar
        
$notTitulo $HTTP_POST_VARS['notTitulo'];
        
$notTexto $HTTP_POST_VARS['notTexto'];
        
$notCategoriaID $HTTP_POST_VARS['notCategoriaID'];
        
$fechanot $HTTP_POST_VARS['fechanot'];        
        
// hacemos el INSERT en la BD*/
        
$sqlInsertNot mysql_query("INSERT INTO sn_noticias
                                     (notTitulo, notTexto, notCategoriaID, fechanot)
                                     VALUES ('$notTitulo', '$notTexto', '$notCategoriaID', '"
.cambiaf_a_mysql($fechanot)."')",
                                     
$db_link) or die(mysql_error());
        
// enviamos un mensaje de exito
        
echo "Los datos fueron gurdados correctamente";        
    }else{
        
// si el formulario envia algun campo vacio
        // enviamos un mensaje de error
        
echo "Debe llenar todos los campos del formulario";        
    }
}
?>
<!-- el formulario -->
<form name="noticia" enctype="multipart/form-data" action="<?php $_SERVER['PHP_SELF']; ?>" method="POST">
    <p>
    Título de la Noticia<br />
    <input type="text" name="notTitulo" size="50" />
    </p>
    <p>
    Texto de la Noticia<br />
    <textarea name="notTexto" rows="10" cols="50"></textarea>
    </p>
    <p>
    Fecha de la Noticia<br/>
   <input type="text" name="fechanot" value="<?php echo cambiaf_a_normal($fechanot);?>" />
    </p>
    <p>
    Categoría<br />
    <select name="notCategoriaID">
        <option value="">Escoger de la Lista</option>
    <?php
    
// asignamos una categoria a la noticia
    // mediante un select
    
$sqlQueryCat mysql_query("SELECT * FROM sn_categorias"$db_link)
                                or die(
mysql_error);
    
// creamos un bucle while
    // que nos muestre todas las categorias
    // que tenemos guardadas en la BD
    
while($rowCat mysql_fetch_array($sqlQueryCat)){
        echo 
"<option value='$rowCat[cat_ID]'>$rowCat[catCategoria] - $rowCat[cat_ID]</option>";
    }
    
?>
    </select>
    </p>
    <p>
    <input type="submit" name="enviar" value="Enviar" />
    </p>
</form>
Mediante este formulario inserto varias informaciones en una base de datos. Ahora tengo una duda, en la tabla tengo un campo tipo datetime, según la literatura estos campos almacenan la fecha y la hora en el siguiente formato aaaa/mm/dd hh:mm:ss. Según el código que tengo escrito la fecha la inserto sin ningún problema, introduciéndola en el formulario en el formato dd/mm/aaaa y gracias a la función cambiaf_a_mysql logro insertarla en la base de datos en el formato mysql, ahora como puedo hacer para insertar la hora.
Ya que necesito que las noticias insertadas además de le fecha tengan la hora también ya que ordeno de manera descendente los registros a través del campo fechanot de manera que aparezcan primero las noticias más recientes.
Muchas Gracias.
  #2 (permalink)  
Antiguo 16/09/2008, 10:42
 
Fecha de Ingreso: mayo-2006
Ubicación: Bogotá
Mensajes: 2.061
Antigüedad: 17 años, 11 meses
Puntos: 50
Respuesta: Cómo insertar la fecha además de la hora

Pruebe con esto


Código PHP:
$fechanoticia cambiaf_a_mysql($fechanot);
$hora noticia date("H:i:s");
$fechainsertar $fechanoticia." ".$horanoticia
y en e linsert coloca $fechainsertar.
  #3 (permalink)  
Antiguo 16/09/2008, 11:38
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 17 años, 8 meses
Puntos: 70
Respuesta: Cómo insertar la fecha además de la hora

Para qué php si mysql lo hace por nosotros??

Código:
INSERT INTO sn_noticias (notTitulo, notTexto, notCategoriaID, fechanot) VALUES ('$notTitulo', '$notTexto', '$notCategoriaID', now());  
La función now() hace todo por nosotros

Saludos
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
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 01:13.