Bien me surge una duda.
¿Cómo hago para eliminar un cliente de una tabla y en otra tabla se eliminen todos los trabajos realizados a dicho cliente?.
El error que me sucede es que como es FOREIGN KEY no me permite borrarla. :(
En si tengo 2 tablas.
clientes
----------
codcliente (PK)
nombre
trabajos
----------
codtrabajos (PK)
codcliente (FK)
descripcion
Ahora he creado un formulario donde puedas insertar: o Codigo del cliente o Nombre. Una vez insertado uno de los 2, se procede a mostrar los datos de la tabla y un botón para eliminar ese registro.
Cuando doy al botón de eliminar registro este no se borra.
Lo he intentado creando 2 consultas, porque de otro modo siempre me sale error de foreign key :( .
Por favor necesito ayuda llevo mirando por Google pero no he dado con la solución y no se como borrar ese dato por php.
Otra duda. como puedo hacer para elegir en mi formulario entre borrar por Nombre o idcliente ?? en el mismo programa, lo he intentado con un if ... else pero no ha funcionado,
Dejo aqui los programas.
----------borrar.php
Código HTML:
Ver original
<form action="eliminarcliente2.php" method="post" > Elija cliente a eliminar <br/> Obligatorio uno de los 2 campos para realizar la búsqueda. <input type="text" name="codcliente" maxlength="50" onfocus="restaurar2()" /> <input type="text" name="nombre" maxlength="50" onfocus="restaurar2()" /> <input name="enviar" type="submit" value="Enviar datos."/> </form>
Aqui hago un input hidden al final del form para pasar el idcliente por medio de el a la otra página php y asi proceder después al borrado de ese cliente.
------eliminarcliente2.php
Código PHP:
Ver original
<h2 align="center" > Eliminar clientes.</h2> <?php /* eliminar cliente 2 */ $codcliente = $_POST['codcliente'] ; if ($codcliente != "" || $codcliente != 0) { include('abre_conexion.php'); $query = "select * from $tabla_db1 where codcliente = '$codcliente'"; echo " <div align='center'> <table border='0' width='600' style='font-family: Verdana; font-size: 8pt' id='table1'> <tr> <td colspan='2'><h3 align='center'>Datos cliente a eliminar </h3></td> </tr> <tr> <td colspan='2'>En los campos puede ver los valores actuales.</td> </tr> <form method='POST' action='eliminarcliente3.php'> <tr> <td width='50%'> </td> <td width='50%'> </td> </tr> <tr> <td width='50%'><p align='center'><b>Código: </b></td> <td width='50%'><p align='center'><input type='text' name='codcliente' size='20' value='".$registro['codcliente']."' readonly='readonly'></td> </tr> <tr> <td width='50%'><p align='center'><b>Fecha Alta: </b></td> <td width='50%'><p align='center'><input type='text' name='fecha_alta' size='20' value='".$registro['fecha_alta']."' readonly='readonly'></td> </tr> <tr> <td width='50%'><p align='center'><b>Nombre: </b></td> <td width='50%'><p align='center'><input type='text' name='nombre' size='20' value='".$registro['nombre']."' readonly='readonly'></td> </tr> <tr> <td width='50%'><p align='center'><b>Apellido: </b></td> <td width='50%'><p align='center'><input type='text' name='apellido' size='20' value='".$registro['apellido']."' readonly='readonly'></td> </tr> <input type='hidden' name='codcliente' value='$codcliente'> <tr> <td width='100%' colspan='2'> <p align='center'> <input type='submit' value='Eliminar' name='B1'></p> </td> </tr> </form> </table> </div> "; } include('cierra_conexion.php'); } else { echo "Error en la conexión a la base de datos. " ; } ?>
En este fichero como ven he intentado esa forma ejecutando primero borrar en tabla clientes y luego en tabla trabajos pero no he podido, debido a las FOREIGN KEY.
------------------------eliminarcliente3.php
Código PHP:
Ver original
<?php // Eliminar en funcion del codcliente que recibimos $codcliente = $_POST['codcliente']; $fecha_alta = $_POST['fecha_alta'] ; $nombre = $_POST['nombre'] ; $apellido = $_POST['apellido'] ; include('abre_conexion.php'); $sql=" DELETE * FROM trabajos WHERE codcliente = '$codcliente' "; $sql=" DELETE * FROM clientes WHERE codcliente = '$codcliente' "; include('cierra_conexion.php'); echo " <div align='center'> <p>Los datos han sido actualizados con exito.</p> <p><a href='javascript:history.go(-1)'>VOLVER ATRÁS</a></p> <p><a href='javascript:history.go(-2)'>INICIO</a></p> </div> "; ?>
La parte de introducir un nombre y que te salgan los datos de ese nombre , para después presionar el botón borrar no he podido conseguirlo.
Espero puedann ayudarme muchisimas gracias a todos!!! Si me pueden ayudar con eso, de poder elegir entre escribir el idcliente o el nombre (del cliente) en el formulario de borrado lo agradezco no he podido ver la forma.
Saludos!!!