Foros del Web » Programando para Internet » PHP »

Problema para borrar campos en MYSQL

Estas en el tema de Problema para borrar campos en MYSQL en el foro de PHP en Foros del Web. Necesito ayuda. Tengo un formulario (eje003.html) que me captura una cedula de identidad, con tres (3) notas y me las guarda en una base de ...
  #1 (permalink)  
Antiguo 31/08/2008, 14:35
 
Fecha de Ingreso: agosto-2008
Mensajes: 11
Antigüedad: 15 años, 8 meses
Puntos: 0
Problema para borrar campos en MYSQL

Necesito ayuda. Tengo un formulario (eje003.html) que me captura una cedula de identidad, con tres (3) notas y me las guarda en una base de datos con un php(procesar.php). Ademas tengo un php (eje004.php) para dar que muestra una tabla con todos los datos ingresados y da opcion a actualizar y borrar. El problema es que el que actualiza (actualizar.php) funciona perfectamente pero no el de borrar. No se cual es el problema. Aqui dejo los codigos.

Eje003.html:

Código HTML:
<head>
<title>Sans Titre</title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<meta name="generator" content="HAPedit 3.1">
</head>
<body bgcolor="#24A55C"><body bgcolor="#00FF00">
<b><u><h1 align="center">Pantalla para ingresar las Notas</h1></u></b>
<hr />
<hr />
<hr />

<form action="procesar.php" name="frmIngresarNotas" method="get">
<center>
Cedula:<br /> <input type="text" name="cedula" size="20" maxlength="20" /><br />
Nota 1:<br /> <input type="text" name="nota1" size="10" maxlength="5" /><br />
Nota 2: <br /> <input type="text" name="nota2" size="10" maxlength="5" /><br />
Nota 3: <br /> <input type="text" name="nota3" size="10" maxlength="5" /><br />
<input type="submit" name="procesar" value="Procesar" />
<input type="submit" name="borrar" value="Borrar" />
<input type="reset" name="limpiar" value="Limpiar Formulario" /></center> <br />
<br><a href="decision.html"><h3><center>Volver a Inicio</center></h3></a> <br>
</form>

<hr />
<h1 align="center"><font size="6">Creado por Ali&Johnny Corporation</font></h1>
<br /><img src="f:/!00% upel 2.jpg" alt="" height="100" align="bottom" />

</body> 
procesar.php:

Código PHP:
  // 1.Rescatar las Variables del Formulario
  
$cedula=$_GET['cedula'];
  
$nota1=$_GET['nota1'];
  
$nota2=$_GET['nota2'];
  
$nota3=$_GET['nota3'];
  
//2.Realizar las Operaciones requeridas
  
$promedio=($nota1+$nota2+$nota3)/3;
  
//3.Mostrar los Resultados
  
echo "<h1>Reporte de los Alumnos UPEL</h1>";
echo 
"Cedula del Alumno: $cedula<br>";
echo 
"Nota 1: $nota1<br>";
echo 
"Nota 2: $nota2<br>";
echo 
"Nota 3: $nota3<br>";
echo 
"Promedio: $promedio<br>";


//Pasos para Guardar en BD
//1.Conectar con MySQL
$conectar=mysql_connect("localhost","root","");
//2.Seleccionar BD
mysql_select_db("control");
//3.Asignar variable SQL
$sql="INSERT INTO notas VALUES('$cedula',$nota1,$nota2,$nota3)";
//4.Ejecutar Consulta (QUERY)
$resultado=mysql_query($sql);
//5.Atrapar el Error
echo mysql_error(); 
eje004.php:

Código PHP:
<?
  
// Your code here
  //1.Conectar con el MYSQL
  
$conectar=mysql_connect("localhost","root","");
  
//2. Seleccionar Base de Datos
  
mysql_select_db("control");
  
//3. Asignar Variable SQL
  
$sql="SELECT * FROM notas";
  
//4. Ejecutar la Consulta SQL
  
$resultado=mysql_query($sql);
  echo 
mysql_error();
  
$nroregistro=mysql_num_rows($resultado);
  
?><center>
  <h1>Tabla de Actualizacion de Notas</h1>
  <table border="2" bgcolor="#80FF00" borderColorDark="#000000"></center>
  <?
      
