Foros del Web » Programando para Internet » PHP »

Borrar un registro

Estas en el tema de Borrar un registro en el foro de PHP en Foros del Web. Hola soy novato con php,intento borrar un registro de una tabla pero no me va,,si alguien me puede corregir el error. y si alguien me ...
  #1 (permalink)  
Antiguo 26/12/2004, 19:04
 
Fecha de Ingreso: diciembre-2004
Mensajes: 371
Antigüedad: 13 años
Puntos: 0
Borrar un registro

Hola soy novato con php,intento borrar un registro de una tabla pero no me va,,si alguien me puede corregir el error.
y si alguien me sabe decir ke es esto "isset" pos mejor ke bien,xD.

<html>
<body>
<form action="Borrar.php" method="post" >
Nº Regitro: <input type="text" name="TxtBorrar"><br>
<input type="submit" value="Borrar">
<?php
$id="TxtBorrar.value";
if (isset($id)){
// process form
/* Conexion, seleccion de base de datos */
$enlace = mysql_connect("localhost", "basedatos", "contraseña")
or die("No pudo conectarse : " . mysql_error());
mysql_select_db("basedatos");
$sSQL="DELETE FROM 'tabla1' WHERE $id=id"
mysql_db_query("basedatos",$sSQL);
?>
</form>
</body>
</html>
  #2 (permalink)  
Antiguo 26/12/2004, 19:23
Avatar de RUX
RUX
 
Fecha de Ingreso: enero-2004
Ubicación: Las Palmas de Gran Canari
Mensajes: 566
Antigüedad: 13 años, 10 meses
Puntos: 0
Hola que tal??

Leyendo tu codigo, no me cuadran muy bien algunas cosas pero bueno, el isset ese, te esta indicando si la variable $id ha sido establecida, es decir, si la variable existe procesa el formulario, y lo que veo es que abres una llave del tipo { despues del isset pero no la cierras con } en ningun lado y eso genera un error.

SALUDOS
__________________
Rux.es - Sitio Personal | IslaRock.com - Todo Rock

Última edición por RUX; 26/12/2004 a las 19:26
  #3 (permalink)  
Antiguo 26/12/2004, 19:24
Avatar de jmn2k1  
Fecha de Ingreso: noviembre-2001
Ubicación: Buenos Aires...
Mensajes: 489
Antigüedad: 16 años, 1 mes
Puntos: 2
Eso de TxtBorrar.value es javascript, en PHP se crea una variable con el nombre del campo name de tu input ($TxtBorrar en tu caso...).
Asi que tienes que hacer $id = $TxtBorrar; para que la variable $ID tenga el numero de registro que quieres borrar.
Para lo de isset y otras dudas como esa te aconsejo que busques en el manual de PHP http://www.php.net/manual/es/
__________________
JmN
  #4 (permalink)  
Antiguo 27/12/2004, 05:40
 
Fecha de Ingreso: diciembre-2004
Mensajes: 371
Antigüedad: 13 años
Puntos: 0
Hola,,grasias por molestaros en contestar,,arregle eso,,y ahora me da este error:

Parse error: parse error, unexpected T_STRING in /home/webcindario/basedato/BorrarMiarroba.php on line 14

YA KE ANTES NO DEJE CLARO LO KE KERIA KE HARIA EL CODIGO LO DIGO AHORA"kiero meter en la caja de texto el numero de registro a borrar y logo recargar la page para ke lo borre"

y el codigo viene a ser esto:

<html>
<body>
<form action="Borrar.php" method="post" >
Nº Regitro: <input type="text" name="TxtBorrar"><br>
<input type="submit" value="Borrar">
<?php
$id = $TxtBorrar;
if (isset($id))
{
$enlace = mysql_connect("localhost", "basedatos", "contraseña")
or die("No pudo conectarse : " . mysql_error());
mysql_select_db("basedatos");
$sSQL="DELETE FROM 'tabla1' WHERE $id=id"
mysql_db_query("basedatos",$sSQL); /*linea 14*/
}
?>
</form>
</body>
</html>
  #5 (permalink)  
Antiguo 27/12/2004, 07:33
Avatar de RUX
RUX
 
Fecha de Ingreso: enero-2004
Ubicación: Las Palmas de Gran Canari
Mensajes: 566
Antigüedad: 13 años, 10 meses
Puntos: 0
Hola, yo lo que veo son varios errores en tu formulario, la mayoria son errores de sintaxis, prueba este codigo que te he generado ab que tal:

Código PHP:
<html>
<body>
<form action="<?=$_SERVER[$PHP_SELF];?>" method="post" >
Nº Regitro: <input type="text" name="TxtBorrar"><br>
<input type="submit" value="Borrar">
<?php
$id 
$_POST['TxtBorrar'];

// Si la variable $id fue establecida ejecuta el siguiente codigo de lo contrario lo paso por alto
if(isset($id)){

// Conecto con mysql
$enlace mysql_connect("localhost""basedatos""") or die("No pudo conectarse : " mysql_error());

// Selecciono la base de datos que voy a usar
mysql_select_db("basedatos"$enlace) or die (mysql_error());

// Elimino el registro pedido y ademas compruebo que la operacion se haya llevado a cabo
if(mysql_query("DELETE FROM tabla1 WHERE id=$id")){
    
// Se ha efectuado...    
    
echo "Se borro el registro $id correctamente!";

}else{
    
// No se ha efectuado...
    
echo "Error!: No se pudo eliminar el registro $id! MySQL dijo: ".mysql_error();
}}
?>
</form>
</body>
</html>
SALUDOS y SUERTE!. Cualquier cosa ya sabes ;)
__________________
Rux.es - Sitio Personal | IslaRock.com - Todo Rock

