Foros del Web » Programando para Internet » PHP »

problema al actualizar resta

Estas en el tema de problema al actualizar resta en el foro de PHP en Foros del Web. <?php include "conexion.php"; $solicita=2000; $sql1 = "SELECT * from cat_cuentas WHERE idcat_cuenta>2"; $query = mysql_query($sql1); while($reg=mysql_fetch_array($query)){ $p=$reg["prespor"]/100; #aqui debe restale toma el valor 2000*0.2= 400, ...
  #1 (permalink)  
Antiguo 17/01/2014, 10:15
 
Fecha de Ingreso: septiembre-2013
Mensajes: 11
Antigüedad: 10 años, 7 meses
Puntos: 0
problema al actualizar resta

<?php
include "conexion.php";
$solicita=2000;
$sql1 = "SELECT * from cat_cuentas WHERE idcat_cuenta>2";
$query = mysql_query($sql1);
while($reg=mysql_fetch_array($query)){
$p=$reg["prespor"]/100;
#aqui debe restale toma el valor 2000*0.2= 400, al imprimir si muestra el resultado, pero al actualizar el capital le resta los 2000 y no los 400
echo $capital=$reg['capital']; echo "-";
echo $restale = $solicita * $p; echo "</br>";
# Actualiza el capital
$actualizac = mysql_query("UPDATE cat_cuentas SET capital= capital - '$restale' WHERE idcat_cuenta>2");
# Actualiza el porcentaje
$actualiza1 = mysql_query("UPDATE cat_cuentas SET respres=(capital*(prespor/100)) WHERE idcat_cuenta>2");
//UPDATE tabla SET campo1= campo1-'$variable' WHERE id='$id'
}
?>en que estoy mal??
  #2 (permalink)  
Antiguo 17/01/2014, 13:01
 
Fecha de Ingreso: enero-2014
Mensajes: 75
Antigüedad: 10 años, 3 meses
Puntos: 11
Respuesta: problema al actualizar resta

Lo primero, pon el texto de codigo entre etiquetas highlight, si no es ilegible, y bien tabulado por favor.

Por otro lado, para hacer una resta... que tengas que hacer tantas consultas, creo que deberias pensar en una forma no tan enrredada de hacerlo.

Saludos.
  #3 (permalink)  
Antiguo 17/01/2014, 13:24
 
Fecha de Ingreso: septiembre-2013
Mensajes: 11
Antigüedad: 10 años, 7 meses
Puntos: 0
Respuesta: problema al actualizar resta

Disculpa es que no habia seleccionado el texto, alguien me podria ayudar porfavor qu estoy haciendo mal??

Código PHP:
Ver original
  1. <?php
  2. include "conexion.php";
  3. $solicita=2000;
  4. $sql1 = "SELECT * from cat_cuentas WHERE idcat_cuenta>2";
  5. $query = mysql_query($sql1);
  6. while($reg=mysql_fetch_array($query)){
  7. $p=$reg["prespor"]/100;
  8. #aqui debe restale toma el valor 2000*0.2= 400, al imprimir si muestra el resultado, pero al actualizar el capital le resta los 2000 y no los 400
  9. echo $capital=$reg['capital']; echo "-";
  10. echo $restale = $solicita * $p; echo "</br>";
  11. # Actualiza el capital
  12. $actualizac = mysql_query("UPDATE cat_cuentas SET capital= capital - '$restale' WHERE idcat_cuenta>2");
  13. # Actualiza el porcentaje
  14. $actualiza1 = mysql_query("UPDATE cat_cuentas SET respres=(capital*(prespor/100)) WHERE idcat_cuenta>2");
  15. //UPDATE tabla SET campo1= campo1-'$variable' WHERE id='$id'
  16. }
  17. ?>
  #4 (permalink)  
Antiguo 17/01/2014, 14:07
 
Fecha de Ingreso: enero-2014
Mensajes: 75
Antigüedad: 10 años, 3 meses
Puntos: 11
Respuesta: problema al actualizar resta

echo $restale = $solicita * $p; echo "</br>";

Acostumbrate a hacer las operaciones fuera de los "echo" Aqui estas multiplicando 2000*$p
  #5 (permalink)  
Antiguo 17/01/2014, 14:19
 
Fecha de Ingreso: septiembre-2013
Mensajes: 11
Antigüedad: 10 años, 7 meses
Puntos: 0
Respuesta: problema al actualizar resta

Esto lo se y pongo los echo para ver que resultado me esta dando y me lo muestra correctamente, pero al actualiza me esta restando los 2000

Código PHP:
Ver original
  1. //$solicita = 2000
  2.     $restale = $solicita * $p;
  3. //  $restale = 2000 * 0.2= 400 deberia restar el capital actual ejemplo 8000-400 //resultado debería ser 7600 y me esta restando los 2000 que esta pasando??
  4.     $actualizac = mysql_query("UPDATE cat_cuentas SET capital= capital - '$restale' WHERE idcat_cuenta=3");
  #6 (permalink)  
Antiguo 21/01/2014, 14:57
 
Fecha de Ingreso: enero-2014
Mensajes: 75
Antigüedad: 10 años, 3 meses
Puntos: 11
Respuesta: problema al actualizar resta

El problema debe estar aqui

Cita:
$p=$reg["prespor"]/100;
Asegurate que la operacion no sea igual a 0. Usar el debugger.

El resto del codigo deberia de estar bien.

Los echo, ponlos despues de las operaciones, de todos modos, no te acostumbres a buscar errores asi, tardaras mas y muchas veces no veras los errores correctamente, aprende a usar el debugg de tu IDE.

Saludos.

Etiquetas: mysql, resta, select, sql, tabla, variable
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:57.