Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Problema con un codigo PHP

Estas en el tema de Problema con un codigo PHP en el foro de PHP en Foros del Web. hola amigos estoy realizando un codigo de php dentro de un script para ejecutarlo por medio de una funcion. esplico: tengo un base de datos ...
  #1 (permalink)  
Antiguo 01/10/2013, 13:50
 
Fecha de Ingreso: enero-2007
Mensajes: 58
Antigüedad: 17 años, 3 meses
Puntos: 3
Problema con un codigo PHP

hola amigos estoy realizando un codigo de php dentro de un script para ejecutarlo por medio de una funcion.
esplico:
tengo un base de datos con una tabla activos que tiene valores como el valor el valoactual, depreciacion, tiempo de uso, porcentaje de depreciacion secuencia (numero llave), fechaactual que pueden ver en la consulta que hago en el codigo que pongo a continuacion. La idea es calcular la depreciacion y modificar los valores segun su depreciacion y actualizar la tabla activos con los nuevos valores...
para ello
1- realizo una consulta a la tabla activos y tomo los valores que hay hasta el momento
2- recalculo la depreciacion y rebajo los valores depreciados de los valores actuales
3- actualizo la tabla activos con los nuevos valores

el problema es que no hace nada jajajaj...

dejo aqui el codigo a ver si pueden ojearlo y decirme que estoy haciendo mal.


