Foros del Web » Programando para Internet » PHP »

Delete

Estas en el tema de Delete en el foro de PHP en Foros del Web. Hola buen dia Tengo que eliminar datos de mis tablas, tengo una tabla de estado y otra de comentarios, y solo tienen un campo en ...
  #1 (permalink)  
Antiguo 28/09/2010, 15:18
 
Fecha de Ingreso: agosto-2010
Mensajes: 62
Antigüedad: 13 años, 8 meses
Puntos: 0
Información Delete

Hola buen dia
Tengo que eliminar datos de mis tablas, tengo una tabla de estado y otra de comentarios, y solo tienen un campo en comun, que es de un caso.

Lo que pretendo hacer es lo siguiente:
Eliminar un dato de la tabla estado por medio del id. y al eliminarlo se elimine la tabla de comentario el campo de la tabla comnetario where estado.cabecera=comentario.cabera

Alhuien e pude ayudar porfavon

aqui esta mi codig para que se guien.

Código PHP:
 <?php 
       
    
require_once("conexion.php");
   
mysql_query("DELETE FROM comentariosstatus WHERE (idcomentarios='".$_POST[select]."');")or die ("error en la consulta".mysql_error());  
        
?>
</p>
<table bgcolor="#E0E0E0" width="787"  align="center" >
<td width="802" height="55">
<h1 align="center" class="red" bgcolor="#E1E1E1" ><em><strong>Eliminar detalle de caso</strong></em></h1>
</td>
</table>
<p><br>
</br></p>

      <form action="<?=$PHP_SELF?>" method="post" onclick="mostrar"> 
      <table width="318" height="118" align="center" cellpadding="3">
        <tr>
        <td width="124" height="66">
      <p align="right">Id comentarios: </p></td>
       <td width="174">  </p>
         <select name="select">
           <option>Seleccione una opción: </option>
           <?
      $sql
="select idcomentarios,idcomentarios from comentariosstatus";
       
$query=mysql_query($sql);
        while(
$row=mysql_fetch_array($query))
          {
      
?>
           <option value=" <? echo $row[0]; ?>"><? echo $row[1]; ?></option>
           <?php 
      
}
    
      
?>

         </select></td>
 </tr>
 </table>
      <div align="center">
      <input type=submit name="submit2" value= 
    "Eliminar" />
    </div>
</form>
Espero puedan ayudarme de Gracias
  #2 (permalink)  
Antiguo 28/09/2010, 15:44
Avatar de lisandro Arg  
Fecha de Ingreso: octubre-2003
Ubicación: Cordoba, Argentina
Mensajes: 945
Antigüedad: 20 años, 6 meses
Puntos: 24
Respuesta: Delete

No entiendo mucho, la redacción no es muy buena y en el texto hablas de unos campos que luego en el código no están

cómo se relacionan las tablas ?
  #3 (permalink)  
Antiguo 28/09/2010, 15:45
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 18 años, 10 meses
Puntos: 88
Respuesta: Delete

mi no entender, cual es el error?? donde esta la tabla estado??

lo que "creo" que debes de hacer son dos deletes, uno para eliminarlo de estado y luego otro para comentarios cada uno con sus respectivos where para no cometer error.

saludos.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #4 (permalink)  
Antiguo 28/09/2010, 16:59
 
Fecha de Ingreso: agosto-2010
Mensajes: 62
Antigüedad: 13 años, 8 meses
Puntos: 0
Busqueda Respuesta: Delete

Si tienen razon disculpen no me explique bien, los nombres que puse solo eran como ejemplos, no pensaba meter el codigo.

Por ejemplo quiero saber si es aceptable una consulta como esta:

eliminar id de comentarios where cabecera cliente se aigual a cabecera cliente de status

Es con lo unico que se relacionan estas tablas, pero no tiene llave foranea en si.

Y si se puede hacer esta consulta como la ponga en codigo php. En la parte del delete

Gracias por su ayuda
  #5 (permalink)  
Antiguo 29/09/2010, 13:58
 
Fecha de Ingreso: agosto-2010
Mensajes: 62
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Delete

Bueno para que sea más fácil, tal vez sea en otro tema pero bueno:

Tengo mis tablas

status
_________
idstatus
cabecera_cliente
servicio

La otra es:

comments
-------------
idcomments
cabecera_cliente
notas

Como le puedo hacer para que al eliminar el id de status se elimine la id de comments donde las cabeceras_cliente sean de igual valor

Pro favor si alguien me puede ayudar
  #6 (permalink)  
Antiguo 29/09/2010, 14:12
Avatar de lisandro Arg  
Fecha de Ingreso: octubre-2003
Ubicación: Cordoba, Argentina
Mensajes: 945
Antigüedad: 20 años, 6 meses
Puntos: 24
Respuesta: Delete

En el código que pusiste en el primer mensaje veo que recibes por POST un idcomments y supongo que con ese dato quieres eliminar los registros.

Lo que tenés que hacer antes de eliminar el registro de la tabla comments es consultar la cabecera_cliente y usar ese dato para eliminar los registros en la tabla status.
  #7 (permalink)  
Antiguo 30/09/2010, 08:56
 
Fecha de Ingreso: agosto-2010
Mensajes: 62
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Delete

Gracias lisandro tendras algun ejemplo que pueda usar como guia
  #8 (permalink)  
Antiguo 30/09/2010, 11:42
Avatar de lisandro Arg  
Fecha de Ingreso: octubre-2003
Ubicación: Cordoba, Argentina
Mensajes: 945
Antigüedad: 20 años, 6 meses
Puntos: 24
Respuesta: Delete

Código PHP:
Ver original
  1. // Consultar cabecera_cliente
  2. $query = mysql_query("SELECT cabecera_cliente FROM status WHERE idcomments = ".$_POST['select']);
  3. $status = mysql_fetch_array($query); // Cuando se hace una consulta por un campo q es clave priamria puede devolver false o a lo sumo un registro, por eso no hace falta hacer un while
  4.  
  5. // Eliminar de la tabla comments con el dato anteriormente consutlado
  6. mysql_query("DELETE FROM comments WHERE cabecera_cliente = ".$status['cabecera_cliente']);
  7.  
  8. // Por último eliminar el registro de la tabla status
  9. mysql_query("DELETE FROM status WHERE idcomments = ".$_POST['select']);

Por lo que puedo entender es eso lo que necesitabas hacer.

Última edición por lisandro Arg; 30/09/2010 a las 11:58
  #9 (permalink)  
Antiguo 30/09/2010, 13:27
 
Fecha de Ingreso: agosto-2010
Mensajes: 62
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Delete

Siip ya resolvi esto gracias por tu ayuda

Saludos

Etiquetas: delete
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 19:01.