Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Comprobar si saldrá negativo antes de insertar

Estas en el tema de Comprobar si saldrá negativo antes de insertar en el foro de Frameworks JS en Foros del Web. Buenas gente. Tengo un pequeño problema, y digo pequeño porque está todo implementado a falta de hacer esta comprobación. Tengo una base de datos mysql ...
  #1 (permalink)  
Antiguo 28/05/2009, 09:54
Avatar de aliza  
Fecha de Ingreso: diciembre-2008
Mensajes: 156
Antigüedad: 16 años
Puntos: 6
Comprobar si saldrá negativo antes de insertar

Buenas gente. Tengo un pequeño problema, y digo pequeño porque está todo implementado a falta de hacer esta comprobación.
Tengo una base de datos mysql y una aplicación en AJAX.

Mediante un formulario php inserto con AJAX en la tabla los datos 'id' y 'puntos'. Los 'puntos' pueden ser + o -.

Pues bien, se trata de antes de insertar comprobar que la suma de los puntos no saldrá negativa, y en caso de si ser negativa mostrar un mensaje y no insertar.

¿Dónde debo hacer la comprobación? Gracias.

Aquí cuelgo los scripts.

ipuntos2.php
###############################
<?php
session_start();
// Verifica que existe la sesion:
if(!isset($_SESSION['usuario']))
die('Por motivos de seguridad, el acceso no permitido, cierre la aplicaci&oacuten y vuelva a abrirla. Gracias.<br />Departamento Inform&aacutetico .');
$tarjeta=$_GET['tarjeta'];
$_SESSION['tarjeta']=$tarjeta;
$rango=$_SESSION['rango'];

...

?>
<html>
<head>
<title>PROGRAMA DE PUNTOS</title>
<link rel='stylesheet' type='text/css' href='puntos.css' />
<script language="JavaScript" type="text/javascript" src="ajax_puntos.js"></script>
</head>
<body>

<form name="insertar_puntosa" action=""
onsubmit="insertarPuntosA(); return false">
<table align="center" class="blanca">
<tr>
<td align="center" colspan="2"><h4>Abonar Puntos</h4></td>
</tr>
<tr>
<td align="center">Identificador:
<input type="text" name="id" /></td>
</tr>
<tr>
<td align="center"><p>Puntos:
<label>
<input type="text" name="puntos" />
</label>
</p></td>
</tr>
<tr>
<td align="center" colspan="2">Tarjeta:
<label>
<?php echo "<input type='text' name='tarjeta' value='$tarjeta' disabled />" ?>
</label>
</td>
</tr>
<tr>
<td align="center">Notas:
<input type="text" name="notas" /></td>
</tr>
<tr>
<td align="center" colspan="2">
<label>
<input type="submit" name="Submit" value="Insertar" />
</label>
</td>
</tr>
<tr>
<td colspan="2"><div align="center"><?php
echo "<a href='puntos.php'><img alt='Volver' src='volver.png' title='Volver' width='30' height='30' border='0px' /></a>\n";
?></div></td>
</tr>
</form>
<tr>
<td align="center" colspan="2"><div id="resultado"><?php include('ccpuntos.php');?></div></td>
</tr>
</table>
</body>
</html>
###############################

ajax_puntos.js
###############################
function objetoAjax(){
var xmlhttp=false;
try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (E) {
xmlhttp = false;
}
}

if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
xmlhttp = new XMLHttpRequest();
}
return xmlhttp;
}
function insertarPuntosA(){
//donde se mostrará lo resultados
divResultado = document.getElementById('resultado');
//valores de los inputs
id=document.insertar_puntosa.id.value;
puntos=document.insertar_puntosa.puntos.value;
tarjeta=document.insertar_puntosa.tarjeta.value;
notas=document.insertar_puntosa.notas.value;

//instanciamos el objetoAjax
ajax=objetoAjax();
//uso del medotod POST
//archivo que realizará la operacion
//registro.php
ajax.open("POST", "aipuntos2.php",true);

ajax.onreadystatechange=function() {
if (ajax.readyState==4) {
//mostrar resultados en esta capa
divResultado.innerHTML = ajax.responseText
//llamar a funcion para limpiar los inputs
LimpiarCamposA();
}
}
ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
//enviando los valores
ajax.send("id="+id+"&puntos="+puntos+"&tarjeta="+t arjeta+"&notas="+notas)
}
...
###############################

aipuntos2.php
###############################
<?php
session_start();
// Verifica que existe la sesion:
if(!isset($_SESSION['usuario']))
die('Acceso no permitido');
$usuario=$_SESSION['usuario'];
$fecha=date('Y-m-d');
$hora=date('H:i:s');
$tarjeta=$_SESSION['tarjeta'];
//Configuracion de la conexion a base de datos
$bd_host = "localhost";
$bd_usuario = "usuario";
$bd_password = "usuario";
$bd_base = "bd";

$con = mysql_connect($bd_host, $bd_usuario, $bd_password);
mysql_select_db($bd_base, $con);
//variables POST
$id=$_POST['id'];
$puntos=((-1)*($_POST['puntos']));
$notas=$_POST['notas'];
$importe=$puntos*100;
//registra los datos del empleados
$sql="INSERT INTO facturas (id,importe,puntos,tarjeta,usuario,fecha,hora,nota s) VALUES ('$id','$importe','$puntos','$tarjeta','$usuario', '$fecha','$hora','$notas')";
mysql_query($sql,$con);
include('ccpuntos.php');
?>
###############################
__________________
Dando cabezados se aprende...
  #2 (permalink)  
Antiguo 01/06/2009, 18:23
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 6 meses
Puntos: 1517
Respuesta: Comprobar si saldrá negativo antes de insertar

Podrias volver a insertar el codigo pero usando [PHP] [/ PHP]
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 14:34.