mysql_select_db($database_conexionsara, $conexionsara);
$query_ConsultaActivos = "SELECT * FROM activos";
$ConsultaActivos = mysql_query($query_ConsultaActivos, $conexionsara) or die(mysql_error());
$row_ConsultaActivos = mysql_fetch_assoc($ConsultaActivos);
$totalRows_ConsultaActivos = mysql_num_rows($ConsultaActivos);
?>
<script>
function SepararFecha(){
<?php
date_default_timezone_set("America/Panama");
/*$Porcentaje = $_POST["Porc"];*/
/*$ValorActual = $_POST["ValorActual"];*/
do{
$Porcentaje =$row_ConsultaActivos['PORCDEP'];
$ValorActual =$row_ConsultaActivos['VALORACTUAL'];
$Secuencia = $row_ConsultaActivos['SECUENCIA'];
$ValorAgregado = $row_ConsultaActivos['VALORAGREGADO'];
$Valor = $row_ConsultaActivos['VALOR'];
if (($Porcentaje)> 0){
$date = strtotime(date("y-m-d"));
$date1 = date("y-m-d");
$AñoAct= date("Y", $date);
$MesAct= date("m", $date);
$DiaAct= date("d", $date);

$date7 = strtotime($row_ConsultaActivos['FECHAADQUISICION']);
$AñoAdq= date("Y", $date7);
$MesAdq= date("m", $date7);
$DiaAdq= date("d", $date7);

if(($DiaAct)< $DiaAdq){
$MesAct= $MesAct - 1;
$DiaAct = $DiaAct +30;
}
if(($MesAct)< $MesAdq){
$AñoAct= $AñoAct - 1;
$MesAct = $MesAct +12;
}

$Dia = $DiaAct - $DiaAdq;
$Mes = $MesAct - $MesAdq;
$Año = $AñoAct - $AñoAdq;

$TiempoDeUso = ( "En el inventario, El tiempo de uso es de: ". $Año ." años ".$Mes . " meses ". $Dia. " dias ");
$AñosEnDias = $Año * 365;
$MesesEnDias = $Mes * 30;
$TiempoDeUso = $AñosEnDias + $MesesEnDias + $fecha_C;
//==============================================
// SI EL VALOR ACTUAL ES MAYOR O IGUAL A 100
//==============================================
if (($ValorActual)>= 100) {
$depacum = $row_ConsultaActivos['TOTALDEPRECIADO'];
$DepAnual=(($ValorActual * $Porcentaje)/100)* $Año;
$DepMen = ((($ValorActual * $Porcentaje)/100)/12)* $Mes;
$DepDia = (((($ValorActual * $Porcentaje)/100)/12)/30)* $Dia;
$DepTotal = $DepAnual + $DepMen + $DepDia;
$ValorReal = $ValorActual - $DepTotal;
$NewVal= $ValorActual - $DepTotal;
if (($NewVal)<= 1){
$NewVal = 1;
$TotalDepreciado = $ValorActual - 1;
}else{
$TotalDepreciado = $DepTotal;
}
$RestaAcumulada = $depacum - $DepTotal;
//==============================================
// ACTUALIZACION LOS DATOS DE LA TABLA ACTIVOS
//==============================================
$updateSQL = sprintf("UPDATE activos SET DEPRECIACIONACUMULADA=%s, VALORREAL=%s, VALORDEPRECANUAL=%s, VALORDEPRECMENS=%s, VALORDEPRECDIARIO=%s FECHAACTUAL=%s, TOTALDEPRECIADO=%s, TIEMPOUSO=%s WHERE SECUENCIA=%s",
GetSQLValueString($DepTotal, "double"),
GetSQLValueString($NewVal, "double"),
GetSQLValueString($DepAnual, "double"),
GetSQLValueString($DepMen, "double"),
GetSQLValueString($DepDia, "double"),
GetSQLValueString($date, "date"),
GetSQLValueString($TotalDepreciado, "double"),
GetSQLValueString($TiempoDeUso, "text"),
GetSQLValueString($Secuencia, "text"));
mysql_select_db($database_conexionsara, $conexionsara);
mysql_query("SET NAMES 'utf-8'");
$Result1 = mysql_query($updateSQL, $conexionsara) or die(mysql_error());
if(($DepTotal)>$ValorAgregado){
$TotalDepreciado = ($Valor + $DepTotal)-1;
$updateSQL1 = sprintf("UPDATE activos SET TOTALDEPRECIADO=%s WHERE SECUENCIA=%s",
GetSQLValueString($TotalDepreciado, "double"),
GetSQLValueString($Secuencia, "text"));
mysql_select_db($database_conexionsara, $conexionsara);
mysql_query("SET NAMES 'utf-8'");
$Result1 = mysql_query($updateSQL1, $conexionsara) or die(mysql_error());
}

if (($RestaAcumulada)<> 0){
$DepreciacionAcumulada = $depacum + $DepDia;
$updateSQL2 = sprintf("UPDATE activos SET DEPRECIACIONACUMULADA=%s WHERE SECUENCIA=%s",
GetSQLValueString($DepreciacionAcumulada, "double"),
GetSQLValueString($Secuencia, "text"));
mysql_select_db($database_conexionsara, $conexionsara);
mysql_query("SET NAMES 'utf-8'");
$Result1 = mysql_query($updateSQL2, $conexionsara) or die(mysql_error());
}
//==============================================
// SI EL VALOR ACTUAL ES MENOR A 100
//==============================================
}
if (($ValorActual)< 100) {
$DepDia = $ValorActual / 365 ;
$DepTotal=$TiempoDeUso * $DepDia;
$NewVal = $ValorActual - $DepTotal;
if (($NewVal)<= 0){
$NewVal = 1;
$TotalDepreciado = $ValorActual - 1;
}else{
$TotalDepreciado = $DepTotal;
}
$updateSQL = sprintf("UPDATE activos SET TOTALDEPRECIADO=%s, VALORREAL=%s, VALORDEPRECDIARIO=%s, FECHAACTUAL=%s, TIEMPOUSO=%s WHERE SECUENCIA=%s",
GetSQLValueString($TotalDepreciado, "double"),
GetSQLValueString($NewVal, "double"),
GetSQLValueString($DepDia, "double"),
GetSQLValueString($date, "date"),
GetSQLValueString($TiempoDeUso, "text"),
GetSQLValueString($Secuencia, "text"));
mysql_select_db($database_conexionsara, $conexionsara);
mysql_query("SET NAMES 'utf-8'");
$Result1 = mysql_query($updateSQL, $conexionsara) or die(mysql_error());
}
}
} while ($row_ConsultaActivos = mysql_fetch_assoc($ConsultaActivos));
$rows = mysql_num_rows($ConsultaOrigen);
if($rows > 0) {
mysql_data_seek($ConsultaActivos, 0);
$row_ConsultaActivos = mysql_fetch_assoc($ConsultaActivos);
}

?>
}
</script>

gracias por la ayuda
  #2 (permalink)  
