Foros del Web » Programando para Internet » PHP »

eliminar registros de base de datos

Estas en el tema de eliminar registros de base de datos en el foro de PHP en Foros del Web. Buen día a todos! Disculpen, tengo problemas eliminando registros de una base de datos.. no elimina ningún registro.. la idea es eliminar todos los registros ...
  #1 (permalink)  
Antiguo 13/10/2011, 19:15
 
Fecha de Ingreso: octubre-2011
Mensajes: 6
Antigüedad: 12 años, 6 meses
Puntos: 0
eliminar registros de base de datos

Buen día a todos!

Disculpen, tengo problemas eliminando registros de una base de datos.. no elimina ningún registro.. la idea es eliminar todos los registros que tengan el mismo numero. El código es el siguiente:

CODIGO 1

<HTML>
<HEAD>
<TITLE>prueba_borrar</TITLE>
</HEAD>
<BODY>
<div align="center">
<h1>Borrar un registro</h1>
<br>
<?
//Conexion con la base
mysql_connect("localhost","root","XXX");
echo '<FORM METHOD="POST" ACTION="prueba_borrar2.php">Numero de ruta<br>';
//Creamos la sentencia SQL y la ejecutamos
$sSQL="Select numero From autos group By numero";
//Quiero eliminar todos los autos con el mismo numero
$result=mysql_db_query("sistema",$sSQL);
echo '<select name="numero">';
//Mostramos los registros en forma de menú desplegable
while ($row=mysql_fetch_array($result))
{echo '<option>'.$row["numero"];}

mysql_free_result($result)


?>
</select>
<br>
<INPUT TYPE="SUBMIT" value="Borrar">
</FORM>
</div>
</BODY>
</HTML>

CODIGO 2 PARA ELIMINAR LOS REGISTROS CON EL NUMERO SELECCIONADO

<HTML>
<HEAD>
<TITLE>Borrar2.php</TITLE>
</HEAD>
<BODY>
<?
//Conexion con la base
mysql_connect("localhost","root","XXX");
//Creamos la sentencia SQL y la ejecutamos

$sSQL="Delete * From autos Where numero='$numero'";
mysql_db_query("sistema",$sSQL);

?>
<h1><div align="center">Registro Borrado</div></h1>
<div align="center"><a href="prueba_borrar.php">Regresar</a></div>
</BODY>
</HTML>


Encontre ese ejemplo para hacerlo con una lista desplegable y lo adapté a mis necesidades, pero no me elimina ningún registro, por mas que reviso no encuentro error.. espero que me puedan ayudar.

De ante mano, Gracias.
  #2 (permalink)  
Antiguo 13/10/2011, 19:47
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: eliminar registros de base de datos

bienvenido al foro, voy a comenzar por darte una recomendación, revisa otro material, porque?? sencillamente el que tienes esta desactualizado utiliza funciones que estan obsoletas como mysql_db_query, segundo utiliza el short_tag de php el cual no es recomendable ya que viene desabilitado en muchos servidores es mejor utilizar <?php esas tres letricas te aseguro que te ahorraran bastantes dolores de cabeza, ademas segun veo tienes el register_globals = On y tampoco es muy recomendable, en si no es por desanimarte pero para hacer las cosas bien hay que comenzar bien, busca un poco de documentación de php que te aseguro que hay muchas buenas en la web, te dejo el link al manual oficial http://www.php.net/manual/es/index.php y uno que me gusta para comenzar [URL="http://phpya.com.ar/"]phpya/URL], espero que te sea de ayuda saludos
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #3 (permalink)  
Antiguo 14/10/2011, 13:16
 
Fecha de Ingreso: octubre-2011
Mensajes: 6
Antigüedad: 12 años, 6 meses
Puntos: 0
Respuesta: eliminar registros de base de datos

