Foros del Web » Programando para Internet » PHP »

problema con sintaxis

Estas en el tema de problema con sintaxis en el foro de PHP en Foros del Web. Wolas!! me imagino que debe ser un problema de sintaxis: Tengo un campo text en un formulario para introducir una fecha en formato español -variable ...
  #1 (permalink)  
Antiguo 16/03/2004, 16:58
Avatar de Wakkos
Colaborador
 
Fecha de Ingreso: octubre-2001
Ubicación: (cerca)
Mensajes: 1.795
Antigüedad: 22 años, 5 meses
Puntos: 59
problema con sintaxis

Wolas!!
me imagino que debe ser un problema de sintaxis:

Tengo un campo text en un formulario para introducir una fecha en formato español -variable '$finpromo'-, pero introduce en formato ingles:
Código PHP:
$var explode('-',$finpromo);
$promofin "$var[0]-$var[1]-$var[2]";
mysql_query("insert into artcaza (nombre,cat,precio,foto,descripcion,portes,minimas,promo,preciopromo,fechafin) values ('$nombre','$cat','$precio','$tempo$img1_name','$descripcion','$portes','$minimas','$promo','$preciopromo','$promofin')",$link); 
Sin embargo funciona si lo hago alrevés (obtengo de la base de datos y formateo para mostrar en formato español):

Código PHP:
$var explode('-',$row[9]);
$promo "$var[2]-$var[1]-$var[0]";
echo 
$promo
Alguna idea/sugerencia/regaño?
__________________
Cool Village
@Wakkos
  #2 (permalink)  
Antiguo 16/03/2004, 17:17
Avatar de payo22  
Fecha de Ingreso: noviembre-2002
Ubicación: México
Mensajes: 839
Antigüedad: 21 años, 4 meses
Puntos: 1
Cita:
$var = explode('-',$finpromo);

$promofin = "$var[0]-$var[1]-$var[2]";

mysql_query("insert into artcaza (nombre,cat,precio,foto,descripcion,portes,minimas
,promo,preciopromo,fechafin) values ('$nombre','$cat','$precio','$tempo$img1_name','$d
escripcion','$portes','$minimas','$promo','$precio
promo','$promofin')",$link);
checa que esta )" creo que seria al reves ") esto al final de tu sentencia sql a simple vista creo que es eso.

Código PHP:
$var explode('-',$finpromo);

$promofin "$var[0]-$var[1]-$var[2]";

mysql_query("insert into artcaza  (nombre,cat,precio,foto,descripcion,portes,minimas
,promo,preciopromo,fechafin) values  ('$nombre','$cat','$precio','$tempo$img1_name','$d
 escripcion','$portes','$minimas','$promo','$precio
promo','$promofin'"
),$link); 
espero sea eso.

saludos.

ah y por cierto ver el tipo de dato que recibe cada campo tambien puede ser por ahi.
  #3 (permalink)  
Antiguo 16/03/2004, 17:50
Avatar de Wakkos
Colaborador
 
Fecha de Ingreso: octubre-2001
Ubicación: (cerca)
Mensajes: 1.795
Antigüedad: 22 años, 5 meses
Puntos: 59
No, no son las comillas.
Tipo de dato? que tipo de problema puede haber acá con eso?
__________________
Cool Village
@Wakkos
  #4 (permalink)  
Antiguo 16/03/2004, 18:59
 
Fecha de Ingreso: abril-2003
Mensajes: 656
Antigüedad: 20 años, 11 meses
Puntos: 1
Lo que te pasa, es que si tines el campo de la BDD como DATE, pues solo puedes ingresar fechas en ingles, aunque intentes al reves te las convierte al ingles o te da error;

La manera de hacerlo es no preocuparse como ingresas la fecha, osea que ingresala al inlges Año, mes, dia

Y luego la sacas con la sentencia DATEFORMAT()

eJ:

$sql = "SELECT DATE_FORMAT(fecha_creacion, '%d-%m-%Y') as fecha , campo,campo,.. FROM TABLA WHERE lo que sea "

Si es por comparara fechas, puedes utilizar otras funciones SQL
mira el manual de mysql de fechas, veras que no es complicado

http://www.mysql.com/doc/en/Date_and...functions.html


saludos
  #5 (permalink)  
Antiguo 16/03/2004, 19:02
Avatar de Wakkos
Colaborador
 
Fecha de Ingreso: octubre-2001
Ubicación: (cerca)
Mensajes: 1.795
Antigüedad: 22 años, 5 meses
Puntos: 59
Gracias Jordi, pero lo que yo intentaba hacer estaba bien, lo único malo era el formato que le daba:

En vez de $promofin = "$var[0]-$var[1]-$var[2]";

debí colocar $promofin = "$var[2]-$var[1]-$var[0]";

Ahora funciona, gracias!!
__________________
Cool Village
@Wakkos
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 11:51.