Antiguo 01/10/2013, 14:00
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problema con un codigo PHP

Cita:
dejo aqui el codigo a ver si pueden ojearlo y decirme que estoy haciendo mal.
Antes que nada te sugiero aprendas a usar el foro correctamente, las herramientas de edición proveen de resaltado de sintaxis, no vamos a leer tu texto-plano como animales.

Cita:
el problema es que no hace nada
En segundo lugar, ¿sabes lo que significa "depurar código"?

Si no ves nada, ¿como esperas que adivinemos que hay algo mal?

No podemos ejecutar tu código, ni saber si recibes un error de sintaxis o no, ¿cómo adivinar?

Debes recabar toda la información que puedas para que podamos entender lo que sucede, si no depuras nada de lo que haces nosotros no lo vamos a hacer, es tu código, es tu responsabilidad saber lo que sucede.

Y al final, cuando tengas un problema más objetivo que no entiendas, pues compartes toda la información recabada y vamos viendo.

Cita:
jajajaj...
¿Y encima te da risa?

Vaya, a mi me parece una falta de respeto, deberías mejor tu comunicación.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 01/10/2013, 14:15
Avatar de manuparquegiralda  
Fecha de Ingreso: junio-2012
Ubicación: Barcelona
Mensajes: 241
Antigüedad: 11 años, 10 meses
Puntos: 39
Respuesta: Problema con un codigo PHP

A ver si me he enterado, porque con tanto código cuesta encontrarse. ¿Cuando pretendes que se ejecute el código php, al cargar la página o al llamar a la funcion javascript "SepararFecha"?

Si lo que pretendes es que cuando se llame a la función javascript "SepararFecha" se ejecute el código PHP, ese es tu error.

Si escribes código PHP que necesite interactuar con el servidor dentro de una función javascript, no te la va a hacer, ya que javascript interactua del lado del navegador y php del lado del servidor.

Por ejemplo, si haces algo así:

Código Javascript:
Ver original
  1. function saberHora(){
  2.     <?php
  3.     $hora = date("H:i:s");
  4.     ?>
  5.     alert("<?php echo $hora;?>");
  6. }

Y llamas a la función "saberHora", siempre te dará la hora a la que se cargo la página. A ver si me explico, cuando cargas la página la funcion "date" coge la hora del servidor, pongamos que la página la cargas a las 17:35:42, pues el código php imprimirá esa hora dentro de la función y si esperas cinco minutos y llamas a la función al as 17:40:00, no te cogera la hora actual si no que te volverá a dar la hora a la que se cargo la página ya que fue la hora que imprimió cuando se llamó al servidor.

Entonces ese es tu problema, todo lo que haces dentro de la función "SepararFecha" se ejecuta a la hora de cargar la página no después, ya que no imprimes nada dentro de la función el navegador entiende que esa función está vacia. Comprueba el código fuente de tu página, verás como dentro de la función no te aparece absolutamente nada y nunca te va a ejecutar un código php desde el nevegador.

Para hacer lo que pretendes hacer necesitas lenguajes que interactuen con el servidor, como AJAX que si te permitirá interactuar con el servidor dinámicamente al ejecutar funciones en javascript.

No sé si por aquí van los tiros, si tienes alguna duda o no van por ahi, soy todo oidos :)
__________________
Diseño Web - Arisman Web
  #4 (permalink)  
Antiguo 01/10/2013, 15:04
 
Fecha de Ingreso: enero-2007
Mensajes: 58
Antigüedad: 17 años, 3 meses
Puntos: 3
Respuesta: Problema con un codigo PHP

gracias, gracias , gracias manuparquegiralda eres muy amable al responderme y darme luces de mi problema...
pateketrueke no se si tienes problemas de actitud, pienso que si, si supiera que hacer no vendria aqui a preguntar, hay muchisimos nuevos en el lenguaje y en programacion que despues de leer tu grocero comentario se abstendran de preguntar en este foro.
los foros son para preguntar cuando no sabes.
no soy flojo ni cosa parecida vex el codigo y te das cuenta del el esfuerso que hago a pesar de no saber mucho de php.
no vengo aqui a molestar ni a burlarme de nadie, vengo a pedir ayuda...
pero casualidad que siempre sale un ofendido por cualquier cosa.
si no quieres responder porque por cualquier rason no te parece solo no respondas, yo respeto tu opinion, pero no le hace bien a los demas el ver tus maleducadas formas de tratar con los que en teoria saben menos que tu....

