Foros del Web » Programando para Internet » PHP »

Borrar registro de una base de datos.

Estas en el tema de Borrar registro de una base de datos. en el foro de PHP en Foros del Web. Buenas, tengoun problema con esta funcion basicamente se trata de un menu desplegable, del campo "Id" de una tabla llamada productos de la base de ...
  #1 (permalink)  
Antiguo 20/05/2011, 12:04
 
Fecha de Ingreso: mayo-2011
Mensajes: 23
Antigüedad: 12 años, 11 meses
Puntos: 0
Borrar registro de una base de datos.

Buenas, tengoun problema con esta funcion basicamente se trata de un menu desplegable, del campo "Id" de una tabla llamada productos de la base de datos productos

En esta tabla hay ordenadores, pantallas etc.. basicamente lo qeu quiero es que selecione la Id y me borre el registro. (seleciono id, y que despues se borre la fila entera del registro)

Ahora biene el problema una vez eligo el valor en la pestaña en el segundo documento que me redirecciona para borrar me da el siguiente error:

Notice: Undefined variable: Id in C:\xampp\htdocs\borrar\borrar2.php on line 14

Agradeceria que me ayudaran a pulir gracias jeje

La primera pagina, con el menu desplegable de Id.

Código PHP:
<HTML>
<HEAD>
<TITLE>index.php</TITLE>
</HEAD>
<BODY>
<div align="center">
<h1>Borrar un registro</h1>
<br>

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

//selección de la base de datos con la que vamos a trabajar
mysql_select_db("productos");

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

//Creamos la sentencia SQL y la ejecutamos
$sSQL="select Id from productos";
$result=mysql_query($sSQL);

echo 
'<select Id="Id">';

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

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

</BODY>
</HTML>
Y el segundo documento llamado borrar2.php que es donde me da el error de la variable

Código PHP:
<HTML>
<HEAD>
<TITLE>Borrar2.php</TITLE>
</HEAD>
<BODY>
<?
//Conexion con la base
mysql_connect("localhost","root","");

//selección de la base de datos con la que vamos a trabajar
mysql_select_db("productos");

//Creamos la sentencia SQL y la ejecutamos
$sSQL="Delete From productos Where Id='$Id'";
mysql_query($sSQL);
?>

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

</BODY>
</HTML> 



Gracias de antemano
  #2 (permalink)  
Antiguo 20/05/2011, 12:08
Avatar de silvanha  
Fecha de Ingreso: marzo-2006
Ubicación: En mi mundo de sueños
Mensajes: 653
Antigüedad: 18 años, 1 mes
Puntos: 65
Respuesta: Borrar registro de una base de datos.

Agrega el "name" al select..

Código PHP:
Ver original
  1. <select Id="Id" name="Id">

Después recibelo:
Código PHP:
Ver original
  1. $Id = $_POST["Id"]

creo que con eso se corrige el problema..

saludos!
__________________
●•· No hay nada imposible..
●•· Vico-X.. ;)
  #3 (permalink)  
Antiguo 20/05/2011, 12:17
 
Fecha de Ingreso: mayo-2011
Mensajes: 23
Antigüedad: 12 años, 11 meses
Puntos: 0
Respuesta: Borrar registro de una base de datos.

uhmm a mi por lo menos no me funciona, agradezco mucho que respondieras tan rapido pero.. Soy bastante nuevo en esto xD, con cosas sueltas quiza no las situe muy bien en su lugar.

Si pudieras ser algo mas especifico donde situarlo y eso lo agradeceria.
  #4 (permalink)  
Antiguo 20/05/2011, 12:20
Avatar de stramin  
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años, 1 mes
Puntos: 336
Respuesta: Borrar registro de una base de datos.

aparte de que sería bueno agregar el value a las opciones

Código PHP:
{echo '<option value="'.$row["Id"].'">'.$row["Id"].'</option>';} 
__________________
El objetivo de este foro es orientar al usuario como un favor y no como una obligación.

Yo soy de los que dan puntos por aporte :D
  #5 (permalink)  
Antiguo 20/05/2011, 12:44
 
Fecha de Ingreso: mayo-2011
Mensajes: 23
Antigüedad: 12 años, 11 meses
Puntos: 0
Respuesta: Borrar registro de una base de datos.

Como dije soy batsante nuevo, asin que possiblemente haga daño a la vista. Aqui dejo como lo tengo ahora, me sigue dando el error undefined index:Id.

Código PHP:
<TITLE>index.php</TITLE>
</HEAD>
<BODY>
<div align="center">
<h1>Borrar un registro</h1>
<br>

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

//selección de la base de datos con la que vamos a trabajar
mysql_select_db("productos");

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

//Creamos la sentencia SQL y la ejecutamos
$sSQL="select Id from productos";
$result=mysql_query($sSQL);

echo 
'<select Id="Id">';

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

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

</BODY>
</HTML>

y borrar2.php

Código PHP:
<HTML>
<HEAD>
<TITLE>Borrar2.php</TITLE>
</HEAD>
<BODY>
<?
//Conexion con la base
mysql_connect("localhost","root","");

//selección de la base de datos con la que vamos a trabajar
mysql_select_db("productos");

//Creamos la sentencia SQL y la ejecutamos
$sSQL="Delete From productos Where Id='{$_POST['Id']}'";
mysql_query($sSQL);
?>

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

</BODY>
</HTML>
  #6 (permalink)  
Antiguo 20/05/2011, 12:55
Avatar de xtimed  
Fecha de Ingreso: julio-2009
Ubicación: BCN - México
Mensajes: 226
Antigüedad: 14 años, 9 meses
Puntos: 41
Respuesta: Borrar registro de una base de datos.

uhmmmm , no veo que cierres los tags <option>, creo que seria:
Código PHP:
while ($row=mysql_fetch_array($result))
{echo 
'<option>'.$row["Id"].'</option>';} 
no se si ese sea el problema
  #7 (permalink)  
Antiguo 20/05/2011, 14:20
Avatar de stramin  
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años, 1 mes
Puntos: 336
Respuesta: Borrar registro de una base de datos.

Cita:
Iniciado por stramin Ver Mensaje
aparte de que sería bueno agregar el value a las opciones

Código PHP:
{echo '<option value="'.$row["Id"].'">'.$row["Id"].'</option>';} 
hazle caso a stramin
__________________
El objetivo de este foro es orientar al usuario como un favor y no como una obligación.

Yo soy de los que dan puntos por aporte :D
  #8 (permalink)  
Antiguo 20/05/2011, 14:27
 
Fecha de Ingreso: febrero-2010
Mensajes: 818
Antigüedad: 14 años, 2 meses
Puntos: 55
Respuesta: Borrar registro de una base de datos.

al select le falta el name
<select name="Id">
algo sobre los SELECT de HTML http://www.w3schools.com/tags/tag_select.asp
algo sobre POST en PHP http://php.net/manual/es/language.va...s.external.php


Saludos.

Última edición por Death_Empire; 20/05/2011 a las 14:41

Etiquetas: borrar, registro
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.