Foros del Web » Programando para Internet » PHP »

Problemas con fechas y chekbox

Estas en el tema de Problemas con fechas y chekbox en el foro de PHP en Foros del Web. Saludos a todos Les comento que tengo un sistema de help-desk y se manejan solicitudes que llegan de una web Dentro de las solicutudes se ...
  #1 (permalink)  
Antiguo 08/03/2006, 08:37
Avatar de carlosfocus  
Fecha de Ingreso: enero-2006
Ubicación: Venezuela
Mensajes: 823
Antigüedad: 18 años, 10 meses
Puntos: 0
Exclamación Problemas con fechas y chekbox

Saludos a todos

Les comento que tengo un sistema de help-desk y se manejan solicitudes que llegan de una web

Dentro de las solicutudes se manejan ciertos procedimientos los cuales el usuario los seleccionan en checkbox, al momento de cumplir un paso

ahora, cuando la persona selecciona un checkbox se actualiza en la base de datos la fecha en la cual lo selecciono y lo hago con este code

Código PHP:
//
   
dbconnect();
  
$result mysql_query("update ".$tblrequests." set categoryid='" $categoryid "',
   $sql="
update $tblrequests set categoryid='$categoryid'";
   $sql.="
severity='$severity',";
   $sql.="
estimatedtime='$estimatedtime',";
   $sql.="
status='$status',";
   $sql.="
technicianid='$technicianid',";
   $sql.="
emailupdate='$emailupdate',";
   $sql.="
releasecall='$releasecall',";
   $sql.="
resolution='$resolution',";
   $sql.="
status2='$status2',";
   $sql.="
op1='$op1',";
   $sql.="
op2='$op2',";
   $sql.="
op3='$op3',";
   $sql.="
op4='$op4',";    
   $sql.="
op5='$op5',";    
   $sql.="
op6='$op6',";    
   $sql.="
op7='$op7',";    
   $sql.="
op8='$op8',";    
   $sql.="
op9='$op9',";    
   $sql.="
op10='$op10',";                                    
   $sql.="
nrequest='$nrequest',";
   $sql.="
sorder='$sorder',";
   $sql.="
nrfqm='$nrfqmm',";
   $sql.="
pdtc='$pdtc',";
   $sql.="
postc='$postc',";   
   $sql.="
nfactura='$nfactura',";
   if($op2=="
1")  $sql.=" fop2=now(),";   
   if($op3=="
1")  $sql.=" fop3=now(),";    
   if($op4=="
1")  $sql.=" fop4=now(),";   
   if($op5=="
1")  $sql.=" fop5=now(),";  
   if($op6=="
1")  $sql.=" fop6=now(),";            
   if($op7=="
1")  $sql.=" fop7=now(),";  
   if($op8=="
1")  $sql.=" fop8=now(),";  
   if($op9=="
1")  $sql.=" fop9=now(),";  
   if($op10=="
1")  $sql.=" fop10=now(),";     
   if($op1=="
1")  $sql.=" fop1=now() ";  
   $sql.="
where ticketnumber='$ticketnumber'".  mysql_error();
   $result=mysql_query($sql);    
    if (!$result) {
     die('Invalid query: ' . mysql_error());
     } 
Y cuando la persona vuelve a entrar a la solicitud no puedes Des-seleccionar el checkbox

Mi problema esta en que como el cjeckbox manda un valor que es 1 y al estar seleccionado me lo envia y me actualiza la fecha a la de hoy por ejemplo y yo seleccione el primer checkbox ayer y me coloco la fecha de ayer
, pero como seleccione otro hoy me cambio la fecha en todos

¿Como hago para que no me cambie la fecha en los demas campos?

Gracias
__________________
Carlos Herrera
Web Developer
www.carlos.com.ve
Para descargar archivos propios a su Teléfono Mobil? www.carlosfocus.com

Última edición por carlosfocus; 08/03/2006 a las 10:49
  #2 (permalink)  
Antiguo 08/03/2006, 09:03
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 21 años, 1 mes
Puntos: 11
Podrias separar los update en tantos como fechas debas colocar. En el primero actualizas los datos generales, no las fechas, luego en los siguientes, actualizas los campos fecha si es que no tienen valor. Ejemplo del update de las fechas:

$sql="update $tblrequests set fop1=now() where fop1 is null and ticketnumber='$ticketnumber'";
  #3 (permalink)  
Antiguo 08/03/2006, 09:06
Avatar de carlosfocus  
Fecha de Ingreso: enero-2006
Ubicación: Venezuela
Mensajes: 823
Antigüedad: 18 años, 10 meses
Puntos: 0
Gracias caludio jejeje siempre me ayudas y resulta muy buena tu ayuda, pero con el code que tengo ahi mas o menos como quedaria?

no entendi bien lo que me dijijste de separar los updates....
__________________
Carlos Herrera
Web Developer
www.carlos.com.ve
Para descargar archivos propios a su Teléfono Mobil? www.carlosfocus.com
  #4 (permalink)  
Antiguo 08/03/2006, 09:13
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 21 años, 1 mes
Puntos: 11
Código PHP:
<?php BEGIN__VBULLETIN__CODE__SNIPPET //
   
dbconnect();
   
$sql="update $tblrequests set categoryid='$categoryid', ";
   
$sql.="severity='$severity',";
   
$sql.="estimatedtime='$estimatedtime',";
   
$sql.="status='$status',";
   
$sql.="technicianid='$technicianid',";
   
$sql.="emailupdate='$emailupdate',";
   
$sql.="releasecall='$releasecall',";
   
$sql.="resolution='$resolution',";
   
$sql.="status2='$status2',";
   
$sql.="op1='$op1',";
   
$sql.="op2='$op2',";
   
$sql.="op3='$op3',";
   
$sql.="op4='$op4',";    
   
$sql.="op5='$op5',";    
   
$sql.="op6='$op6',";    
   
$sql.="op7='$op7',";    
   
$sql.="op8='$op8',";    
   
$sql.="op9='$op9',";    
   
$sql.="op10='$op10',";                                    
   
$sql.="nrequest='$nrequest',";
   
$sql.="sorder='$sorder',";
   
$sql.="nrfqm='$nrfqmm',";
   
$sql.="pdtc='$pdtc',";
   
$sql.="postc='$postc',";   
   
$sql.="nfactura='$nfactura' ";
   
$sql.="where ticketnumber='$ticketnumber'";
 
   
$result=mysql_query($sql);    
    if (!
$result) {
     die(
'Invalid query: ' mysql_error());
     }  
   
//actualizando las fechas
   
$sql="update $tblrequests set fop2=now() where fop2 is null and ticketnumber='$ticketnumber'";
   if(
$op2=="1")  mysql_query($sql);
   
$sql="update $tblrequests set fop3=now() where fop3 is null and ticketnumber='$ticketnumber'";
   if(
$op3=="1")  mysql_query($sql);
   
//lo demas lo cambias siguiendo del mismo patron   
   
...
   
?>
  #5 (permalink)  
Antiguo 08/03/2006, 09:18
Avatar de carlosfocus  
Fecha de Ingreso: enero-2006
Ubicación: Venezuela
Mensajes: 823
Antigüedad: 18 años, 10 meses
Puntos: 0
Ok gracias :D ahora man, mi ampo fecha es NULL en mi tabla, esta bien asi? o lo coloco NOT NULL
__________________
Carlos Herrera
Web Developer
www.carlos.com.ve
Para descargar archivos propios a su Teléfono Mobil? www.carlosfocus.com
  #6 (permalink)  
Antiguo 08/03/2006, 09:19
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 21 años, 1 mes
Puntos: 11
Si colocas not null, deberás hacer el where de otra forma, dependiendo con que rellene mysql.
  #7 (permalink)  
Antiguo 08/03/2006, 09:23
Avatar de carlosfocus  
Fecha de Ingreso: enero-2006
Ubicación: Venezuela
Mensajes: 823
Antigüedad: 18 años, 10 meses
Puntos: 0
Entonces lo dejo NULL???

mi code quedo asi

Código PHP:
//

 
$sql="update $tblrequests set categoryid='$categoryid', ";
   
$sql.="severity='$severity',";
   
$sql.="estimatedtime='$estimatedtime',";
   
$sql.="status='$status',";
   
$sql.="technicianid='$technicianid',";
   
$sql.="emailupdate='$emailupdate',";
   
$sql.="releasecall='$releasecall',";
   
$sql.="resolution='$resolution',";
   
$sql.="status2='$status2',";
   
$sql.="op1='$op1',";
   
$sql.="op2='$op2',";
   
$sql.="op3='$op3',";
   
$sql.="op4='$op4',";    
   
$sql.="op5='$op5',";    
   
$sql.="op6='$op6',";    
   
$sql.="op7='$op7',";    
   
$sql.="op8='$op8',";    
   
$sql.="op9='$op9',";    
   
$sql.="op10='$op10',";                                    
   
$sql.="nrequest='$nrequest',";
   
$sql.="sorder='$sorder',";
   
$sql.="nrfqm='$nrfqmm',";
   
$sql.="pdtc='$pdtc',";
   
$sql.="postc='$postc',";   
   
$sql.="nfactura='$nfactura' ";
   
$sql.="where ticketnumber='$ticketnumber'";
 
   
$result=mysql_query($sql);    
    if (!
$result) {
     die(
'Invalid query: ' mysql_error());
     }  
   
//actualizando las fechas
   
$sql="update $tblrequests set fop2=now() where fop2 is null and ticketnumber='$ticketnumber'";
   if(
$op2=="1")  mysql_query($sql);
   
$sql="update $tblrequests set fop3=now() where fop3 is null and ticketnumber='$ticketnumber'";
   if(
$op3=="1")  mysql_query($sql);
   
$sql="update $tblrequests set fop4=now() where fop4 is null and ticketnumber='$ticketnumber'";
   if(
$op4=="1")  mysql_query($sql);
   
$sql="update $tblrequests set fop5=now() where fop5 is null and ticketnumber='$ticketnumber'";
   if(
$op5=="1")  mysql_query($sql);   
   
$sql="update $tblrequests set fop6=now() where fop6 is null and ticketnumber='$ticketnumber'";
   if(
$op6=="1")  mysql_query($sql);   
   
$sql="update $tblrequests set fop7=now() where fop7 is null and ticketnumber='$ticketnumber'";
   if(
$op7=="1")  mysql_query($sql);  
   
$sql="update $tblrequests set fop8=now() where fop8 is null and ticketnumber='$ticketnumber'";
   if(
$op8=="1")  mysql_query($sql);    
   
$sql="update $tblrequests set fop9=now() where fop9 is null and ticketnumber='$ticketnumber'";
   if(
$op9=="1")  mysql_query($sql);   
   
$sql="update $tblrequests set fop10=now() where fop10 is null and ticketnumber='$ticketnumber'";
   if(
$op10=="1")  mysql_query($sql);   
   
$sql="update $tblrequests set fop1=now() where fop1 is null and ticketnumber='$ticketnumber'";
   if(
$op1=="1")  mysql_query($sql); 

Y no me hace ninguna actualizacion en la base de datos man .........................
__________________
Carlos Herrera
Web Developer
www.carlos.com.ve
Para descargar archivos propios a su Teléfono Mobil? www.carlosfocus.com
  #8 (permalink)  
Antiguo 08/03/2006, 10:20
Avatar de carlosfocus  
Fecha de Ingreso: enero-2006
Ubicación: Venezuela
Mensajes: 823
Antigüedad: 18 años, 10 meses
Puntos: 0
Ayuda please
__________________
Carlos Herrera
Web Developer
www.carlos.com.ve
Para descargar archivos propios a su Teléfono Mobil? www.carlosfocus.com
  #9 (permalink)  
Antiguo 08/03/2006, 12:07
Avatar de carlosfocus  
Fecha de Ingreso: enero-2006
Ubicación: Venezuela
Mensajes: 823
Antigüedad: 18 años, 10 meses
Puntos: 0
Alguien sabe lo que necesito? o el por que no esta indexando el dato?
__________________
Carlos Herrera
Web Developer
www.carlos.com.ve
Para descargar archivos propios a su Teléfono Mobil? www.carlosfocus.com
  #10 (permalink)  
Antiguo 08/03/2006, 20:54
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 21 años, 1 mes
Puntos: 11
Revisa los registros de tu tabla y ve que contienen los campos de fecha, en algunos casos el dato queda como "0000-00-00", en cuyo caso el where de la consulta varía a:

$sql="update $tblrequests set fop1=now() where fop1= '0000-00-00' and ticketnumber='$ticketnumber'";
  #11 (permalink)  
Antiguo 09/03/2006, 07:34
Avatar de carlosfocus  
Fecha de Ingreso: enero-2006
Ubicación: Venezuela
Mensajes: 823
Antigüedad: 18 años, 10 meses
Puntos: 0
Gracias man :D eso pense anoche y ya lo acomode

Gracias por tu ayuda.
__________________
Carlos Herrera
Web Developer
www.carlos.com.ve
Para descargar archivos propios a su Teléfono Mobil? www.carlosfocus.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 21:50.