Última edición por RUX; 27/12/2004 a las 07:34
  #6 (permalink)  
Antiguo 27/12/2004, 10:11
 
Fecha de Ingreso: diciembre-2004
Mensajes: 371
Antigüedad: 13 años
Puntos: 0
Muchas gracias,,por tomarte tantas molestias,esta linea no la entiendo muy bien : <form action="<?=$_SERVER[$PHP_SELF];?>" method="post" >

prove el codigo y me salio lo siguiente:

Error!: No se pudo eliminar el registro borre1! MySQL dijo: Unknown column 'id' in 'where clause'

cambie el id por "campo1"

mi tabla es esta :

campo1 campo2
Editar Borrar inser5 inser6
Editar Borrar inser3 inser4
Editar Borrar inser1 inser2

Al cambiar esto,,lo probe y al cargar la page me salio:

Se borro el registro campo1 correctamente!

y me borro todo,,desde el insert1 hasta el 6,,asi ke no pude escribir nada en el text para borrar.


Am ke no lo deje muy claro,,lo ke kiero borrar es una linea del registro ,,eje.. insert1 y insert2

Última edición por yaviz; 27/12/2004 a las 10:15
  #7 (permalink)  
Antiguo 27/12/2004, 13:10
Avatar de RUX
RUX
 
Fecha de Ingreso: enero-2004
Ubicación: Las Palmas de Gran Canari
Mensajes: 566
Antigüedad: 13 años, 10 meses
Puntos: 0
Hola!!

Este comando $_SERVER[$PHP_SELF]; hace una llamada al mismo archivo que se esta ejecutando en el servidor en estos momentos, (en tu caso seria lo mismo que llamar a 'borrar.php').

Se supone q en tu campo input(text), vas a introducir valores numericos o alfanumericos? pq al menos yo di por hecho q ibas a introducir valores numericos.

Y creo que al llamar a tu campo1 en lugar de id, estas llamando a una fila entera en lugar de llamar a 1 sola celda (la q pretendes eliminar).
__________________
Rux.es - Sitio Personal | IslaRock.com - Todo Rock
  #8 (permalink)  
Antiguo 27/12/2004, 17:26
 
Fecha de Ingreso: diciembre-2004
Mensajes: 371
Antigüedad: 13 años
Puntos: 0
Ya esta,,puse un campo autoincrement,,y me funciona,,antes lo estaba haciendo con texto y no iva.
MUXAS GASIAS POR TODO.
Un saludo,y feliz navidad.
  #9 (permalink)  
Antiguo 27/12/2004, 17:48
 
Fecha de Ingreso: diciembre-2004
Mensajes: 371
Antigüedad: 13 años
Puntos: 0
Ota cosita ke me surgio ahora,,para el indice puse int(8) _autoincrement tengo esta tabla:

|INDICE |VALORES1|VALORES2|
------------------------------
| 1 | v1 | r1 |
| 2 | v2 | r2 |
| 3 | v3 | r3 |
| 4 | v4 | r4 |
------------------------------
al borrar el registro 2 me keda asi:

INDICE VALORES1 VALORES2
1 v1 r1
3 v3 r3
4 v4 r4

como podria haser para ke el indice se ordenara cada vez ke borro un registro,es decir para ke kedara asi:

INDICE VALORES1 VALORES2
1 v1 r1
2 v3 r3
3 v4 r4

Última edición por yaviz; 27/12/2004 a las 17:53
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 09:52.