Foros del Web » Programando para Internet » PHP »

problema con formularios "update"

Estas en el tema de problema con formularios "update" en el foro de PHP en Foros del Web. hola a todos una duda, tengo una aplicacion para generar unas actividades y a cada actividad se le asigna un numero concecutivo que epieza des ...
  #1 (permalink)  
Antiguo 25/06/2012, 11:34
 
Fecha de Ingreso: marzo-2012
Ubicación: Bogota
Mensajes: 177
Antigüedad: 12 años
Puntos: 2
problema con formularios "update"

hola a todos

una duda, tengo una aplicacion para generar unas actividades y a cada actividad se le asigna un numero concecutivo que epieza des de 000001 y ese es como mi id de la tabla, en cada actividad se tiene q agregar fecha inicio, hora inicio, fecha fin y hora fin pero cuando no se llenan los campos de fecha fin y hora fin es por que no se ha cerrado la actividad entonces a mi formulario llamado reportes.php le agrege un campo de cerrar Ticket entonces yo ingreso el ticket ejemplo 000002 y si en esa actividad los campos de fecha fin y hora fin se encuentran llenos entonces sale un aviso dieciendo que la actividad ya se encuentra cerrada hasta ahy todo esta muy bien; El problema surge cuando los dos campos estan vacios y kiero guardar la fecha fin y hora fin entonces ingreso los dos datos y al moemnto de dar guardar me envia a otra pagina llamada guardar.php pero no me reconoce ninguna variable entonces si hago un update se me cambian estos dos campos en todos los registros de la base de datos aca les dejo el codigo

Código HTML:
<html> 
<head> 
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<title>Reporte  </title> 
<meta http-equiv="Content-Type" content=""> 
<!-- -->
<style type="text/css">

.estilo1{

font-family: "Times New Roman",Times,serif;
font-size: 20px;
color: #000000;
font-weight: bold;
}
.estilo2{

font-family: "Times New Roman",Times,serif;
font-size: 25px;
color: #FFFFFF;
}
.estilo3{

font-family: Trebuchet MS;
font-size: 25px;
color: #000000;
font-weight: bold;

}
.estilo4{

font-family: "Trebuchet MS";
font-size: 25px;
color: #000000;

}
</style>
</head> 
<body id="public">
<form name="frm" action="guardar.php" method="post">

<table width="520" border="0" cellpadding="0" cellspacing="0">
<tr>
<td height="13"></td>
</tr>

<?php