nuevamente gracias manuparquegiralda por tener la educacion y la decencia de responderme con algo concreto voy a intentar seguir tus consejos ya ver como me va...

me disculpo por el chorro de codigo pero es que siempre piden que suban los codigos para poder saber que esta mal
y si no subo todo el codigo como podrian saber donde esta el error.
  #5 (permalink)  
Antiguo 01/10/2013, 15:14
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problema con un codigo PHP

mutant_x, de ninguna forma he reprochado tu problema en particular, la única observación que te hice fue con relación a como redactas tus mensajes, con frases de risa, sin resaltar el código apropiadamente y encima sin depurar.

Hay normas y te sugiero las leas, recuerda que estamos en un foro técnico y si lo único que muestras es código (mal formateado) y dices "pero no me funciona", ¿pues qué podríamos deducir?

Tenemos usuarios aventurados que no les enfada leer código sin formato (a mi si me molesta) y hacen un esfuerzo por entender a pesar de la poca legibilidad del problema y sin más información que un "pero no me funciona".

¿Pero sabes qué?

Podrían ser más usuarios los que intentarían en ayudar si escribes bien, si das formato a tu código, y sobre todo, si aportas más información que sólo "pero no me funciona".

¿Ahora entiendes mi punto?

Ponte en los zapatos de quienes leerían tu problema antes de enviarlo y reflexiona, ¿leerías algo así escrito con la prisa?

Yo no tengo problema en que no sepas lo que preguntas, tengo problemas con todos aquellos que no se molestan en redactar bien sus temas, tampoco me he burlado de ti, ni mucho menos me he enfadado, tampoco te he dicho vago.

No te lo tomes personal, aprende a hacer preguntas inteligentes y sobre todo, aprende a usar las herramientas el foro.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #6 (permalink)  
Antiguo 01/10/2013, 15:50
 
Fecha de Ingreso: enero-2007
Mensajes: 58
Antigüedad: 17 años, 3 meses
Puntos: 3
Respuesta: Problema con un codigo PHP

conprendido... ves ahora suena muy diferente, es que a mis 48 años estoy un poco acostumbrado a tratar con colegas con los que nos tenemos mucho respeto aun y cuando nuestras preguntas sean tontas y mal planteadas. definitivamente debo aprender el uso del foro puesto que hasta hace muy poco lo he enpesado a usar realmente, si me guian puedo aprender a usarlo, un gusto haber aclarado las cosas pateketrueke, te puedo asegurar que no se repetirá mi error. por otro lado tratare de ser mas explicito en mi problema. por cierto el codigo tenia todo el formato del mundo pero al pegarlo aqui se desbarató y no se como hacer para que al pegarlo conserve el formato

siguiendo el consejo de manuparquegiralda he colocodo el codigo fuera del script par probarlo y me dio este mensaje:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FECHAACTUAL='1380603600', TOTALDEPRECIADO=660.5, TIEMPOUSO='5928' WHERE SECUENCI' at line 1

asumo que sera en el primer SQL ,
aclaro : SOY NUEVO EN ESTO DE PHP...
intento aprender y saber que pasa con este codio que dicho sea de paso si llega a funcionar le podra servir de mucho a los nuevos como yo, ya que contiene operaciones con fechas y operaciones matematicas, ademas querys de select y de update y manejo de variables todo en uno solo....

seguire intentando hacerlo andar...

Última edición por mutant_x; 01/10/2013 a las 17:21
  #7 (permalink)  
Antiguo 01/10/2013, 19:05
Avatar de xSkArx  
Fecha de Ingreso: marzo-2008
Ubicación: Chile
Mensajes: 945
Antigüedad: 16 años, 1 mes
Puntos: 96
Respuesta: Problema con un codigo PHP

