Ver Mensaje Individual
  #3 (permalink)  
Antiguo 26/07/2007, 13:56
Avatar de _ssx
_ssx
 
Fecha de Ingreso: mayo-2003
Ubicación: mX
Mensajes: 683
Antigüedad: 21 años
Puntos: 60
Re: datos comunes en dos tablas diferentes

Cita:
- cómo puedo hacer para que al elegir la opción "modificar categoría" (que lo que hace es modificar el nombre de la categoría en cuestión), se modifique tanto en la tabla "categorias" como en la tabla "libros".
Hola, aqui el truco es unir el INDICE más no el campo nombre de la categoria, por que asi mantendrias una Integridad referencial por medio de claves foraneas..

Te quedaria asi..

*******tabla categorias********************
idcategoria-----autonumerico
categoria------nombre de la categoría en cuestión
****************************************

la segunda tabla se llama "libros" y tiene los siguientes campos:

*******tabla libros********************
idlibro-----autonumerico
titulo------titulo del libro
autor-----autor del libro
idcategoria----categoría a la que pertenece el libro y que es una de las que existen en el campo "idcategoria" de la tabla "idcategorias"
****************************************

Con esta estructura aseguras que cuando hagas cambios en la tabla padre.. osea "categorias" en tus Consultas harias referencia por su ID y asi hacer cambios en categoria afectaria tambien a libros, por que depende el id..

Seguramente te preguntas ok.. y como saco el nombre de la categoria cuando consulte mis libros..

Quedaria algo como..

Código PHP:
mysql_query("
SELECT libros.*,categorias.idcategorias
FROM libros
JOIN categorias ON libros.idcategoria = categorias.idcategoria
"
,$conexion); 
Cita:
cómo puedo hacer para que al elegir la opción "eliminar categoría", si esta categoría tiene algún libro asociado, es decir, está presente en la tabla "libros" en algún libro, al pulsar sobre el enlace "eliminar categoría" me aparezca el mensaje "atención: esta categoría no está vacía: tiene libros asociados a ella. desea continuar?"
Podrias hacer una consulta.. antes de borrar los datos.. recibiendo el idcategoria que deseas borrar y buscar todos los libros que dependan de esa ID

Código PHP:
$idcategoria $_GET['idcategoria'];
$consulta mysql_query("
SELECT * FROM libros
WHERE idcategoria = '$idcategoria'
"
,$conexion);
//ves si tiene resultados la consulta..
if(mysql_num_rows($consulta)!=0)
//si devuelve diferente de 0 quiere decir que hay registros entonces avisas
{
//La categoria tiene libros asociados.. deseas borrarlos
}else
{
//aqui haces el delete.. de la categoria y los libros asociados

__________________
Escribe tu código de forma que refleje, y saque a relucir,lo mejor de tu carácter personal
www.oscararzola.com/blog
Principios de un programador