Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] no se cumple mi condicion

Estas en el tema de no se cumple mi condicion en el foro de PHP en Foros del Web. tengo el siguiente problema if ($monto > $monto_trasvalores_actual) el problema es que si el monto es mayor al registrado en la base de datos del ...
  #1 (permalink)  
Antiguo 14/07/2017, 23:29
Avatar de aviweb2015  
Fecha de Ingreso: abril-2016
Ubicación: venezuela
Mensajes: 215
Antigüedad: 8 años, 7 meses
Puntos: 1
no se cumple mi condicion

tengo el siguiente problema if ($monto > $monto_trasvalores_actual) el problema es que si el monto es mayor al registrado en la base de datos del campo $monto_trasvalores_actual me inserta el registro, cuando no debería insertarlo ya que el monto es mayor al monto disponible en la basa de datos. de lo contrario si el monto $monto_trasvalores_actual es mayor al $monto que se va a ingresar debería correr el resto del código e insertar el registro. mi código es el siguiente.

Código PHP:
Ver original
  1. <!-- proceso para registrar-->
  2. <?php
  3. if(isset($_POST['guardar'])){
  4.  
  5.   $sql= "SELECT monto_trasvalores_actual FROM trasvalores WHERE id_usuarios = :id_usuarios LIMIT 1"; //Creamos la select
  6.   $check = $DB_con->prepare($sql); //Preparamos la SELECT, de ésta manera evitamos SQL Injection
  7.   $check->bindParam(':id_usuarios', $_POST['id_usuarios']);//Substituimos las variables de la SELECT
  8.   $check->execute();//Ejecutamos la consulta
  9.   $monto_trasvalores_actual = $check->fetchColumn();
  10.   if ($monto > $monto_trasvalores_actual){
  11.      $check->closeCursor();
  12.      
  13.      
  14.  
  15.          $errMSG = "¡ Ups Aviso: trasvalores insuficiente Por favor Actualize el monto!";
  16.  
  17.       }
  18.    
  19.      else
  20.  
  21.       {
  22.  
  23.  
  24.   $sql = "SELECT cod_ticket FROM adelantos WHERE cod_ticket = :cod_ticket LIMIT 1"; //Creamos la select
  25.   $check = $DB_con->prepare($sql); //Preparamos la SELECT, de ésta manera evitamos SQL Injection
  26.   $check->bindParam(':cod_ticket', $_POST['cod_ticket']);//Substituimos las variables de la SELECT
  27.   $check->execute();//Ejecutamos la consulta
  28.   $contador = $check -> rowCount();//Esta función devuelve el número de resultados que ha devuelto la SELECT
  29.   if ($contador > 0) {
  30.   $check->closeCursor();
  31.    
  32.               $errMSG = "¡ Ups Aviso: El Registro ya se Encuentra Insertado !";
  33.  
  34.     }
  35.  
  36.     else
  37.      
  38.     {
  39.  
  40. $sql=$DB_con->prepare("INSERT INTO adelantos (cod_ticket,monto,porcentaje,ganancia,total,id_puntos,fecha,hora,id_usuarios) VALUES (:cod_ticket,:monto,:porcentaje,:ganancia,:total,:id_puntos,:fecha,:hora,:id_usuarios)");
  41. $sql->bindParam(':cod_ticket', $_POST['cod_ticket']);
  42. $sql->bindParam(':monto', $_POST['monto']);
  43. $sql->bindParam(':porcentaje', $_POST['porcentaje']);
  44. $sql->bindParam(':ganancia', $_POST['ganancia']);
  45. $sql->bindParam(':total', $_POST['total']);
  46. $sql->bindParam(':id_puntos', $_POST['id_puntos']);
  47. $sql->bindParam(':fecha', $_POST['fecha']);
  48. $sql->bindParam(':hora', $_POST['hora']);
  49. $sql->bindParam(':id_usuarios', $_POST['id_usuarios']);
  50. $sql->execute();
  51.  
  52.           $successMSG ="¡ Bien Hecho: Registro Insertado Correctamente !";
  53.  
  54.  
  55.         }
  56.      }
  57.   }
  58.  
  59. ?>
  60. <!-- fin proceso para registrar-->
__________________
yoclens avilan
  #2 (permalink)  
Antiguo 15/07/2017, 15:44
Avatar de aviweb2015  
Fecha de Ingreso: abril-2016
Ubicación: venezuela
Mensajes: 215
Antigüedad: 8 años, 7 meses
Puntos: 1
Respuesta: no se cumple mi condicion

tema resuelto debe quedar así

Código PHP:
Ver original
  1. $sql= "SELECT monto_trasvalores_actual FROM trasvalores WHERE id_usuarios = :id_usuarios LIMIT 1"; //Creamos la select
  2.   $check = $DB_con->prepare($sql); //Preparamos la SELECT, de ésta manera evitamos SQL Injection
  3.   $check->bindParam(':id_usuarios', $_POST['id_usuarios']);//Substituimos las variables de la SELECT
  4.   $check->execute();//Ejecutamos la consulta
  5.   $monto_trasvalores_actual = $check->fetchColumn();
  6.   $monto=$_POST['monto'];
  7.  
  8.   if ($monto > $monto_trasvalores_actual){
  9.      $check->closeCursor();
  10.      
  11.        
  12.          $errMSG = "¡ Ups Aviso: trasvalores insuficiente Por favor Actualize el monto!";
  13.  
  14.       }
  15.    
  16.      else
  17.  
  18.       {
__________________
yoclens avilan

Etiquetas: pdo
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 12:58.