Cita:
Iniciado por carlos_belisario Ver Mensaje
bienvenido al foro, voy a comenzar por darte una recomendación, revisa otro material, porque?? sencillamente el que tienes esta desactualizado utiliza funciones que estan obsoletas como [URL="http://php.net/manual/es/function.mysql-db-query.php"]mysql_db_query[/URL], segundo utiliza el short_tag de php el cual no es recomendable ya que viene desabilitado en muchos servidores es mejor utilizar <?php esas tres letricas te aseguro que te ahorraran bastantes dolores de cabeza, ademas segun veo tienes el register_globals = On y tampoco es muy recomendable, en si no es por desanimarte pero para hacer las cosas bien hay que comenzar bien, busca un poco de documentación de php que te aseguro que hay muchas buenas en la web, te dejo el link al manual oficial [url]http://www.php.net/manual/es/index.php[/url] y uno que me gusta para comenzar [URL="http://phpya.com.ar/"]phpya/URL], espero que te sea de ayuda saludos
Gracias. Me he puesto a leer y ya logre hacer lo que queria, solo tengo un problema con el mensaje de confirmación.. me dice que se ha borrado el registro sin que lo haya borrado aún. Cabe destacar que el código anterior ya no lo utilicé como me lo has recomendado.
  #4 (permalink)  
Antiguo 14/10/2011, 13:24
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: eliminar registros de base de datos

Cita:
Iniciado por prographp
Me he puesto a leer y ya logre hacer lo que queria, solo tengo un problema con el mensaje de confirmación.. me dice que se ha borrado el registro sin que lo haya borrado aún.
Me parece que aun no lo has logrado.

Bueno, como bien te dijo carlos_belisario ese script considera que register_globals este activo y, por tanto, no toma las variables desde donde deberian venir, dando por hecho que se crean automaticamente.

Asi, nada mas, para que funcione, lo unico que necesitas es agregar esto antes de ejecutar la consulta:

$numero = $_POST['numero'];

Insisto, de funcionar, si lo va a hacer, pero, incluso si solo estas aprendiendo, se requiere validar datos, acostumbrarte a "no confiar en los que piden los usuarios" para evitar riesgos de robo y/o daño en tu base de datos.
__________________
- León, Guanajuato
- GV-Foto
  #5 (permalink)  
Antiguo 14/10/2011, 13:41
 
Fecha de Ingreso: octubre-2011
Mensajes: 6
Antigüedad: 12 años, 6 meses
Puntos: 0
Respuesta: eliminar registros de base de datos

Cita:
Iniciado por Triby Ver Mensaje
Me parece que aun no lo has logrado.

Bueno, como bien te dijo carlos_belisario ese script considera que register_globals este activo y, por tanto, no toma las variables desde donde deberian venir, dando por hecho que se crean automaticamente.

Asi, nada mas, para que funcione, lo unico que necesitas es agregar esto antes de ejecutar la consulta:

$numero = $_POST['numero'];

Insisto, de funcionar, si lo va a hacer, pero, incluso si solo estas aprendiendo, se requiere validar datos, acostumbrarte a "no confiar en los que piden los usuarios" para evitar riesgos de robo y/o daño en tu base de datos.
Gracias por tu respuesta.

Lo que pasa es que como le dije a carlos_belisario ya deje ese código y empece uno desde cero, digo que lo he logrado por que al revisar mi base de datos si elimina el registro, además de esto hago otra consulta para que me muestre los registros existentes y ahí veo como los elimina correctamente, pero aún tengo problemas con el mensaje de confirmación. Aquí una parte de mi código:


if (isset($_POST["numero_auto"])) { //compruebo que el formulario ya mando algo
$n_auto = $_POST["numero_auto"];

$resultado = mysql_query("DELETE FROM autos WHERE (numero_auto='$n_ruta')", $con) or die ("Error en la consulta"); //con es mi conexion, no tengo errores con eso

echo "registro borrado";
mysql_close($con);
}

else{
echo "Debe especificar una numero.\n";
}
?>

El problema es que siempre me dice registro borrado.
  #6 (permalink)  
Antiguo 14/10/2011, 13:43
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: eliminar registros de base de datos

Bueno, una cosa es que en $_POST exista 'numero_auto' y otra muy diferente que tenga un valor adecuado.
__________________
- León, Guanajuato
- GV-Foto
  #7 (permalink)  
Antiguo 14/10/2011, 13:48
 
Fecha de Ingreso: octubre-2011
Mensajes: 6
Antigüedad: 12 años, 6 meses
Puntos: 0
Respuesta: eliminar registros de base de datos

Cita:
Iniciado por Triby Ver Mensaje
Bueno, una cosa es que en $_POST exista 'numero_auto' y otra muy diferente que tenga un valor adecuado.
Mmm.. es cierto.

Aun que no mande nada y cuando a penas carga el código, el mensaje ya está ahí.

Etiquetas: html, mysql, registro, registros, sql
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 15:33.