Foros del Web » Programando para Internet » PHP »

Poner un campo fecha y que se actualice cuando lo modifico

Estas en el tema de Poner un campo fecha y que se actualice cuando lo modifico en el foro de PHP en Foros del Web. Buenas, tengo un problema que no logro resolver. Me basé en un código ya hecho pero mi intención fue crear 2 campos mas (fecha y ...
  #1 (permalink)  
Antiguo 12/12/2007, 11:15
 
Fecha de Ingreso: septiembre-2005
Mensajes: 379
Antigüedad: 18 años, 7 meses
Puntos: 0
Poner un campo fecha y que se actualice cuando lo modifico

Buenas, tengo un problema que no logro resolver. Me basé en un código ya hecho pero mi intención fue crear 2 campos mas (fecha y rate). Pues bien, he logrado mostrar el valor del campo "rate" y he conseguido tambien modificarlo y así actualizar su valor(con un update). Lo que no he conseguido ha sido el campo "fecha", no se que habrá que poner para que me actualice el valor.
Os pongo el código:


Código PHP:
{foreach from=$tasks item=task}
     <
tr {if $task.isRunning}class="runningJobs"{/if}>
    
                 <
td><input class="editMe" style="text-align:right" type="text" name="rate[{$task.id}]" value="{$task.rate|default:"0.00"}" size="6"></td>

            <
td align="center"><input type="text" name="fecha[{$task.id}]" size="12" value="{$task.fecha|default:"0000-00-00"}" class="editMe" size="10" style="text-align:right"></td
El script que hace el update es el siguiente(os dejo los comentarios en ingles que habian)
Código PHP:
<?php
foreach ($_REQUEST['task'] as $key=>$value)
{
    
//...... This allows us to reset the punch clock
    
$taskTime $_REQUEST['taskTime'];

    
//...... Parse the time fields
    
$pt $ts->parseTime($taskTime[$key]);

    
//...... If we alread have a punchout time
    
$Q="SELECT punchOut from clock WHERE id='".intval($key)."'";
    list(
$po) = mysql_fetch_row(mysql_query($Q));

    if (
$po)
    {
        
$pt $po $pt;
    }
    else
    {
        
$pt time() - $pt;
    }
    
//.........................................

    //...... Update the task clock
    
$Q="UPDATE clock 
        SET punchDesc='"
.addslashes($value)."',
        punchIn='"
.$pt."',
            rate='"
.floatval($rate[$key])."',
             WHERE id='"
.intval($key)."' 
          AND user_id='$_SESSION[id]' LIMIT 1"
;

    
mysql_query($Q);
}

if (
$_REQUEST['REF'])
{
    
header("Location: ".base64_decode($_REQUEST[REF]));
}
else 
header("Location: $_SERVER[HTTP_REFERER]");

?>
Como veis yo he añadido en el UPDATE el campo rate y me lo actualiza perfectamente. El problema está en que no se que poner en este codigo para que me tome el campo fecha (que es de tipo DATE).
Espero me puedan ayudar porque ando muy atascado con esto ;) GRACIAS.
  #2 (permalink)  
Antiguo 12/12/2007, 11:30
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 19 años, 1 mes
Puntos: 33
Re: Poner un campo fecha y que se actualice cuando lo modifico

Pero porque dices que no te lo guarda?
¿Te marco un error?¿No hace nada? etc.

Saludillos.
  #3 (permalink)  
Antiguo 12/12/2007, 11:35
 
Fecha de Ingreso: septiembre-2005
Mensajes: 379
Antigüedad: 18 años, 7 meses
Puntos: 0
Re: Poner un campo fecha y que se actualice cuando lo modifico

Hola fenómeno, te agradezco tu interés.
He logrado que el campo fecha me muestre el valor que tiene almacenado en la base de datos. El problema está que al modificar ese valor en el formulario y al pulsar ACTUALIZAR obviamente no hace nada porque en mi UPDATE no tengo definido el campo "fecha", ya que no se como ponerlo para que al darle a ACTUALIZAR me haga el update.

Como ves en el código el UPDATE tiene lo siguiente:
Código PHP:
$Q="UPDATE clock  
        SET punchDesc='"
.addslashes($value)."', 
        punchIn='"
.$pt."', 
            rate='"
.floatval($rate[$key])."', 
             WHERE id='"
.intval($key)."'  
          AND user_id='$_SESSION[id]' LIMIT 1"

Habría que poner un campo FECHA= "algo". Eso es lo que no entiendo ni se lo que tengo que poner xD
  #4 (permalink)  
Antiguo 12/12/2007, 11:40
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 19 años, 1 mes
Puntos: 33
Re: Poner un campo fecha y que se actualice cuando lo modifico

Pues no seria cuestion de agregar simplemente la linea de la fecha, es decir;


Código PHP:
$Q="UPDATE clock SET punchDesc='".addslashes($value)."', 
    punchIn='"
.$pt."', 
    rate='"
.floatval($rate[$key])."', 
    fecha='"
.$fecha[$key]."',
    WHERE id='"
.intval($key)."'  
    AND user_id='$_SESSION[id]' LIMIT 1"

Saludillos.
  #5 (permalink)  
Antiguo 12/12/2007, 11:50
 
Fecha de Ingreso: septiembre-2005
Mensajes: 379
Antigüedad: 18 años, 7 meses
Puntos: 0
Re: Poner un campo fecha y que se actualice cuando lo modifico

Pues si, era solo eso jeje. Como había leído lo del floatval para ponerlo en el campo "rate", supuse que tambien habría que poner un dateval o algo por el estilo el cual no me funcionaba. Simplemente puse la línea que me dijiste y funcionando está.
Muchas gracias mauled ;)
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 18:31.