$sql=mysql_query("select Fecha_inicio,Hora_inicio,Cliente,Solicitud,Documentacion,Actividad,Ticket,Fecha_fin,Hora_fin,Ticket_une from formulario where Ticket='$cerrar' ")
or die ("problemas en el select".mysql_error()); //where Fecha='$Diarios'
	
		$num=mysql_num_rows($sql);
		//echo $num;
			
	while($row=mysql_fetch_array($sql))
	{
		$Fecha_inicio=$row['Fecha_inicio'];	
		$Hora_inicio=$row['Hora_inicio'];
		$Cliente=$row['Cliente'];
		//echo $Cliente;
		$Solicitud=$row['Solicitud'];
		$Documentacion=$row['Documentacion'];
		$Actividad=$row['Actividad'];
		$Ticket=$row['Ticket'];
		echo $Ticket;
		$Fecha_fin=$row['Fecha_fin'];
		$Hora_fin=$row['Hora_fin'];
		$Ticket_une=$row['Ticket_une'];
		
		if($Fecha_fin!="" && $Hora_fin!="" )
		{
			echo "<table border='1' align='center'>";		
			echo "<tr><td class='estilo2' bgcolor='#FF0202'>El ticket ya se encuentra cerrado </td>";
			echo "</tr>";
			echo "</table>";
			echo "</br>";
			
		echo "<table border='1' align='center'>";		
		echo "<tr><td class='estilo2' bgcolor='#FF0202'>Fecha inicio:</td>";
		echo "<td class='estilo1'>".$Fecha_inicio." </td>";
		echo "</tr>";
		
		echo "<tr><td class='estilo2' bgcolor='#FF0202'>Hora inicio:</td>";
		echo "<td class='estilo1'>".$Hora_inicio." </td>";
		echo "</tr>";
		
		echo "<tr><td class='estilo2' bgcolor='#FF0202'>Cliente:</td> ";
		echo "<td class='estilo1'>".$Cliente." </td>";
		echo "</tr>";
		
		echo "<tr><td class='estilo2' bgcolor='#FF0202'>Solicitud:</td> ";
		echo "<td class='estilo1'>".$Solicitud." </td>";
		echo "</tr>";
		
		echo "<tr><td class='estilo2' bgcolor='#FF0202'>Documentacion:</td> ";
		echo "<td class='estilo1'>".$Documentacion." </td>";
		echo "</tr>";
		
		echo "<tr><td class='estilo2' bgcolor='#FF0202'>Actividad:</td> ";
		echo "<td class='estilo1'>".$Actividad."</td>";
		echo "</tr>";
		
		echo "<tr><td class='estilo2' bgcolor='#FF0202'>Ticket:</td> ";
		echo "<td class='estilo1'>".$Ticket." </td>";
		echo "</tr>";
		
		echo "<tr><td class='estilo2' bgcolor='#FF0202'>Fecha fin:</td> ";
		echo "<td class='estilo1'>".$Fecha_fin."</td>";
		echo "</tr>";
		
		echo "<tr><td class='estilo2' bgcolor='#FF0202'>Hora fin:</td> ";
		echo "<td class='estilo1'>".$Hora_fin."</td>";
		echo "</tr>";
		
		echo "<tr><td class='estilo2' bgcolor='#FF0202'>Ticket une:</td> ";
		echo "<td class='estilo1'>".$Ticket_une."</td>";
		echo "</tr>";
		echo "</table>";
		}
		
		else {
		echo "<table border='1' align='center'>";		
		echo "<tr><td class='estilo2' bgcolor='#FF0202'>Fecha inicio:</td>";
		echo "<td class='estilo1'>".$Fecha_inicio." </td>";
		echo "</tr>";
		
		echo "<tr><td class='estilo2' bgcolor='#FF0202'>Hora inicio:</td>";
		echo "<td class='estilo1'>".$Hora_inicio." </td>";
		echo "</tr>";
		
		echo "<tr><td class='estilo2' bgcolor='#FF0202'>Cliente:</td> ";
		echo "<td class='estilo1'>".$Cliente." </td>";
		echo "</tr>";
		
		echo "<tr><td class='estilo2' bgcolor='#FF0202'>Solicitud:</td> ";
		echo "<td class='estilo1'>".$Solicitud." </td>";
		echo "</tr>";
		
		echo "<tr><td class='estilo2' bgcolor='#FF0202'>Documentacion:</td> ";
		echo "<td class='estilo1'>".$Documentacion." </td>";
		echo "</tr>";
		
		echo "<tr><td class='estilo2' bgcolor='#FF0202'>Actividad:</td> ";
		echo "<td class='estilo1'>".$Actividad."</td>";
		echo "</tr>";
		
		echo "<tr><td class='estilo2' bgcolor='#FF0202'>Ticket:</td> ";
		echo "<td class='estilo1'>".$Ticket." </td>";
		echo "</tr>";
		
		echo "<tr><td class='estilo2' bgcolor='#FF0202'>Fecha fin:</td> ";
		echo "<td><input type='text' value='0' name='Fecha_fin' class='estilo1'></td>";
		echo "</tr>";
		
		echo "<tr><td class='estilo2' bgcolor='#FF0202'>Hora fin:</td> ";
		echo "<td><input type='text' value='0' name='Hora_fin' class='estilo1'></td>";
		echo "</tr>";
		
		echo "<tr><td class='estilo2' bgcolor='#FF0202'>Ticket une:</td> ";
		echo "<td class='estilo1'>".$Ticket_une."</td>";
		echo "</tr>";
		echo "</table>";
	}
	}
