Hola !!!!. a todo forosdelweb :)
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
email
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<h2 align="center" > Cliente eliminar.
</h2>
<form action="eliminarcliente2.php" method="post" >
Elija cliente a eliminar
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."/>
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!!!