for($i=0;$i<$nroregistro;$i++){
      
$valores=mysql_fetch_array($resultado);
      
$promedio=($valores[1]+$valores[2]+$valores[3])/3;
  
?>
  <tr align="center" valign="middle">
      <td><?echo $valores[0];?></td>
      <td><?echo $valores[1];?></td>
      <td><?echo $valores[2];?></td>
      <td><?echo $valores[3];?></td>
      <td><?echo $promedio;?></td>
      <td><a href="actualizar.php?clave=<?echo $valores[0];?>">Actualizar</a>/
      <a href="borrar.php?clave=<?echo $valores[0];?>">Borrar</a>
      </td>
  </tr>

  <?
  
}
?>
actualizar.php:

Código PHP:
<?
  
// Your code here
  
$clave=$_REQUEST['clave'];
  if(
$_GET['procesar']=="Actualizar"){
    
// rescatar variables
    
$cedula=$_GET['cedula'];
    
$nota1=$_GET['nota1'];
    
$nota2=$_GET['nota2'];
    
$nota3=$_GET['nota3'];
    echo 
$cedula;
    
// 1 CONECTAR CON EL MYSQL
    
$conectar=mysql_connect("localhost","root","");
    
// 2 SELECCIONAR BASE DE DATOS
    
mysql_select_db("control");
    
// 3 ASIGNAR VARIABLE SQL
    
$sql="UPDATE notas SET nota1=$nota1,
                           nota2=$nota2,
                           nota3=$nota3
                           WHERE cedula='$cedula'"
;
    
// 4 EJECUTAR LA CONSULTA SQL
    
$resultado=mysql_query($sql);
    echo 
mysql_error();
    
$clave=$cedula;
  }
  
// 1 CONECTAR CON EL MYSQL
  
$conectar=mysql_connect("localhost","root","");
  
// 2 SELECCIONAR BASE DE DATOS
  
mysql_select_db("control");
  
// 3 ASIGNAR VARIABLE SQL
  
$sql="SELECT * FROM notas WHERE cedula='$clave'";
  
// 4 EJECUTAR LA CONSULTA SQL
  
$resultado=mysql_query($sql);
  echo 
mysql_error();
  
$valores=mysql_fetch_array($resultado);
  
?>
  <h1>Pantalla para actualizar las notas</h1>

  <form action="actualizar.php" name="frmIngresarNotas" method="get">
    Cedula:<input type="text"
                  name="cedula"
                  size="20"
                  maxlength="20"
                  value=<?echo $valores[0];?> /><br />
    Nota 1:<input type="text"
                  name="nota1"
                  size="10"
                  maxlength="5"
                  value=<?echo $valores[1];?> /><br />
    Nota 2:<input type="text"
                  name="nota2"
                  size="10"
                  maxlength="5"
                  value=<?echo $valores[2];?> /><br />
    Nota 3:<input type="text"
                  name="nota3"
                  size="10"
                  maxlength="5"
                  value=<?echo $valores[3];?> /><br />
    <input type="submit" name="procesar" value="Actualizar" />
    <input type="reset" name="limpiar" value="Limpiar" />
  </form>
  <br><a href="eje004.php"><h4>CONSULTAR ACTUALIZACION</h4></a> <br>
  <?

?>
y aqui el problema

borrar.php:

Código PHP:
<?
$clave
=$_REQUEST['clave'];
  if(
$_GET['procesar']=="Actualizar"){
    
// rescatar variables
    
$cedula=$_GET['cedula'];
    
$nota1=$_GET['nota1'];
    
$nota2=$_GET['nota2'];
    
$nota3=$_GET['nota3'];
    echo 
$cedula;
    
// 1 CONECTAR CON EL MYSQL
    
$conectar=mysql_connect("localhost","root","");
    
// 2 SELECCIONAR BASE DE DATOS
    
mysql_select_db("control");
    
// 3 ASIGNAR VARIABLE SQL
    
$sql="DELETE * FROM notas WHERE cedula='$cedula'";
    
// 4 EJECUTAR LA CONSULTA SQL
    
$resultado=mysql_query($sql);
  echo 
mysql_error();
  
$valores=mysql_fetch_array($resultado);
  }
  
// 1 CONECTAR CON EL MYSQL
  
