Foros del Web » Programando para Internet » PHP »

Duda Eliminar datos en mysql desde php

Estas en el tema de Duda Eliminar datos en mysql desde php en el foro de PHP en Foros del Web. Estimados, tengo una duda con este codigo. Ingreso datos en una bd llamada agenda, de esta forma. Código PHP: <?php //1. Crear conexión a la Base de Datos $conexion  =  mysql_connect ( ...
  #1 (permalink)  
Antiguo 22/09/2011, 15:15
 
Fecha de Ingreso: septiembre-2011
Mensajes: 8
Antigüedad: 12 años, 7 meses
Puntos: 0
Duda Eliminar datos en mysql desde php

Estimados, tengo una duda con este codigo.
Ingreso datos en una bd llamada agenda, de esta forma.

Código PHP:
<?php
//1. Crear conexión a la Base de Datos
$conexion mysql_connect("localhost","root","holamundo");
if (!
$conexion) {
die(
"Fallo la conexión a la Base de Datos: " mysql_error());
}
//2. Seleccionar la Base de Datos a utilizar
$seleccionar_bd mysql_select_db("agenda"$conexion);
if (!
$seleccionar_bd) {
die(
"Fallo la selección de la Base de Datos: " mysql_error());
}
//3. Tomar los campos provenientes del Formulario
$rit $_POST['rit'];
$ruc $_POST['ruc'];
$horas $_POST['horas'];
$delito $_POST['delito'];
$estado $_POST['estado'];
$run $_POST['run'];

//4. Insertar campos en la Base de Datos (No inserto el id_empleado ya que se genera automaticamente)
$insertar mysql_query("INSERT INTO condenas (rit, ruc, horas, delito, estado, email) VALUES ('{$rit}', '{$ruc}', '{$horas}', '{$delito}', '{$estado}', '{$run}')"$conexion);
if (
$insertar) {
echo (
"Datos Guardados"); 
}
//4. Cerrar conexión a la Base de Datos
mysql_close($conexion);
?>

<head>
<script language="javaScript">
function fVolver(){
document.location.href = "nueva_condena.php";
}
</script> 
</head>

<input type="button" name="volver" id="volver" value="Agregar otro" onClick="javaScript:fVolver();">
el cual funciona bien, ademas para mostrar los datos lo veo a traves de condenas.php que contiene:

Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252" />
<title>Registro Condenas</title>
<link href="style.css" rel="stylesheet" type="text/css" />

<?php 
$rut 
$_GET['email1'];

$link mysql_connect("localhost""root""holamundo"); 
mysql_select_db("agenda"$link); 

/*$result = mysql_query("SELECT * FROM condenas", $link); */

$result mysql_query("SELECT condenas.rit, condenas.ruc, condenas.horas, condenas.delito, condenas.estado, 
addressbook.email FROM condenas INNER JOIN addressbook ON condenas.email = addressbook.email where condenas.email = '$rut'"
$link); 



