Problema al borrar un registro en php

Hola, tengo un problema necesito ayuda en este código..
El código se divide en dos, en una parte busco por apellido y en el otro código tendría que borrarse el registro según el apelido, pero no puedo pasar la variable mediante un enlace al código del otro archivo php
Agui esta la primera parte..
<html>
<body bgcolor="#ffc060">
<?php
if ($enviar) {
// process form
function Conectarse()
{
if (!($link=mysql_connect("*******","*******","*******")))
{
echo "Error conectando a la base de datos.";
exit();
}
if (!mysql_select_db("infowebtrival",$link))
{
echo "Error seleccionando la base de datos.";
exit();
}
return $link;
}
$link=Conectarse();
echo "Conexión con la base de datos conseguida.<br>";
$cadbusca="select * from datos where apellido like '%$busqueda%'";
$result=mysql_query($cadbusca);
$cant_resultados=mysql_num_rows($result);
echo "Se encontraron ".$cant_resultados ." resultados". "<BR>\n";
echo " ". "<BR>\n";
while($row = mysql_fetch_array($result)) {
printf("<tr><td> %s</td><td> %s </td><td><a href=\"borra.php?apell=apellido\">Borra</a></td></tr>", $row["nombre"],$row["apellido"],$row["direccion"]);
echo $id;
}
mysql_free_result($result);
mysql_close($link); //cierra la conexion
}else{
?>
<form method = "post" action = "borrar.php">
Nombre :<input type="Text" name="busqueda"><br>
<input type="Submit" name="enviar" value="Aceptar información">
</form>
<?php
} //end if
?>
</body>
</html>
Esta es la segunda parte...
<?php
function Conectarse()
{
if (!($link=mysql_connect("********","********","********")))
{
echo "Error conectando a la base de datos.";
exit();
}
if (!mysql_select_db("infowebtrival",$link))
{
echo "Error seleccionando la base de datos.";
exit();
}
return $link;
}
$link=Conectarse();
$var=$_GET['apell'];
echo $apell;
mysql_query("delete from datos where apellido = $var",$link);
?>
Al pasar por aquí borra todos los registros pero no le que pedí...
Desde ya muy agradecido

1 respuesta

Respuesta
1
Vamos a ver el problema inicial esta el la parte del while aquí te mando la linea corregida:
printf("<tr><td> %s</td><td> %s </td><td><a href=\"borra.php?apell=".$row["apellido"]."\">Borra</a></td></tr>", $row["nombre"],$row["apellido"],$row["direccion"]);
Te borraba todas las filas porque al no pasar nada en la variable, borraba todo, otra cosa te recomiendo que en ti tabla tengas un campo primary que no se repita a no ser que quieras borrar a todos los lopez de tu tabla en vez de uno solo, de esta manera crea un campo int con auto_increment y al borrar pasa el campo único y así solo se borrara una fila, otro punto es que tu creas el botón enviar y lo mandas de frente al borrar.php, sin antes haber elegido a quien borrar te recomiendo modificar en la linea del form:
<form method = "post" action = "">
Porque para enviar a borrar.php de eso se encargara el método GET cuando haces click sobre el enlace, ok espero que te haya servido de ayuda y espero tus aclaraciones o dudas...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas