Foros del Web » Programando para Internet » PHP »

como eliminar filas de una bd desde un formulario

Estas en el tema de como eliminar filas de una bd desde un formulario en el foro de PHP en Foros del Web. lo que pasa es que tengo un formulario de busquedas de alumnos que va conectada a la bd para mostrar los resultados de la busqueda ...
  #1 (permalink)  
Antiguo 10/03/2009, 11:56
(Desactivado)
 
Fecha de Ingreso: junio-2008
Mensajes: 287
Antigüedad: 15 años, 10 meses
Puntos: 9
como eliminar filas de una bd desde un formulario

lo que pasa es que tengo un formulario de busquedas de alumnos que va conectada a la bd para mostrar los resultados de la busqueda del alumno no se si con ese se pueda tambien eliminar filas de la bd con nada mas colocar el nombre como cuando hago las busquedas
aqui esta el codigo que utilizo para la busqueda

Código PHP:
<?php

//TOMAMOS LA VARIABLE NOMBRE DEL FORMULARIO
$nombreaddslashes($_POST['nombre']);

//conectamos a la base de datos y seleccionamos la database
$conn mysql_connect ("localhost""-----------""----------------");
mysql_select_db("---------------------",$conn);
 
// definimos la consulta
$consulta "SELECT * FROM usuarios WHERE nombre='$nombre';";
 
//realizamos las consulta
$result mysql_query($consulta) or die (mysql_error());
 
//si no se llevo a cabo escribir lo siguiente y salir de php
if (!$result){
   echo 
"No se pudo llevar a cabo la busqueda";
   exit;
}
 
//contamos los resultados
$totEmp mysql_num_rows($result);
 
// Y ACA AÑADIMOS TU CODIGO
if ($totEmp0) { 
    while (
$rowEmp mysql_fetch_assoc($result)) { 
        echo 
"<hr width=\"100%\" size=\"1\" color=\"#0000FF\">";
        echo 
"<strong><center>Datos del Menor</center></strong>";
        echo 
"<hr width=\"100%\" size=\"1\" color=\"#0000FF\">";
        echo 
"<strong>Nombre del (la) Menor</strong> : ".$rowEmp['nombre']."<br></br>"
            } 
}else{
   echo 
"No hay ningun niño registrado, con las caracteristicas que ingresaste. <br /><br />";
   echo 
"Haz click ".'<a href="javascript:history.back(1)">
Aqui</a>'
." para regresar" ;
   }
?>
  #2 (permalink)  
Antiguo 10/03/2009, 12:57
Avatar de jenusys  
Fecha de Ingreso: diciembre-2008
Ubicación: Ahí mismo.
Mensajes: 216
Antigüedad: 15 años, 3 meses
Puntos: 11
Respuesta: como eliminar filas de una bd desde un formulario

Un ejemplo:

Después de:

// definimos la consulta
$consulta = "SELECT * FROM usuarios WHERE nombre='$nombre';"; //Bórrale lo rojo

$borradatos=mysql_query("DELETE FROM alcorhis WHERE id = '$talcosa'", $conexion);

Eso te servirá.
  #3 (permalink)  
Antiguo 10/03/2009, 12:58
Avatar de pacmanaman  
Fecha de Ingreso: marzo-2009
Mensajes: 84
Antigüedad: 15 años, 1 mes
Puntos: 3
Respuesta: como eliminar filas de una bd desde un formulario

Si se puede hacer, el tema es que el nombre que quieras borrar tiene que ser unico, para no borrar mas de un registro
  #4 (permalink)  
Antiguo 10/03/2009, 15:24
(Desactivado)
 
Fecha de Ingreso: junio-2008
Mensajes: 287
Antigüedad: 15 años, 10 meses
Puntos: 9
Respuesta: como eliminar filas de una bd desde un formulario

a muy bien entonces para poder eliminar tendria que hacer esto o estoy mal?
si estoty mal me podrian corregir
Código PHP:
<?php 

//TOMAMOS LA VARIABLE NOMBRE DEL FORMULARIO 
$nombreaddslashes($_POST['nombre']); 

//conectamos a la base de datos y seleccionamos la database 
$conn mysql_connect ("localhost""-----------""----------------"); 
mysql_select_db("---------------------",$conn); 
  
// definimos la consulta 
$borradatos mysql_query("DELETE FROM usuarios WHERE nombre = '$nombre'"$conexion);  
//realizamos las consulta 
$result mysql_query($consulta) or die (mysql_error()); 
  
