Foros del Web » Programando para Internet » PHP »

Problema para eliminar registro

Estas en el tema de Problema para eliminar registro en el foro de PHP en Foros del Web. Tengo una tabla con un registro de nombrse y rutas de archivos que quiero que se eliminen al pulsar el "boton" de eliminar. Estuve leyendo ...
  #1 (permalink)  
Antiguo 12/08/2009, 12:18
Avatar de Joystickoso  
Fecha de Ingreso: enero-2009
Mensajes: 127
Antigüedad: 15 años, 3 meses
Puntos: 3
Pregunta Problema para eliminar registro

Tengo una tabla con un registro de nombrse y rutas de archivos que quiero que se eliminen al pulsar el "boton" de eliminar.
Estuve leyendo en este foro que podía hacerlo asi:(el boton)
Código:
<a onclick="willSubmit=confirm('&iquest;Esta seguro de eliminar este registro?'); return willSubmit;" 
href="nombre_de_tu_pagina?id_del=<?=$row['llave_primaria']?>" title="Eliminar">
<img src="ico_delete.gif"  border="0" alt="Eliminar"></a>
Y luego usar la variable url:
Código PHP:
if($_GET['id_del']) // esto dice si has pulsado el enlace eliminar ejecuta este codigo
/* aqui va tu consulta para eliminar */

$sSQL="Delete From noticias Where titulo='".$_GET['id_del']."'";
mysql_query($sSQL); 
Pero no se cumple la condicion de if($_GET['id_del']).
No se si esto tendrá que ver que con que uso marcos, mas concretamente dos uno donde estaria la botonera llamado "botonera" y el de abajo donde va la pagina llamdo "principal", de ser asi como se haria usandolos?

He probado en el condicional tambien con isset y con empty. Y tambien he probado en vez de $_GET['id_del'] con $_POST['id_del'] y con $HTTP_GET_VARS['id_del'] que he leido que podia ser eso pero nada.

Gracias y salud'Os!!
  #2 (permalink)  
Antiguo 12/08/2009, 12:22
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Problema para eliminar registro

Es que no estas en realidad usando una condicion. Deberia ser algo así

Código PHP:
Ver original
  1. if(!empty($_GET['id_del']))  {
  2.   $sSQL="Delete From noticias Where titulo='".$_GET['id_del']."'";
  3.   mysql_query($sSQL);
  4. }
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 12/08/2009, 12:31
Avatar de Joystickoso  
Fecha de Ingreso: enero-2009
Mensajes: 127
Antigüedad: 15 años, 3 meses
Puntos: 3
De acuerdo

He probado asi:
Código PHP:
if(empty($_GET['id_del'])){
echo 
"No se cumple la condicion";

}else {echo 
"Se cumple la condicion";
$delsql "DELETE FROM musica WHERE rutarchivo = '".$_GET['id_del']."'";
mysql_query($delsql);} 
y asi:
Código PHP:
if(isset($_GET['id_del'])){
echo 
"Se cumple la condicion";
$delsql "DELETE FROM musica WHERE rutarchivo = '".$_GET['id_del']."'";
mysql_query($delsql);}
else {echo 
"No se cumple";} 
Lo de se cumple y no se cumple lo he puesto para saber donde se quedaba la cosa.
Ahora probare como dices a ver si tira.
Gracias!!!

Cita:
Iniciado por abimaelrc Ver Mensaje
Es que no estas en realidad usando una condicion. Deberia ser algo así

Código PHP:
Ver original
  1. if(!empty($_GET['id_del']))  {
  2.   $sSQL="Delete From noticias Where titulo='".$_GET['id_del']."'";
  3.   mysql_query($sSQL);
  4. }
Nada, me sigue sin funcionar.

Una pregunta a parte, si pongo en el enlace la misma pagina para recargarla y hacer lo de if(!empty($_GET['id_del'])) me dará igual, no?
Gracias!!

Última edición por GatorV; 12/08/2009 a las 13:49
  #4 (permalink)  
Antiguo 12/08/2009, 13:03
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Problema para eliminar registro

De casualidad en el campo de direcciones te aparece algo asi