if (
$row mysql_fetch_array($result) ){ 
   echo 
"<table border = '1'> \n"
   echo 
"<tr><td><b>RUN</b></td><td><b>RIT</b></td><td><strong>RUC</strong></td><td><strong>Horas</strong></td><td><strong>Delito</strong></td><td><strong>Estado</strong></td><td><strong>Acciones</strong></td></b></tr> \n"
   do { 
      echo 
"<tr><td>".$row["email"]."</td><td>".$row["rit"]."</td><td>".$row["ruc"]."</td><td>".$row["horas"]."</td><td>".$row["delito"]."</td><td>".$row["estado"]."</td>
<td> "
."<a href='eliminar_dato.php?idcon=" $row["id"] . "'>Eliminar</a>"." - Editar</td></tr>"
// <a href='eliminar_dato.php?idcon=" . $row["id"] . "'>Eliminar</a>  ENVIA ID, para poder eliminarla.

   
} while ($row mysql_fetch_array($result)); 
   
/*echo "<tr><td><b>RUN</b></td><td><b>RIT</b></td><td><strong>RUC</strong></td><td><strong>HORAS</strong></td><td><strong>Delito</strong></td><td><strong>Estado</strong></td><td><strong>Acciones</strong></td></b></tr></table> \n"; */
} else { 
echo 
"¡ No se ha encontrado ningún registro !"

?> 


<head>
<script language="javaScript">
function fVolver(){
document.location.href = "nueva_condena.php";
}
</script> 
</head>

<input type="button" name="volver" id="volver" value="Agregar" onClick="javaScript:fVolver();">
y para eliminar uso eliminar_dato.php

<?php
$conexion = mysql_connect("localhost","root","holamundo");
$id = $_GET['idcon'];
$emailx= $_GET['email1'];
if (!$conexion) {
die("Fallo la conexión a la Base de Datos: " . mysql_error());
}
//2. Seleccionar la Base de Datos a utilizar
$seleccionar_bd = mysql_select_db("agenda", $conexion);
if (!$seleccionar_bd) {
die("Fallo la selección de la Base de Datos: " . mysql_error());
}
$eliminar = mysql_query("DELETE FROM condenas WHERE id=$id" , $conexion); //acá ingrese el dato run para eliminar
if (!$eliminar) {
die("Fallo la conexión a la Base de Datos en la Var Eliminar: " . mysql_error());
} else {
echo ("Registro eliminado");
}
?>

<script language="javaScript">
document.location.href = "condenas.php";
</script>
condenas.php (viste de los registros ingresados)


El hecho es que no me borra nada, me sale un error


Adicionalmente debo decir que existe un script en que hace que se muestren los registros vinculados con un rut.

Código HTML:
<script language="JavaScript">
var email1 = "<?php echo $copiaemail; ?>";   //aca se agrego la variable email1 para exportarla a la otra pagina
function Abrir_ventana (pagina) {
var opciones="toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, resizable=yes, width=700, height=365, top=85, left=140";
window.open(pagina,"",opciones);
}
</script> 
Agradezco su ayuda, muchas gracias.
  #2 (permalink)  
Antiguo 22/09/2011, 15:17
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Duda Eliminar datos en mysql desde php

No se si te das cuenta, pero en la URL para eliminar el registro no hay ningún valor después de email1= y obviamente por eso genera el error, pues no hay nada.

Además tampoco se ve en la URL que pases la variable de idcon y dicho valor es necesario para definir $id.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 22/09/2011, 15:23
 
Fecha de Ingreso: septiembre-2011
Mensajes: 8
Antigüedad: 12 años, 7 meses
Puntos: 0
Respuesta: Duda Eliminar datos en mysql desde php

Si, claro que veo el error, de hecho probe con varias variables, pero no pude eliminar nada.
En condenas.php le paso el id con

Código HTML:
<a href='eliminar_dato.php?idcon=" . $row["id"]
  #4 (permalink)  
Antiguo 22/09/2011, 15:26
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Duda Eliminar datos en mysql desde php

¿Entonces porque en la barra de direcciones de la imagen no sale idcon sino email1?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 22/09/2011, 20:32
 
Fecha de Ingreso: septiembre-2011
Mensajes: 8
Antigüedad: 12 años, 7 meses
Puntos: 0
Respuesta: Duda Eliminar datos en mysql desde php

Que deberia cambiar para que borre el registro?
Entiendo que esta leyendo email1 cuando deberia leer idcon.
Pero en eliminar_dato.php esta
$id = $_GET['idcon'];
que la llamo con
$eliminar = mysql_query("DELETE FROM condenas WHERE id=$id" , $conexion);
  #6 (permalink)  
Antiguo 22/09/2011, 20:40
 
Fecha de Ingreso: noviembre-2009
Mensajes: 535
Antigüedad: 14 años, 5 meses
Puntos: 25
Respuesta: Duda Eliminar datos en mysql desde php

normalment eso endica que la syntises esta mal escrita. proba de quitar {} solo '$rit', suerte
__________________
cada vez que aprendes algo te crees que no sabes nada
  #7 (permalink)  
Antiguo 22/09/2011, 20:48
Avatar de gustavopino  
Fecha de Ingreso: septiembre-2011
Ubicación: venezuela
Mensajes: 152
Antigüedad: 12 años, 7 meses
Puntos: 29
Respuesta: Duda Eliminar datos en mysql desde php

pero verificaste si se guarda los valores en la base de datos?
__________________
Visita a Publiventa donde compras y vendes de todo
  #8 (permalink)  
Antiguo 23/09/2011, 11:51
 
Fecha de Ingreso: septiembre-2011
Mensajes: 8
Antigüedad: 12 años, 7 meses
Puntos: 0
Respuesta: Duda Eliminar datos en mysql desde php

Arros en la parte donde llamo a rit, no uso llaves del tipo {}, uso [], le quito los []?

Gustavopino: Deje en claro que quiero eliminar, dado que ya ingrese.

Saludos estimados.
  #9 (permalink)  
Antiguo 23/09/2011, 12:02
Avatar de lalooo  
Fecha de Ingreso: agosto-2011
Mensajes: 12
Antigüedad: 12 años, 7 meses
Puntos: 4
Respuesta: Duda Eliminar datos en mysql desde php

Primero verifica que efectivamente estes enviando el dato del id, ya que en tu consulta:

Código PHP:
$result mysql_query("SELECT condenas.rit, condenas.ruc, condenas.horas, condenas.delito, condenas.estado, 
addressbook.email FROM condenas INNER JOIN addressbook ON condenas.email = addressbook.email where condenas.email = '$rut'"
$link); 
no estas seleccionando el id de condenas, que es la llave para que elimines el registro.
  #10 (permalink)  
Antiguo 23/09/2011, 12:16
 
Fecha de Ingreso: septiembre-2011
Mensajes: 8
Antigüedad: 12 años, 7 meses
Puntos: 0
Respuesta: Duda Eliminar datos en mysql desde php

Si lo que me pides, es que vea en la bd si esta el campo id y que vea si tiene datos?
  #11 (permalink)  
Antiguo 23/09/2011, 12:41
 
Fecha de Ingreso: agosto-2011
Ubicación: Viña del Mar, Chile
Mensajes: 311
Antigüedad: 12 años, 7 meses
Puntos: 50
Respuesta: Duda Eliminar datos en mysql desde php

hola...pega el código completo del enlace que lleva a la página eliminar...

saludos
  #12 (permalink)  
Antiguo 23/09/2011, 13:25
 
Fecha de Ingreso: septiembre-2011
Mensajes: 8
Antigüedad: 12 años, 7 meses
Puntos: 0
Respuesta: Duda Eliminar datos en mysql desde php

la pagina es edit.php y entre otras cosas contiene esto:
Donde email=rut


Código PHP:
<label><?php echo ucfmsg("EMAIL"?>:</label>
        <input type="text" name="email" size="35" value="<?php echo $myrow['email']?>" /><br />
        <?php $copiaemail $myrow['email']; ?>
        <?php //echo $copiaemail; ?>


<head>
<script language="JavaScript">
var email1 = "<?php echo $copiaemail?>";   //aca se agrego la variable email1 para exportarla a la otra pagina
function Abrir_ventana (pagina) {
var opciones="toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, resizable=yes, width=700, height=365, top=85, left=140";
window.open(pagina,"",opciones);
}
</script>

<script language="JavaScript">
function Abrir_ventana1 (pagina) {
var opciones="toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=yes, width=700, height=365, top=85, left=140";
window.open(pagina,"",opciones);
}
</script>

</head>

<body>
<a href="javascript:Abrir_ventana('condenas.php?email1=<?php echo $copiaemail?>')"><font size="2" face="Verdana">Registro de Condenas</font></a>
<br /><br />
<a href="javascript:Abrir_ventana1('nueva_condena.php')"><font size="2" face="Verdana">Agregar Nueva Condena</font></a>


</body>
Shot:

Cuando hago click en, Registro de Condenas
Sale la ventana (condenas.php.php):

Cuando hago click en eliminar me sale este error:


Y el codigo para eliminar dato es (eliminar_dato.php)
Código PHP:
<?php
$conexion 
mysql_connect("localhost","root","holamundo");
$id $_GET['idcon'];
$emailx$_GET['email1'];
if (!
$conexion) {
die(
"Fallo la conexión a la Base de Datos: " mysql_error());
}
//2. Seleccionar la Base de Datos a utilizar
$seleccionar_bd mysql_select_db("agenda"$conexion);
if (!
$seleccionar_bd) {
die(
"Fallo la selección de la Base de Datos: " mysql_error());
}
//$eliminar = mysql_query("DELETE FROM condenas WHERE id=$id" , $conexion);
$eliminar mysql_query("DELETE FROM condenas WHERE id=$id" $conexion);  //acá ingrese el dato run para eliminar
if (!$eliminar) {
die(
"Fallo la conexión a la Base de Datos en la Var Eliminar: " mysql_error());    
}    else {
    echo (
"Registro eliminado");
}
?> 

<script language="javaScript">
document.location.href = "condenas.php";
</script>
Saludos.

Última edición por Felipe3969; 23/09/2011 a las 13:43
  #13 (permalink)  
Antiguo 23/09/2011, 13:58
 
Fecha de Ingreso: agosto-2011
Ubicación: Viña del Mar, Chile
Mensajes: 311
Antigüedad: 12 años, 7 meses
Puntos: 50
Respuesta: Duda Eliminar datos en mysql desde php

y el campo a eliminar?
dice:
'condenas.php?email1=<?php echo $copiaemail; ?>')

y $copiaemail = $myrow['email'];
donde está $myrow['Id']???..lcuál es la id de esa tabla?
  #14 (permalink)  
Antiguo 23/09/2011, 14:13
Avatar de lalooo  
Fecha de Ingreso: agosto-2011
Mensajes: 12
Antigüedad: 12 años, 7 meses
Puntos: 4
Respuesta: Duda Eliminar datos en mysql desde php

No, el id en la tabla es el que tu dices que se genera en el INSERT (Supongo que es AUTO_INCREMENT), a lo que yo me referia es que en la consulta que ejecutas para traer los registros de la tabla te hace falta seleccionar ese id, haria falta que pusieras SELECT condenas.id, condenas.rit, condenas.rut, ... para que cuando despliegas la lista te ponga el dato en el enlace de eliminar_dato.php?idcon=" . $row["id"]
Si no, siempre puedes imprimir tu consulta para ver que está mal en la sintaxis, ponle en tu eliminar_dato.php:
Código PHP:
echo "DELETE FROM condenas WHERE id=$id"
lo mas seguro es que veas que $id va vacío

Etiquetas: html, mysql, registro, variables
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 06:52.