Foros del Web » Programando para Internet » PHP »

Insertar varios valores en un mismo campo de la base de datos

Estas en el tema de Insertar varios valores en un mismo campo de la base de datos en el foro de PHP en Foros del Web. Que tal amigos, aqui estoy de nuevo, esta vez con un pequeño detalle, resulta que manejo datos de fecha y hora en el form por ...
  #1 (permalink)  
Antiguo 22/09/2011, 08:41
Avatar de Bullet  
Fecha de Ingreso: agosto-2005
Ubicación: Margarita, Venezuela
Mensajes: 235
Antigüedad: 18 años, 8 meses
Puntos: 1
Insertar varios valores en un mismo campo de la base de datos

Que tal amigos, aqui estoy de nuevo, esta vez con un pequeño detalle, resulta que manejo datos de fecha y hora en el form por separado, de la siguiente manera:

campo1: AAAA campo2: MM/DD campo3: HH:MM

Y los inserto en la base de datos por separado, en un capo anho, otro campo mes/dia, y el campo hora, y hasta ahora me a funcionado, pero lo que quiero hacer es insertar los mismos campos por separado pero que me los guarde juntos en la base de datos, por ejemplo:

Año: 2009 MesDia:/10/04 hora:12:25, estos estan asi en el formulario

fechahora: 2009/10/04 12:25 deben quedar asi en la base de datos.

Intente hacerlo de la manera mas simple, pero no lo inserto, y quisiera saber como puedo hacerlo, adjunto les dejo el codigo q utilice y no funciono, a ver que le falta.

Código PHP:
<?php
require_once('config.php');
$anho $_POST["anho"];
$mmdd $_POST["mmdd"];
$hhmm $_POST["hhmm"];
$sql "INSERT INTO fechahora (fecha_nueva) VALUES ('$anho','$mmdd','hhmm')"//consultas
mysql_query($sql);
?>
Espero su ayuda amigos. Saludos
  #2 (permalink)  
Antiguo 22/09/2011, 08:48
 
Fecha de Ingreso: febrero-2008
Mensajes: 1
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: Insertar varios valores en un mismo campo de la base de datos

Esta medio confusa tu pregunta, dices que insertas los datos en campos separados, un campo anio, un campo mes y un campo hora y que ahora los quieres es insertar en la base de datos los campos por separado insertandolos en la base de datos? sorry pero no entiendo, si lo que quieres decir es insertar en un solo campo todos los datos debes primero de concatenarlos y despues hacer el insert por ejemplo:

Código PHP:
Ver original
  1. $anho = $_POST["anho"];
  2. $mmdd = $_POST["mmdd"];
  3. $hhmm = $_POST["hhmm"];
  4. $fulldate = $anho.$mmdd.$hhmm;
  5.  
  6. $sql = "INSERT INTO fechahora (fecha_nueva) VALUES ('$fulldate')"; //consultas

Saludos
  #3 (permalink)  
Antiguo 22/09/2011, 08:49
Avatar de vgonga1986  
Fecha de Ingreso: marzo-2008
Ubicación: País de Pandereta
Mensajes: 1.021
Antigüedad: 16 años, 1 mes
Puntos: 253
Respuesta: Insertar varios valores en un mismo campo de la base de datos

No tienes que poner como si fueran varios campos, tienes que darle el formato que quieres con concatenaciones (.):
Código PHP:
Ver original
  1. $fechahora = $anho . $mmdd . " " . "hhmm;
  2. $sql = "INSERT INTO fechahora (fecha_nueva) VALUES ('$fechahora')";

De todas formas, te recomiendo que utilices fechas de SQL, ya que deduzco que tu campo es un tipo text. Utilizando tipos de fecha, luego tendrás otra serie de ventajas añadidas, formateado, poder ordenar por fecha...

Un saludo.
__________________
¿Alguna pregunta, duda, acotación, nota, cuestión, reparo, comentario, demanda, crítica, interpretación, objeción, interrogante, discrepancia, observación, réplica, disquisición, apostilla o exégesis?
  #4 (permalink)  
Antiguo 22/09/2011, 08:51
Avatar de jotaincubus  
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 18 años, 11 meses
Puntos: 394
Respuesta: Insertar varios valores en un mismo campo de la base de datos

Es muy sencillo amigo, el campo en la base de datos debe ser DATETIME entonces despues tomas los datos en una variable y los concatenas asi:

Código PHP:
Ver original
  1. $fechaTotal = $_POST["anho"].$_POST["mmdd"]." ".$_POST["hhmm"];
  2. $sql = "INSERT INTO fechahora (fecha_nueva) VALUES ($fechaTotal)";
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???
  #5 (permalink)  
Antiguo 22/09/2011, 09:05
Avatar de Bullet  
Fecha de Ingreso: agosto-2005
Ubicación: Margarita, Venezuela
Mensajes: 235
Antigüedad: 18 años, 8 meses
Puntos: 1
Respuesta: Insertar varios valores en un mismo campo de la base de datos

Cita:
Esta medio confusa tu pregunta, dices que insertas los datos en campos separados, un campo anio, un campo mes y un campo hora y que ahora los quieres es insertar en la base de datos los campos por separado insertandolos en la base de datos? sorry pero no entiendo, si lo que quieres decir es insertar en un solo campo todos los datos debes primero de concatenarlos y despues hacer el insert por ejemplo:

Código PHP:
Ver originalCopiar
$anho = $_POST["anho"];
$mmdd = $_POST["mmdd"];
$hhmm = $_POST["hhmm"];
$fulldate = $anho.$mmdd.$hhmm;