http://localhost/pagina.php?id_del=3

Me refiero donde uno escribe las direcciones si te sale la parte de ?id_del=#_de_id
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #5 (permalink)  
Antiguo 12/08/2009, 13:09
Avatar de Joystickoso  
Fecha de Ingreso: enero-2009
Mensajes: 127
Antigüedad: 15 años, 3 meses
Puntos: 3
Respuesta: Problema para eliminar registro

No, me sale la direccion del conjunto de marcos sin nada mas.
Por eso preguntaba si será por usar marcos o frames (o como se diga).
  #6 (permalink)  
Antiguo 12/08/2009, 13:11
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Problema para eliminar registro

Escrbie exactamente como tu lo haces porque en el ejemplo tienes declarado

<a onclick="willSubmit=confirm('&iquest;Esta seguro de eliminar este registro?'); return willSubmit;"
href="nombre_de_tu_pagina?id_del=<?=$row['llave_primaria']?>" title="Eliminar">
<img src="ico_delete.gif" border="0" alt="Eliminar"></a>

Y eso no te va redireccionar correctamente. Si es posible escribe los dos codigos tanto el del link como el de borrar
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #7 (permalink)  
Antiguo 12/08/2009, 13:17
Avatar de Joystickoso  
Fecha de Ingreso: enero-2009
Mensajes: 127
Antigüedad: 15 años, 3 meses
Puntos: 3
Respuesta: Problema para eliminar registro

Vale, el boton:
Código HTML:
<a onclick="willSubmit=confirm('&iquest;Esta seguro de eliminar este registro?'); return willSubmit;" 
href="musika2.php?id_del=<?=$row_Recordset3['id']?>" title="Eliminar" >
<img src="imagenes/borrar.png" width="21" height="21"  border="0" alt="Eliminar" align="top"></a> 
y el borrar es:
Código PHP:
if(!empty($_GET['id_del'])){

$delsql "DELETE FROM musica WHERE id = '".$_GET['id_del']."'";
mysql_query($delsql);
header("Location: musika2.php");} 
  #8 (permalink)  
Antiguo 12/08/2009, 13:19
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Problema para eliminar registro

Cuando le das click al link o la imagen ¿que te sale en el campo de direcciones?
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #9 (permalink)  
Antiguo 12/08/2009, 13:21
Avatar de Joystickoso  
Fecha de Ingreso: enero-2009
Mensajes: 127
Antigüedad: 15 años, 3 meses
Puntos: 3
Respuesta: Problema para eliminar registro

Lo mismo que me salia antes http://merinodor.phpnet.us/indice2.htm que es el conjunto de marcos.
  #10 (permalink)  
Antiguo 12/08/2009, 13:25
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Problema para eliminar registro

Lo probe y le di aceptar y me redirecciono a musika2.php?id_del=0 y en musica2.php debe estar el codigo que escribiste y debe salir. ¿Estas seguro que musika2.php esta en el mismo directorio de donde estas usando el boton? Tambien acuerdate que el archivo que estas usando el boton debe ser .php no .htm
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #11 (permalink)  
Antiguo 12/08/2009, 13:34
Avatar de Joystickoso  
Fecha de Ingreso: enero-2009
Mensajes: 127
Antigüedad: 15 años, 3 meses
Puntos: 3
Respuesta: Problema para eliminar registro

A ver, http://merinodor.phpnet.us/indice2.htm es el conjunto de marcos donde están , arriba botonera.php y abajo, en este caso musika2.php.

Y es en musika2.php donde esta el boton, en vez de mandarlo a otra pagina lo envio a la misma en donde tambien se encuentra el codigo de borrar.

En cuanto a lo de la barra de direcciones siempre me sale http://merinodor.phpnet.us/indice2.htm porque me muevo a traves del frame de abajo. En ningun momento me sale algo asi:
http://merinodor.phpnet.us/indice2.htm?id_del=(loquesea)
Por lo que yo preguntaba que si era cosa de usar marcos.

No se si me explico bien, que soy un poco novato.
Gracias!!
  #12 (permalink)  
Antiguo 12/08/2009, 13:37
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Problema para eliminar registro

