Foros del Web » Programando para Internet » PHP »

borrado de datos de bd.

Estas en el tema de borrado de datos de bd. en el foro de PHP en Foros del Web. Hola, espero me ayuden con esto. Tengo creada una base de datos, a la que vía formulario puedo ingresar datos sin problema, ahora quiero borrar ...
  #1 (permalink)  
Antiguo 31/08/2004, 15:07
 
Fecha de Ingreso: julio-2003
Mensajes: 53
Antigüedad: 20 años, 9 meses
Puntos: 0
borrado de datos de bd.

Hola, espero me ayuden con esto.

Tengo creada una base de datos, a la que vía formulario puedo ingresar datos sin problema, ahora quiero borrar algunos registros para esto genero una lista de la base de datos con información y eligo que registro borrar, para esto no tengo problemas, pero quiero ahora que una vez que eliga de la lista me confirme que estos datos quiero borrar, hasta aqui bien solo que despues que confirma los datos al enviar borrar no lo hace..........

Si pueden guiarme, o indicarme donde buscar información referente al tema...
Muchas Gracias.
  #2 (permalink)  
Antiguo 31/08/2004, 15:27
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
No sé como quieres confirmar esa acción .. pero, podrías usar javascript para "impedir" que se continue o no con el proceso del "submit" de tu link/formulario donde tengas que confirmar esa acción (con una ventanita de "confirm" de javacript por ejemplo).

La forma que usas actualmente para esa confirmación .. deberías poner el código que usas ya que no se vé que es lo que realmente confirmas y que identificador usas para continuar o no el proceso, .. es probable que no estés "propagando" ese "ID" del registro a borrar en tu parte del proceso que "confirmas".

Un saludo,
  #3 (permalink)  
Antiguo 31/08/2004, 15:44
 
Fecha de Ingreso: julio-2003
Mensajes: 53
Antigüedad: 20 años, 9 meses
Puntos: 0
Estoy trabajando en php, lo más probable es que tengas razon con eso de propagar la id.....que es más complicado que borrar directo, por eso pedia donde ver algo de información para partir.

Mira no se pueda explicarme bien, ojalá me entiendas.
Tengo una pagina que despliega el total de los datos de mi base de datos,

<HTML>
<HEAD>
<TITLE>lecturausuarios.php</TITLE>
</HEAD>
<BODY>
<h1><div align ="center">Ususarios registrados</div></h1>
<br>
<br>
<?
//coneccion a la base de datos
mysql_connect("localhost","root","root");
//ejecutamos sentencia sql
$resul=mysql_db_query("gestion","select * from password");
?>
<table align ="center" border="2" bordercolor="blue">
<tr>
<th>Nombre</th>
<th>Apellidos</th>
<th>Rut</th>
<th>Login</th>
<th>Password</th>
<th>E- mail</th>
<th>General</th>
<th>Administracion</th>
<th>Recaudación</th>
<th>Abastecimiento</th>
<th>Ingenieria</th>
<th>SSGG</th>
<th>Gerencia</th>


Despues cuando aprieto borrar registros me muestra una pagina con una similar pero filtrada por un campo,


<HTML>
<HEAD>
<TITLE>Borrarusuarios.php</TITLE>
</HEAD>
<BODY>
<div align="center">
<h1>Borrar un registro</h1>
<br>

<?
//Conexion con la base
mysql_connect("localhost","root","root");

echo '<FORM METHOD="POST" ACTION="borra1.php">Login<br>';

//Creamos la sentencia SQL y la ejecutamos
$sSQL="Select login From password order by login ";
$result=mysql_db_query("gestion",$sSQL);

echo '<select name="login">';

//Mostramos los registros en forma de menú desplegable
while ($row=mysql_fetch_array($result))
{echo '<option>'.$row["login"];

}



?>
</select>

</table>
<br>
<INPUT TYPE="SUBMIT" value="Borrar">
</FORM>
</div>

</BODY>
</HTML>


Aca es cuando quiero confirmar lo que se va a borra y no hacerlo directo..


<HTML>
<HEAD>
<TITLE>Borrar1.php</TITLE>
</HEAD>
<BODY>
<div align="center">
<h1>Registro a borrar</h1>
<br>
<?
//Conexion con la base
mysql_connect("localhost","root","root");

echo '<FORM METHOD="POST" ACTION="borrar.php"><br>';

//Creamos la sentencia SQL y la ejecutamos
$sSQL="Select * From password where login='$login'";
?>
<table align ="center" border="2" bordercolor="blue">
<tr>
<th>Nombre</th>
<th>Apellidos</th>
<th>Rut</th>
<th>Login</th>
<th>Password</th>
<th>email</th>
<th>general</th>
<th>administracion</th>
<th>Recaudación</th>
<th>Abastecimiento</th>
<th>Ingenieria</th>
<th>SSGG</th>
<th>Gerencia</th>


<?
$result=mysql_db_query("gestion",$sSQL);
while ($row=mysql_fetch_array($result))
{
echo '<tr><td>'.$row ["nombre"].'</td>';
echo '<td>'.$row ["apellidos"].'</td>';
echo '<td>'.$row ["rut"].'</td>';
echo '<td>'.$row ["login"].'</td>';
echo '<td>'.$row ["password"].'</td>';
echo '<td>'.$row ["email"].'</td>';
echo '<td>'.$row ["general"].'</td>';
echo '<td>'.$row ["administracion"].'</td>';
echo '<td>'.$row ["gestionadrec"].'</td>';
echo '<td>'.$row ["gestionabastecimiento"].'</td>';
echo '<td>'.$row ["gestioningenieria"].'</td>';
echo '<td>'.$row ["gestionssgg"].'</td>';
echo '<td>'.$row ["presupuestogerencia"].'</td></tr>';
}

mysql_free_result($result)
?>

</table>
<br>
<INPUT TYPE="SUBMIT" value="Borrar">
</FORM>
</div>

</BODY>
</HTML>


y finalmente debería borra el registro

<HTML>
<HEAD>
<TITLE>Borrar.php</TITLE>
</HEAD>
<BODY>
<?
//Conexion con la base
mysql_connect("localhost","root","root");

//Creamos la sentencia SQL y la ejecutamos
$sSQL="Delete From password Where login='$login'";
mysql_db_query("gestion",$sSQL);
?>

<h1><div align="center">Registro Borrado</div></h1>
<div align="center"><a href="lecturausuarios2.php">Visualizar el contenido de la base</a></div>

</BODY>
</HTML>



Espero me entiendan.....yo se que el sistema debe estar remalo, estoy intentando aprender, ojalá puedan guiarme.
  #4 (permalink)  
Antiguo 01/09/2004, 09:03
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
En Borrar1.php .. si bien usas un formulario .. no usas ningún campo de formulario para levar ese "ID" (o en tu caso ese $login) al script que efectua el borrado de ese registro (Borrar.php)

Debes hacer algo tipo:

Código PHP:
echo "<input type=\"hidden\" name=\"login\" value=\"".row['login']."">"; 
eso entre tu <form .. > y el </form> donde quieras .. El caso es que usaras ese campo "hidden" para propagar ahí el valor de la variable que usas para filtrar y ejecutar la consulta SQL (en tu caso borrado) de ese registro concreto.

PD: Usa preferentemente los arrays superglobales para acceder a los valores de tus variables .. por ejemplo:

Código PHP:
$sSQL="Delete From password Where login='".$_POST['login']."'"
más info tienes en las FAQ's de este foro PHP.

Un saludo,

Última edición por Cluster; 01/09/2004 a las 09:14
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 16:31.