echo "<table border='0'>";
echo '<a href="reportes_outsourcing.php"><br><img src="images/anterior.jpg" width="50" height="50" align="left" /></a>';	
echo "</table>";	

mysql_close($Link);	
?>

<br>
 <input name="guardar" type="image" value="Enviar" alt="Submit" src="images/guardar.jpg" align="right" width="55" height="60" /> </p> 

</form>
</body>  
 </html> 
Código PHP:
<?


$sql
=mysql_query("select Fecha_inicio,Hora_inicio,Cliente,Solicitud,Documentacion,Actividad,Ticket,Fecha_fin,Hora_fin,Ticket_une from formulario where Ticket='$cerrar' ")
or die (
"problemas en el select".mysql_error());

$Fecha_inicio=$_POST['Fecha_inicio'];
$Hora_inicio=$_POST['Hora_inicio'];
$Cliente=$_POST['Cliente'];
$Solicitud=$_POST['Solicitud'];
$Documentacion=$_POST['Documentacion'];
$Actividad=$_POST['Actividad'];
$Ticket=$_POST['Ticket'];
$Fecha_fin=$_POST['Fecha_fin'];
$Hora_fin=$_POST['Hora_fin'];
$Ticket_une=$_POST['Ticket_une'];

    
//$cerrar=$_POST['cerrar'];
$sql=mysql_query("select Ticket,Ticket_une from formulario where Ticket='$Ticket'");