Cita:
Iniciado por mutant_x Ver Mensaje
conprendido... ves ahora suena muy diferente, es que a mis 48 años estoy un poco acostumbrado a tratar con colegas con los que nos tenemos mucho respeto aun y cuando nuestras preguntas sean tontas y mal planteadas. definitivamente debo aprender el uso del foro puesto que hasta hace muy poco lo he enpesado a usar realmente, si me guian puedo aprender a usarlo, un gusto haber aclarado las cosas pateketrueke, te puedo asegurar que no se repetirá mi error. por otro lado tratare de ser mas explicito en mi problema. por cierto el codigo tenia todo el formato del mundo pero al pegarlo aqui se desbarató y no se como hacer para que al pegarlo conserve el formato

siguiendo el consejo de manuparquegiralda he colocodo el codigo fuera del script par probarlo y me dio este mensaje:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FECHAACTUAL='1380603600', TOTALDEPRECIADO=660.5, TIEMPOUSO='5928' WHERE SECUENCI' at line 1

asumo que sera en el primer SQL ,
aclaro : SOY NUEVO EN ESTO DE PHP...
intento aprender y saber que pasa con este codio que dicho sea de paso si llega a funcionar le podra servir de mucho a los nuevos como yo, ya que contiene operaciones con fechas y operaciones matematicas, ademas querys de select y de update y manejo de variables todo en uno solo....

seguire intentando hacerlo andar...
puedes poner la consulta?
__________________
Busca, lee y practica todo lo que puedas.
Usa siempre el buscador antes de postear.
Si posteas código, utiliza el HIGHLIGHT correcto.
  #8 (permalink)  
Antiguo 01/10/2013, 21:14
 
Fecha de Ingreso: enero-2007
Mensajes: 58
Antigüedad: 17 años, 3 meses
Puntos: 3
Respuesta: Problema con un codigo PHP

