Foros del Web » Programando para Internet » PHP »

modificar fechas

Estas en el tema de modificar fechas en el foro de PHP en Foros del Web. Buenas tardes para ver si me podrian apoyar con este codigo la verdad no se por que no me modifica las fechas y los demas ...
  #1 (permalink)  
Antiguo 21/07/2014, 14:51
 
Fecha de Ingreso: julio-2014
Mensajes: 7
Antigüedad: 9 años, 9 meses
Puntos: 0
Información modificar fechas

Buenas tardes

para ver si me podrian apoyar con este codigo la verdad no se por que no me modifica las fechas y los demas campos si se actualizan

<?php

$con = mysql_connect("localhost","root","");
if (! $con){die ("ERROR EN LA CONEXION CON MYSQL: ".mysql_error());}

$base = mysql_select_db ("seguros",$con);


foreach ($_POST['seleccion'] as $indice => $valor){

$opcion = substr ($_POST['seleccion'][$indice],0,-1);

$fecha_emision = explode("-",$_POST['fecha_emision']);
$fecha_vigencia = explode("-",$_POST['fecha_vigencia']);
$fecha_pago = explode("-",$_POST['fecha_pago']);;
switch($opcion){


case 'modifica':$lista= " UPDATE autos SET

nombre_cliente = '".$_POST["nombre"][$indice]."',
fecha_emision = ".$_POST .$fecha_emision[0]."-".$fecha_emision[1]."-".$fecha_emision[2] [$indice].",
fecha_vigencia = ".$_POST .$fecha_vigencia[0]."-".$fecha_vigencia[1]."-".$fecha_vigencia[2][$indice].",
telefono = ".$_POST['telefono'][$indice].",
pago_poliza = '".$_POST["pago"][$indice]."',
detalle_poliza = '".$_POST["detalle"][$indice]."',
fecha_pago = ".$_POST .$fecha_pago[0]."-".$fecha_pago[1]."-".$fecha_pago[2][$indice]."
WHERE idauto = ".$_POST["id"][$indice];break;

case 'elimina':$lista="DELETE FROM autos WHERE idauto =".$_POST["id"][$indice];break;


default: echo "<center>NO HAY NADA SELECCIONADO</center>"; break;

}

$resultado = mysql_query($lista);


if (! $resultado ){die ("ERROR AL EJECUTAR LA CONSULTA ".$_POST['seleccion'].":".mysql_error());}
else
{
echo "<center>FELICIDADES SENTENCIA EJECUTADA CORRECTAMENTE</center><br />
<a href='modificarauto.php'>Volver al panel</a>";
}

}

?>

este es el error que me sale:

Warning: explode() expects parameter 2 to be string, array given in C:\wamp\www\modi\updateautos.php on line 13

ojala me puedan ayudar
  #2 (permalink)  
Antiguo 21/07/2014, 15:12
Avatar de Djoaq  
Fecha de Ingreso: septiembre-2012
Ubicación: Barcelona
Mensajes: 271
Antigüedad: 11 años, 6 meses
Puntos: 38
Respuesta: modificar fechas

Código PHP:
Ver original
  1. $fecha_pago = explode("-",$_POST['fecha_pago']);;

Fíjate que tienes 2 punto y coma en la linea 13 ...

Saludos
  #3 (permalink)  
Antiguo 21/07/2014, 15:28
 
Fecha de Ingreso: julio-2014
Mensajes: 7
Antigüedad: 9 años, 9 meses
Puntos: 0
Respuesta: modificar fechas

buenas tardes Djoaq

Muchas gracias por la corrección, pero no se arreglo :(, la verdad no se que este haciendo mal pero haber si encuentro la solución ;)
  #4 (permalink)  
Antiguo 21/07/2014, 16:21
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: modificar fechas

¿Será quizá que te faltó indicar el índice del cual tomas el dato? Porque veo que para los demás datos usas dos dimensiones, lo cual me da a pensar de que se tratan de arrays asociativos.

Creo que debería de ser así:

Código PHP:
Ver original
  1. $fecha_emision = explode("-", $_POST['fecha_emision'][$indice]);
  2. $fecha_vigencia = explode("-", $_POST['fecha_vigencia'][$indice]);
  3. $fecha_pago = explode("-", $_POST['fecha_pago'][$indice]);

Y por favor, la próxima vez que publiques código usa el highlight respectivo.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #5 (permalink)  
Antiguo 21/07/2014, 16:42
Avatar de Djoaq  
Fecha de Ingreso: septiembre-2012
Ubicación: Barcelona
Mensajes: 271
Antigüedad: 11 años, 6 meses
Puntos: 38
Respuesta: modificar fechas

A ver ... varias cosas ..

Código PHP:
Ver original
  1. ".$_POST .$fecha_emision[0]."-".$fecha_emision[1]."-".$fecha_emision[2] [$indice].",

que es eso ??

Ese $_POST ahí ¿¿? creo que debería ser algo así :

Código PHP:
Ver original
  1. $fecha_emision = $fecha_emision[0]."-".$fecha_emision[1]."-".$fecha_emision[2] [$indice];

Vale vamos por partes ... porque esto tiene telita...

A ver , es simplemente un formulario que imagino que no has hecho tú y te toca modificar.

Es muy sencillo ...
Código PHP:
Ver original
  1. $con = mysql_connect("localhost","root","");
  2. if (! $con){die ("ERROR EN LA CONEXION CON MYSQL: ".mysql_error());}

Estas comprobando la conexión .

Código PHP:
Ver original
  1. foreach ($_POST['seleccion'] as $indice => $valor){

Aquí se esta recorriendo un array que estas mandando desde el form .

Código PHP:
Ver original
  1. $opcion = substr ($_POST['seleccion'][$indice],0,-1);

Aquí debe estar quitando el primer espacio en blanco (mejor no opino..)

Código PHP:
Ver original
  1. $fecha_emision = explode("-",$_POST['fecha_emision']);

Separando la fecha que se recibe por post en arrays?... dentro del foreach ¿?¿?

Código PHP:
Ver original
  1. switch($opcion){

si el valor de la var $opcion es = 'modifica' hace el update si el 'elimina' borra ... y si no por defecto de ta el aviso :

Código HTML:
Ver original
  1. <center>NO HAY NADA SELECCIONADO</center>

Y aquí hace una comprobación de la var resultado si no existe... cuando modifica en el case si es modificar o eliminar y si existe de ta el felicidades..

Código PHP:
Ver original
  1. if (! $resultado ){die ("ERROR AL EJECUTAR LA CONSULTA ".$_POST['seleccion'].":".mysql_error());}
  2. else
  3. {
  4. echo "<center>FELICIDADES SENTENCIA EJECUTADA CORRECTAMENTE</center><br />
  5. <a href='modificarauto.php'>Volver al panel</a>";
  6. }

En resumen ... si quieres que te ayudemos .. es mejor empezarlo desde 0 , y usando mysqli porque mysql_query esta obsoleto ...

Pero para eso .. por favor usa el Highlight y ponnos el Html de from y el php.

Un saludo.

Etiquetas: fecha, modificar, mysql, select, sql
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 21:58.