$conectar=mysql_connect("localhost","root","");
  
// 2 SELECCIONAR BASE DE DATOS
  
mysql_select_db("control");
  
// 3 ASIGNAR VARIABLE SQL
  
$sql="SELECT * FROM notas WHERE cedula='$clave'";
  
// 4 EJECUTAR LA CONSULTA SQL

  
?>
  <h1>Pantalla para actualizar las notas</h1>

  <form action="borrar.php" name="frmIngresarNotas" method="get">
    Cedula:<input type="text"
                  name="cedula"
                  size="20"
                  maxlength="20"
                  value=<?echo $valores[0];?> /><br />
    Nota 1:<input type="text"
                  name="nota1"
                  size="10"
                  maxlength="5"
                  value=<?echo $valores[1];?> /><br />
    Nota 2:<input type="text"
                  name="nota2"
                  size="10"
                  maxlength="5"
                  value=<?echo $valores[2];?> /><br />
    Nota 3:<input type="text"
                  name="nota3"
                  size="10"
                  maxlength="5"
                  value=<?echo $valores[3];?> /><br />
    <input type="submit" name="procesar" value="Actualizar" />
    <input type="reset" name="limpiar" value="Limpiar" />
  </form>
  <br><a href="eje004.php"><h4>CONSULTAR ACTUALIZACION</h4></a> <br>
  <?
Espero puedan ayudarme.....Urgente!!!
  #2 (permalink)  
Antiguo 31/08/2008, 19:43
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Problema para borrar campos en MYSQL

Primero y fundamental: Esta sección es Base de Datos, no PHP. Estás posteando código que no corresponde a esta sección, y que si bien puede resultar entendible para aquellos que trabajen en ese lenguaje, no lo es para muchos de nosotros que simplemente trabajamos administrando Bases de Datos, y por ende, trabajamos en SQL. Lee la sección Función de la sección de Base de Datos, y te darás cuenta.

Segundo: Si aún así quieres saber si el problema es de bases de datos, limpia el SQL de tu código de todo lo que has puesto y que no sea SQL. Para tí puede ser comprensible, pero para mí es perder el tiempo leyendo un script que no contiene ninguna información trascendente ni funcional dentro del problema. En nuestro contexto, el código PHP (o cualquier otro que no sea SQL) carece de utilidad para el análisis.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 31/08/2008, 20:16
Avatar de BrujoNic
Super Moderador
 
Fecha de Ingreso: noviembre-2001
Ubicación: Costa Rica/Nicaragua
Mensajes: 16.935
Antigüedad: 22 años, 5 meses
Puntos: 655
Respuesta: Problema para borrar campos en MYSQL

Trasladado de BD a PHP. Favor no poner código de programación en BD.

Función de la sección de Base de Datos
__________________
La tecnología está para ayudarnos. No comprendo el porqué con esa ayuda, la gente escribe TAN MAL.
NO PERDAMOS NUESTRO LINDO IDIOMA ESPAÑOL
  #4 (permalink)  
Antiguo 31/08/2008, 20:26
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Problema para borrar campos en MYSQL

Mira las primeras lineas de tu codigo en borrar.php

$clave=$_REQUEST['clave'];
if($_GET['procesar']=="Actualizar"){

¿No sera $_GET['procesar']=="Borrar"?
  #5 (permalink)  
Antiguo 31/08/2008, 22:23
Avatar de srsombrero  
Fecha de Ingreso: marzo-2008
Mensajes: 128
Antigüedad: 16 años, 1 mes
Puntos: 0
Sonrisa Respuesta: Problema para borrar campos en MYSQL

Cita:
Iniciado por Ronruby Ver Mensaje
Mira las primeras lineas de tu codigo en borrar.php

$clave=$_REQUEST['clave'];
if($_GET['procesar']=="Actualizar"){

¿No sera $_GET['procesar']=="Borrar"?
Otra cosita que podria corregirse aqui, jamas pongan un array superglobal dentro de un condicional. Otra cosilla seria verificar si esta vacio!

Lo mas correcto seria hacer:
Código PHP:
$clave=$_REQUEST['clave'];
$procesar $_GET['procesar'];

  if( !(empty (
$procesar)) && (strcmp ($procesar,"Actualizar") == 0)){ 
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 08:08.