listo resuelto el problema ya funciona pero tiene dos defectos
1 en el codigo yo concateno una frase de texto con el resultado de tres variables esto lo guardo en la variable $TiempoDeUso deberia guardar eu texto como este:
"En el inventario, El tiempo de uso es de: 16 años 2 meses 28 dias"
pero en lugar de eso guarda en la base de datos el valor 5155 """UN NUMERO"" no se por que...

2- el codigo lo puse dentro de un do while para que corra el codigo para todos los registros de la tabla activo..
empiesa bien pero se queda 30 segundos haciendolo y manda este mensaje:
Fatal error: Maximum execution time of 30 seconds exceeded in C:\wamp\www\SARA_WEB\pruebafechas.php on line113
supongo que si resuelvo el problema 1 entonces puedo poner este codigo en una funcion en la base de datos y hacer que se ejecute una vez al dia...(ESPERO QUE ESO SE PUEDA HACER EN MYSQL)

pego aqui el codigo ya corregidopra aquellos que son nuevos como yo principalmente y para todo aque que necesite un ejemplo de manejo de fechas, variables consultas y Update a la base de datos asi como el uso de operaciones aritmeticas.

basicamente lo que hace es cojer los datos de una tabla llamada activos y le calcula la depreciacion y el tiempo de uso del activo desde su fecha de compra hasta el momento, y despues actualiza la misma tabla con los nuevos valores

perdon si el codigo se desformatea al pegarlo pero no se como hacer para que se quede intacto

Código PHP:
Ver original
  1. <?php
  2. if (!function_exists("GetSQLValueString")) {
  3. function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
  4. {
  5.   if (PHP_VERSION < 6) {
  6.     $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
  7.   }
  8.  
  9.   $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
  10.  
  11.   switch ($theType) {
  12.     case "text":
  13.       $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
  14.       break;    
  15.     case "long":
  16.     case "int":
  17.       $theValue = ($theValue != "") ? intval($theValue) : "NULL";
  18.       break;
  19.     case "double":
  20.       $theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
  21.       break;
  22.     case "date":
  23.       $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
  24.       break;
  25.     case "defined":
  26.       $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
  27.       break;
  28.   }
  29.   return $theValue;
  30. }
  31. }
  32.  
  33. mysql_select_db($database_conexionsara, $conexionsara);
  34. $query_ConsultaActivos = "SELECT * FROM activos";
  35. $ConsultaActivos = mysql_query($query_ConsultaActivos, $conexionsara) or die(mysql_error());
  36. $row_ConsultaActivos = mysql_fetch_assoc($ConsultaActivos);
  37. $totalRows_ConsultaActivos = mysql_num_rows($ConsultaActivos);
  38.  
  39.     date_default_timezone_set("America/Panama");
  40.     /*$Porcentaje = $_POST["Porc"];*/
  41.     /*$ValorActual = $_POST["ValorActual"];*/
  42.     do{
  43.     $Porcentaje =$row_ConsultaActivos['PORCDEP'];
  44.     $ValorActual =$row_ConsultaActivos['VALORACTUAL'];
  45.     $Secuencia = $row_ConsultaActivos['SECUENCIA'];
  46.     $ValorAgregado = $row_ConsultaActivos['VALORAGREGADO'];
  47.     $Valor = $row_ConsultaActivos['VALOR'];
  48.     if (($Porcentaje)> 0){
  49.         $date = strtotime(date("y-m-d"));
  50.         $date1 = date("Y-m-d");
  51.         $AñoAct= date("Y", $date);
  52.         $MesAct= date("m", $date);
  53.         $DiaAct= date("d", $date);
  54.        
  55.         $date7 = strtotime($row_ConsultaActivos['FECHAADQUISICION']);
  56.         $AñoAdq= date("Y", $date7);
  57.         $MesAdq= date("m", $date7);
  58.         $DiaAdq= date("d", $date7);
  59.        
  60.         if(($DiaAct)< $DiaAdq){
  61.             $MesAct= $MesAct - 1;
  62.             $DiaAct = $DiaAct +30;
  63.         }
  64.         if(($MesAct)< $MesAdq){
  65.             $AñoAct= $AñoAct - 1;
  66.             $MesAct = $MesAct +12;
  67.         }
  68.        
  69.         $Dia = $DiaAct - $DiaAdq;
  70.         $Mes = $MesAct - $MesAdq;
  71.         $Año = $AñoAct - $AñoAdq;
  72.        
  73.         $TiempoDeUso = ( "En el inventario, El tiempo de uso es de: ". $Año ." años ".$Mes . " meses ". $Dia.  " dias ");
  74.         echo $TiempoDeUso;
  75.         echo $row_ConsultaActivos['SECUENCIA'];
  76.         $AñosEnDias = $Año * 365;
  77.         $MesesEnDias = $Mes * 30;
  78.         $TiempoDeUso = $AñosEnDias + $MesesEnDias + $Dia;
  79.     //==============================================
  80.     // SI EL VALOR ACTUAL ES MAYOR O IGUAL A 100
  81.     //==============================================       
  82.         if (($ValorActual)>= 100) {
  83.             $depacum = $row_ConsultaActivos['TOTALDEPRECIADO'];
  84.             $DepAnual=(($ValorActual * $Porcentaje)/100)* $Año;
  85.             $DepMen = ((($ValorActual * $Porcentaje)/100)/12)* $Mes;
  86.             $DepDia = (((($ValorActual * $Porcentaje)/100)/12)/30)* $Dia;
  87.             $DepTotal = $DepAnual + $DepMen + $DepDia;
  88.             $ValorReal = $ValorActual - $DepTotal;
  89.             $NewVal= $ValorActual - $DepTotal;
  90.             if (($NewVal)<= 1){
  91.                 $NewVal = 1;
  92.                 $TotalDepreciado = $ValorActual - 1;
  93.             }else{
  94.                 $TotalDepreciado = $DepTotal;
  95.             }
  96.             $RestaAcumulada = $depacum - $DepTotal;
  97.     //==============================================
  98.     // ACTUALIZACION LOS DATOS DE LA TABLA ACTIVOS
  99.     //==============================================
  100.       $updateSQL = sprintf("UPDATE activos SET DEPRECIACIONACUMULADA=%s, VALORREAL=%s, VALORDEPRECANUAL=%s, VALORDEPRECMENS=%s, VALORDEPRECDIARIO=%s,  FECHAACTUAL=%s, TOTALDEPRECIADO=%s, TIEMPOUSO=%s WHERE SECUENCIA=%s",
  101.                            GetSQLValueString($DepTotal, "double"),
  102.                            GetSQLValueString($NewVal, "double"),
  103.                            GetSQLValueString($DepAnual, "double"),
  104.                            GetSQLValueString($DepMen, "double"),
  105.                            GetSQLValueString($DepDia, "double"),
  106.                            GetSQLValueString(date("Y-m-d"), "date"),
  107.                            GetSQLValueString($TotalDepreciado, "double"),
  108.                            GetSQLValueString($TiempoDeUso, "text"),
  109.                            GetSQLValueString($Secuencia, "text"));
  110.       mysql_select_db($database_conexionsara, $conexionsara);
  111.       /*mysql_query("SET NAMES 'utf-8'");*/
  112.       $Result1 = mysql_query($updateSQL, $conexionsara) or die(mysql_error());
  113.      
  114.       if(($DepTotal)>$ValorAgregado){
  115.           $TotalDepreciado = ($Valor + $DepTotal)-1;
  116.             $updateSQL1 = sprintf("UPDATE activos SET TOTALDEPRECIADO=%s WHERE SECUENCIA=%s",
  117.                                        GetSQLValueString($TotalDepreciado, "double"),
  118.                                        GetSQLValueString($Secuencia, "text"));
  119.             mysql_select_db($database_conexionsara, $conexionsara);
  120.             mysql_query("SET NAMES 'utf-8'");
  121.             $Result1 = mysql_query($updateSQL1, $conexionsara) or die(mysql_error());
  122.       }
  123.      
  124.     if (($RestaAcumulada)<> 0){
  125.         $DepreciacionAcumulada = $depacum + $DepDia;
  126.             $updateSQL2 = sprintf("UPDATE activos SET DEPRECIACIONACUMULADA=%s WHERE SECUENCIA=%s",
  127.                                        GetSQLValueString($DepreciacionAcumulada, "double"),
  128.                                        GetSQLValueString($Secuencia, "text"));
  129.             mysql_select_db($database_conexionsara, $conexionsara);
  130.             mysql_query("SET NAMES 'utf-8'");
  131.             $Result1 = mysql_query($updateSQL2, $conexionsara) or die(mysql_error());      
  132.     }
  133.     //==============================================
  134.     // SI EL VALOR ACTUAL ES MENOR A 100
  135.     //==============================================       
  136.         }
  137.         if (($ValorActual)< 100) {         
  138.             $DepDia = $ValorActual / 365 ;
  139.             $DepTotal=$TiempoDeUso * $DepDia;
  140.             $NewVal = $ValorActual - $DepTotal;
  141.             if (($NewVal)<= 0){
  142.                 $NewVal = 1;
  143.                 $TotalDepreciado = $ValorActual - 1;
  144.             }else{
  145.                 $TotalDepreciado = $DepTotal;
  146.             }
  147.           $Fecha1MySQL = implode( '-', array_reverse( explode( '/', $date ) ) ) ;
  148.           $updateSQL = sprintf("UPDATE activos SET TOTALDEPRECIADO=%s, VALORREAL=%s,  VALORDEPRECDIARIO=%s, FECHAACTUAL=%s,  TIEMPOUSO=%s WHERE SECUENCIA=%s",
  149.                                GetSQLValueString($TotalDepreciado, "double"),
  150.                                GetSQLValueString($NewVal, "double"),
  151.                                GetSQLValueString($DepDia, "double"),
  152.                                GetSQLValueString($Fecha1MySQL, "date"),
  153.                                GetSQLValueString($TiempoDeUso, "text"),
  154.                                GetSQLValueString($Secuencia, "text"));
  155.           mysql_select_db($database_conexionsara, $conexionsara);
  156.           /*mysql_query("SET NAMES 'utf-8'");*/
  157.           $Result1 = mysql_query($updateSQL, $conexionsara) or die(mysql_error());         
  158.         }
  159.     }
  160. } while ($row_ConsultaActivos = mysql_fetch_assoc($ConsultaActivos));
  161.   $rows = mysql_num_rows($ConsultaOrigen);
  162.   if($rows > 0) {
  163.   mysql_data_seek($ConsultaActivos, 0);
  164. $row_ConsultaActivos = mysql_fetch_assoc($ConsultaActivos);
  165. }
  166.    
  167. ?>

Etiquetas: fecha, mysql, select, sql, tabla
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 20:19.