Estoy realizando un sistema con php y SQL Server 2000. En mi BD tengo una tabla llamada Parcial que posee como claves principales: Cedula del Estudiante y Número de la Pregunta. Necesito que cada vez que el Estudiante modifique una pregunta del Parcial, se le sume uno al campo Contador de la respectiva pregunta. El problema es que como lo estoy haciendo hasta el momento no me funciona (a veces me suma 1 y a veces 2) y no encuentro cual es el error. A continuación les coloco el código a ver si alguien encuentra cual es el problema:
Código PHP:
<?php
$Cedula=trim($_POST["Cedula"]);
$NumeroPregunta=trim($_POST["NumeroPregunta"]);
$Respuesta=trim($_POST["Respuesta"]);
include("conexionBD.php");
$sql="SELECT Pregunta FROM PARCIAL WHERE CedulaEstudiante='$Cedula' AND Pregunta='$NumeroPregunta'";
$rs=odbc_exec($conn,$sql);
$result=odbc_fetch_array ($rs); // Guarda en un array
$prueba=$result['Pregunta '];
if($prueba==$NumeroPregunta)//Si el estudiante ya respondio la pregunta
{
$sql1="SELECT Contador FROM PARCIAL WHERE CedulaEstudiante='$Cedula' AND Pregunta='$NumeroPregunta'";
$rs1=odbc_exec($conn,$sql1);
$result1=odbc_fetch_array ($rs1); // Guarda en un array
$prueba1=$result1['Contador ']; //Extraigo el valor del contador
$prueba1=$prueba1+1;//Le sumo uno al contador
$sql2="UPDATE PARCIAL SET Respuesta='$Respuesta',Contador='$prueba1' WHERE CedulaEstudiante='$Cedula' AND Pregunta='$NumeroPregunta'";
$rs2=odbc_exec($conn,$sql2);
?><script language=javascript>alert ("Estudiante: has modificado tu respuesta");
self.location="IndicePreguntas.php";
</script><?
}
else
{
$sql3 = "INSERT INTO PRUEBA(CedulaEstudiante,Pregunta,Respuesta,Contador) VALUES ('$Cedula','$NumeroPregunta','$Respuesta',1)";
$rs3=odbc_exec($conn,$sql3);
?><script language=javascript>alert ("Estudiante: se ha guardado tu respuesta");
self.location="IndicePreguntas.php";
</script><?
}
?>
Gracias de antemano por su ayuda. Saludos, Eduardo.