$sql = "INSERT INTO fechahora (fecha_nueva) VALUES ('$fulldate')"; //consultas
mysql_query($sql);
Que tal amigo jatorresmx, siip,eso mismo es lo que quiero hacer, me imagine que el mensaje estaria algo confuso, pero eso es lo que quiero que haga mi programa.

Cita:
Es muy sencillo amigo, el campo en la base de datos debe ser DATETIME entonces despues tomas los datos en una variable y los concatenas asi:

Código PHP:
Ver originalCopiar
$fechaTotal = $_POST["anho"].$_POST["mmdd"]." ".$_POST["hhmm"];
$sql = "INSERT INTO fechahora (fecha_nueva) VALUES ($fechaTotal)";
Que tal amigo jotaincubus, lo intente como me explicaste, pero tuve que poner el campo en la base de tipo varchar, ya que como tipo datetime me lo inserta vacio, o con ceros (0), porque debo insertar tambien los segundos, y ese dato no me hace falta, la el tiempo solo lo manejo en horas y minutos, y en formato 24 horas, no hay una forma o funcion donde solo tome las horas y los minutos?? Saludos
  #6 (permalink)  
Antiguo 22/09/2011, 09:17
Avatar de jotaincubus  
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 18 años, 11 meses
Puntos: 394
Respuesta: Insertar varios valores en un mismo campo de la base de datos

pues con DATETIME es sencillo:

Código PHP:
Ver original
  1. $fechaTotal = $_POST["anho"].$_POST["mmdd"]." ".$_POST["hhmm"].":00";
  2. $sql = "INSERT INTO fechahora (fecha_nueva) VALUES ($fechaTotal)";

Le agregas los dos segundo y ya no tenes problemas.
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???
  #7 (permalink)  
Antiguo 22/09/2011, 09:26
Avatar de Bullet  
Fecha de Ingreso: agosto-2005
Ubicación: Margarita, Venezuela
Mensajes: 235
Antigüedad: 18 años, 8 meses
Puntos: 1
Respuesta: Insertar varios valores en un mismo campo de la base de datos

Mira, acabo de probarlo, y no me da, la fecha la sigue insertando con ceros (0), incluso le cambie las comillas dobles a simples y nada.
  #8 (permalink)  
Antiguo 22/09/2011, 09:34
Avatar de vgonga1986  
Fecha de Ingreso: marzo-2008
Ubicación: País de Pandereta
Mensajes: 1.021
Antigüedad: 16 años, 1 mes
Puntos: 253
Respuesta: Insertar varios valores en un mismo campo de la base de datos

Haz un echo de $fechaTotal o de la query, para ver que está bien.

Un saludo.
__________________
¿Alguna pregunta, duda, acotación, nota, cuestión, reparo, comentario, demanda, crítica, interpretación, objeción, interrogante, discrepancia, observación, réplica, disquisición, apostilla o exégesis?
  #9 (permalink)  
Antiguo 22/09/2011, 09:48
Avatar de Bullet  
Fecha de Ingreso: agosto-2005
Ubicación: Margarita, Venezuela
Mensajes: 235
Antigüedad: 18 años, 8 meses
Puntos: 1
Respuesta: Insertar varios valores en un mismo campo de la base de datos

Cita:
Haz un echo de $fechaTotal o de la query, para ver que está bien.
Esto fue lo que me arrojo el echo de $fecha: 200910/04 12:24:00, me carga el valor correcto, incluso los segundos, pero creo que el formato no esta bien, por eso rellena con ceros en la base. debo ingresarlo con slash (/), porq asi estan los datos, a menos que me den una alternativa para ingresarlo y que se vean bien en la base!!

PD: Como dato adicional, tengo una funcion en javascript que me genera la mascara, es decir, cada vez que introduzco un numero, la funcion coloca el /, en el caso del mes y el dia, y el : en el caso de la hora....

Última edición por Bullet; 22/09/2011 a las 09:54
  #10 (permalink)  
Antiguo 22/09/2011, 09:58
 
Fecha de Ingreso: mayo-2006
Mensajes: 475
Antigüedad: 17 años, 11 meses
Puntos: 58
Respuesta: Insertar varios valores en un mismo campo de la base de datos

Cual es el tipo de campo en MySQL? si er varchar no debería haber problema. Si es DateTime el formato debe ser año-mes-dia horas:minutos:segundos
Si es timestamp el formato debe ser aaaammddhhmmss
Razón: Sustituye las mascara de JS la "/" por el "-"

Última edición por jossss; 22/09/2011 a las 10:00 Razón: Añadido
  #11 (permalink)  
Antiguo 22/09/2011, 10:20
Avatar de Bullet  
Fecha de Ingreso: agosto-2005
Ubicación: Margarita, Venezuela
Mensajes: 235
Antigüedad: 18 años, 8 meses
Puntos: 1
Respuesta: Insertar varios valores en un mismo campo de la base de datos

Listo amigo josss, ya funciona correcto, incluso en la base de datos, lo arregle con una pequeña funcion colocandole el - al año despues del ultimo digito, ahora e detalle es el siguiente: debo cargar solo el año para que se muestre en el form, ya que este tarda en cambiar, me explico, despues q ingrese el registro, para ingresar el siguiente debe estar solo el año cargado en el textbox, para no ingresarlo manualmente.

Se los voy a explicar en un nuevo tema, espero sus ayudas. Saludos y muchisimas gracias..

Última edición por Bullet; 22/09/2011 a las 10:49

Etiquetas: mysql, sql, campos
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:07.