Ahora entendí porque estas usando indice2.htm. Se supone que te salga la información correctamente. Vamos a probar de esta forma. En vez de llamar indice2.htm, llama directamente botonera.php y dale click al link a ver que te sale en el campo de direcciones
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #13 (permalink)  
Antiguo 12/08/2009, 13:49
Avatar de Joystickoso  
Fecha de Ingreso: enero-2009
Mensajes: 127
Antigüedad: 15 años, 3 meses
Puntos: 3
Respuesta: Problema para eliminar registro

Vale, he cargado directamente http://merinodor.phpnet.us/musika2.php y al pulsar el boton o link en la barra de direcciones me sigue apareciendo http://merinodor.phpnet.us/musika2.php.

Supongo que te referias a eso, que me deberia de salir http://merinodor.phpnet.us/musika2.php?id_del=(loquesea) pero no sale.

En fin , de momento me voy a ir a cenar que tengo hambre.
Enseguida vuelvo a volverte loco... je je je

Última edición por Joystickoso; 12/08/2009 a las 13:54
  #14 (permalink)  
Antiguo 12/08/2009, 13:54
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Problema para eliminar registro

En realidad tienes que ir primero a botonera.php que ahi debe estar el boton y al pulsar te debe salir http://merinodor.phpnet.us/musika2.php?id_del=(loquesea)
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #15 (permalink)  
Antiguo 12/08/2009, 13:55
Avatar de Joystickoso  
Fecha de Ingreso: enero-2009
Mensajes: 127
Antigüedad: 15 años, 3 meses
Puntos: 3
Respuesta: Problema para eliminar registro

No si es que el boton está en musika2.php, en la misma pagina.
  #16 (permalink)  
Antiguo 12/08/2009, 14:00
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Problema para eliminar registro

Ok ahora entiendo. El problema es que estas verificando si la variable tiene algun valor, encuentra que tiene el valor, luego hace el query, y tambien tienes debajo del query una funcion header que le indique te redirija. Mientras tanto quita esa funcion de header y deja solamente que haga el query. Tambien te sugiero que al query le hagas esto

Código PHP:
Ver original
  1. if(!empty($_GET['id_del'])){
  2.   $delsql = "DELETE FROM musica WHERE id = '".$_GET['id_del']."'";
  3.   mysql_query($delsql) or die(mysql_error());
  4. }

Es para ver si tienes algun error en el query
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #17 (permalink)  
Antiguo 12/08/2009, 14:55
Avatar de Joystickoso  
Fecha de Ingreso: enero-2009
Mensajes: 127
Antigüedad: 15 años, 3 meses
Puntos: 3
Respuesta: Problema para eliminar registro

Ahí estaba el problema, me ha salido no database selected o algo asi.
Asi que ha quedado:
Código PHP:
if(!empty($_GET['id_del'])){
mysql_select_db($database_comentarios$comentarios);
$delsql "DELETE FROM musica WHERE id = '".$_GET['id_del']."'";
mysql_query($delsql) or die(mysql_error()); 
Y ahora si que ha funcionado y ha borrado el registro, tambien lo he probado desde index2.htm y tambien funciona.
Tenias razon, como tenia puesto el header me recargaba la pagina y no veia lo que tenia que salir.

Ahora a ver si consigo que tembien me borre el archivo en cuestion con algo asi:
Código:
<a onclick="willSubmit=confirm('&iquest;Esta seguro de eliminar este registro?'); return willSubmit;" 
href="musika2.php?id_del=<?=$row_Recordset3['id']?>&ruta=<?=$row_Recordset3['rutarchivo']?>" title="Eliminar" >
<img src="imagenes/borrar.png" width="21" height="21"  border="0" align="top"></a>
Y el borar seria algo asi?
Código PHP:
if(!empty($_GET['id_del'])){
mysql_select_db($database_comentarios$comentarios);
$delsql "DELETE FROM musica WHERE id = '".$_GET['id_del']."'";
mysql_query($delsql) or die(mysql_error());
$rutarchivo $_GET['ruta'];
unlink($rutarchivo);} 
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 04:41.