//si no se llevo a cabo escribir lo siguiente y salir de php 
if (!$result){ 
   echo 
"No se pudo llevar a cabo la busqueda"
   exit; 

  
//contamos los resultados 
$totEmp mysql_num_rows($result); 
  
// Y ACA AÑADIMOS TU CODIGO 
if ($totEmp0) {  
    while (
$rowEmp mysql_fetch_assoc($result)) {  
        echo 
"<hr width=\"100%\" size=\"1\" color=\"#0000FF\">"
        echo 
"<strong><center>Datos del Menor</center></strong>"
        echo 
"<hr width=\"100%\" size=\"1\" color=\"#0000FF\">"
        echo 
"<strong>Nombre del (la) Menor</strong> : ".$rowEmp['nombre']."<br></br>";  
            }  
}else{ 
   echo 
"No hay ningun niño registrado, con las caracteristicas que ingresaste. <br /><br />"
   echo 
"Haz click ".'<a href="javascript:history.back(1)"> 
Aqui</a>'
." para regresar" 
   } 
?>
  #5 (permalink)  
Antiguo 10/03/2009, 15:43
Avatar de david_M_G  
Fecha de Ingreso: febrero-2005
Mensajes: 938
Antigüedad: 19 años, 2 meses
Puntos: 20
Respuesta: como eliminar filas de una bd desde un formulario

Código PHP:
// definimos la consulta 
$borradatos mysql_query("DELETE FROM usuarios WHERE nombre = '$nombre'"$conexion);  
//realizamos las consulta 
$result mysql_query($consulta) or die (mysql_error()); 
Estas haciendo la consulta dos veces, además de que no te pones de acuerdo con las variables. Déjalo en:

Código PHP:
//realizamos la consulta 
mysql_query("DELETE FROM usuarios WHERE nombre = '$nombre'"$conexion) or die (mysql_error()); 
no es necesario mysql_result ni usar variables.
  #6 (permalink)  
Antiguo 10/03/2009, 16:55
Avatar de aliza  
Fecha de Ingreso: diciembre-2008
Mensajes: 156
Antigüedad: 15 años, 4 meses
Puntos: 6
Respuesta: como eliminar filas de una bd desde un formulario

Buenas a todos. Mira cher1_7 te recomiendo seguir mi función que está muy bien estructurada y te muestra mensajes cada vez:
################################################
function borrado($nrecep){
//Declaramos las variables
$host='ip_de_tu_servidor';
$usr='usuario_de_la_bd';
$pass='clave_del_usuario_de_la_bd';
$db='base_de_datos';

//Conectamos a mysql. Si falla muestra mensaje
$conexion=mysql_connect($host,$usr,$pass)
or die("No se pudo conectar.." );

//Seleccionamos la base de datos. Si falla muestra mensaje
mysql_select_db($db,$conexion)
or die("No se pudo seleccionar la Base de Datos.");

//Ejecuta la sentencia sql de borrado
@mysql_query("DELETE FROM usuarios WHERE nombre='$nombre'");
if (mysql_error($conexion)==""){
echo "<h3>Se ha eliminado nombre '$nombre'</h3>\n";
}
else {
echo "<h3>Ha habido un error al borrar.</h3>\n";
}
}
################################################
  #7 (permalink)  
Antiguo 10/03/2009, 18:46
(Desactivado)
 
Fecha de Ingreso: junio-2008
Mensajes: 287
Antigüedad: 15 años, 10 meses
Puntos: 9
gracias...
esta muy bien pero todo eso lo voy a meter entre <?php y ?>?
o como le tengo que hacer y si esta bien donde recojo el nombre que anoto en el formulario que quiero eliminar?
gracias...

ya ya lo arregle muchas gracias pero tengo otra duda
cuando coloco en el formulario al nino que quiero eliminar me sale que ha sido eliminado aunque el nino no exista en la bd como le puedo hacer para que elimine solo si esta registrado en la bd

Código PHP:
<?php

//TOMAMOS LA VARIABLE NOMBRE DEL FORMULARIO
$nombreaddslashes($_POST['nombre']);

//conectamos a la base de datos y seleccionamos la database
$conn mysql_connect ("localhost""-------------""---------------");
mysql_select_db("--------------------",$conn);
 
//Ejecuta la sentencia sql de borrado
mysql_query("DELETE FROM usuarios WHERE nombre='$nombre'");

if (
mysql_error($conn)==""){ //me muestra esto cada que quiero eliminar al nino aunque no exista en la bd
echo "Se ha eliminado nombre '$nombre'"

} else {
echo 
"Ha habido un error al borrar.";
}
?>

Última edición por GatorV; 10/03/2009 a las 21:05
  #8 (permalink)  
Antiguo 10/03/2009, 20:11
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: como eliminar filas de una bd desde un formulario

Puedes usar mysql_affected_rows() para saber si hubo algún registro afectado por la consulta y de acuerdo a ello mostrar el mensaje.

Véase: http://www.php.net/mysql_affected_rows
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
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:29.