//where Fecha='$Diarios'
$num=mysql_num_rows($sql);    
echo 
$num;
        
        
$mysql=mysql_query("update formulario set Fecha_fin='$Fecha_fin',Hora_fin='$Hora_fin'"
        or die (
"problemas en el update".mysql_error());
        echo 
"<table border='1' align='center'>"; echo "<br>";
        echo 
"<tr><td class='estilo2' bgcolor='#FE2E2E' align='center' colspan='2'>Cambios Guardados</td></tr>
        <tr><td class='estilo3'>Fecha_inicio</td><td>$Fecha_inicio</td></tr>
        <tr><td class='estilo3'>Hora_inicio</td><td>$Hora_inicio</td></tr>
        <tr><td class='estilo3'>Cliente</td><td>$Cliente</td></tr>
        <tr><td class='estilo3'>Solicitud</td><td>$Solicitud</td></tr>
        <tr><td class='estilo3'>Documentacion</td><td>$Documentacion</td></tr>
        <tr><td class='estilo3'>Actividad</td><td>$Actividad</td></tr>
        <tr><td class='estilo3'>Fecha_fin</td><td>$Fecha_fin</td></tr>
        <tr><td class='estilo3'>Hora_fin</td><td>$Hora_fin</td></tr>
        <tr><td class='estilo3'>Ticket_une</td><td>$Ticket_une</td></tr>
        
        "

        echo 
"</table>"; echo "<br>";
//<tr><td class='estilo3'>Numero de ticket asignado</td><td>$Ticket</td></tr>
        
echo "<table border='0'>";
echo 
'<a href="reportes_outsourcing.php"><br><img src="../images/anterior.jpg" width="50" height="50" align="left" /></a>';    
echo 
"</table>";    
        

mysql_close($Link);

?>
espero me puedan ayudar jaja depronto es una bobada
Gracias
  #2 (permalink)  
Antiguo 25/06/2012, 11:39
Avatar de sonics2008  
Fecha de Ingreso: diciembre-2009
Ubicación: Santiago, Chile
Mensajes: 60
Antigüedad: 14 años, 4 meses
Puntos: 2
Respuesta: problema con formularios "update"

hola wendyl, creo que tu problema le falta el where id='0001',

cuando haces un update si no le dices el id a modificar este te modifica todos los parametros, lo que deberias hacer es buscar todas las fechas e ides que no estan cerradas y por medio de un ciclo ir cerrando las fechas por cada id.

espero me entiendas, cualquier cosas estamos para ayudarte
  #3 (permalink)  
Antiguo 25/06/2012, 11:56
 
Fecha de Ingreso: marzo-2012
Ubicación: Bogota
Mensajes: 177
Antigüedad: 12 años
Puntos: 2
Respuesta: problema con formularios "update"

Cita:
Iniciado por sonics2008 Ver Mensaje
hola wendyl, creo que tu problema le falta el where id='0001',

cuando haces un update si no le dices el id a modificar este te modifica todos los parametros, lo que deberias hacer es buscar todas las fechas e ides que no estan cerradas y por medio de un ciclo ir cerrando las fechas por cada id.

espero me entiendas, cualquier cosas estamos para ayudarte
$Fecha_inicio=$_POST['Fecha_inicio'];
$Hora_inicio=$_POST['Hora_inicio'];
$Cliente=$_POST['Cliente'];
$Solicitud=$_POST['Solicitud'];
$Documentacion=$_POST['Documentacion'];
$Actividad=$_POST['Actividad'];
$Ticket=$_POST['Ticket'];
$Fecha_fin=$_POST['Fecha_fin'];
$Hora_fin=$_POST['Hora_fin'];
$Ticket_une=$_POST['Ticket_une'];

//$cerrar=$_POST['cerrar'];
$sql=mysql_query("select Ticket,Ticket_une from formulario where Ticket_une='$Ticket_une'");

mira lo que pasa es q en ese archivo no me reconose ninguna variable entonces cuando hago el select no me toma el where nose por que :/
  #4 (permalink)  
Antiguo 25/06/2012, 11:59
Avatar de sonics2008  
Fecha de Ingreso: diciembre-2009
Ubicación: Santiago, Chile
Mensajes: 60
Antigüedad: 14 años, 4 meses
Puntos: 2
Respuesta: problema con formularios "update"

pero la variable Ticket_une te entra algun valor? si se asi el where del update debe ser por el mismo valor que tiene el Ticket_une
  #5 (permalink)  
Antiguo 25/06/2012, 13:27
 
Fecha de Ingreso: marzo-2012
Ubicación: Bogota
Mensajes: 177
Antigüedad: 12 años
Puntos: 2
Respuesta: problema con formularios "update"

Cita:
Iniciado por sonics2008 Ver Mensaje
pero la variable Ticket_une te entra algun valor? si se asi el where del update debe ser por el mismo valor que tiene el Ticket_une
Notice: Undefined index: Fecha_inicio in C:\xampp\htdocs\Principal\Outsourcing\guardar.php on line 47

Notice: Undefined index: Hora_inicio in C:\xampp\htdocs\Principal\Outsourcing\guardar.php on line 48

Notice: Undefined index: Cliente in C:\xampp\htdocs\Principal\Outsourcing\guardar.php on line 49

Notice: Undefined index: Solicitud in C:\xampp\htdocs\Principal\Outsourcing\guardar.php on line 50

Notice: Undefined index: Documentacion in C:\xampp\htdocs\Principal\Outsourcing\guardar.php on line 51

Notice: Undefined index: Actividad in C:\xampp\htdocs\Principal\Outsourcing\guardar.php on line 52

Notice: Undefined index: Ticket in C:\xampp\htdocs\Principal\Outsourcing\guardar.php on line 53

Notice: Undefined index: Ticket_une in C:\xampp\htdocs\Principal\Outsourcing\guardar.php on line 56

solo salen estos errores y no me sale mas :(

y al cambiar el where me sale la tabla pero solo me muestra los datos que fueron cambiados es decir fecha fin y hora fin pero los otros me aparecen vacios
  #6 (permalink)  
Antiguo 25/06/2012, 14:39
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 18 años, 10 meses
Puntos: 88
Respuesta: problema con formularios "update"

solo te devuelve los valores de fecha fin y hora fin porque son inputs los demas solo es texto en pantalla, convierte las entradas que necesites en inputs.

saludos.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #7 (permalink)  
Antiguo 26/06/2012, 09:57
 
Fecha de Ingreso: marzo-2012
Ubicación: Bogota
Mensajes: 177
Antigüedad: 12 años
Puntos: 2
Respuesta: problema con formularios "update"

si graciasss :)

Etiquetas: formulario, html, mysql, registro, sql, tabla, variables
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 16:11.