Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/02/2012, 09:02
kfh1992
 
Fecha de Ingreso: diciembre-2011
Mensajes: 414
Antigüedad: 12 años, 4 meses
Puntos: 1
Como conseguir el mensaje "Publicado por nombre"

Hola chicos, estoy trabajando ahora en esto ...

Tengo creada la tabla estados asi la cual alias esta relacionado con el alias de la tabla users ...

Este es el codigo de la tabla estado

CREATE TABLE `kfernandez`.`estado` (
`id_estado` INT NOT NULL ,
`alias` VARCHAR( 40 ) NOT NULL ,
`contenido` VARCHAR( 200 ) NOT NULL ,
UNIQUE (
`alias`
)
) ENGINE = INNODB;

Y esta relacionado con la tabla users el campo alias de la siguiente manera

ALTER TABLE `estado` ADD FOREIGN KEY ( `alias` ) REFERENCES `kfernandez`.`users` (
`alias`
) ON DELETE CASCADE ON UPDATE CASCADE ;

Entonces mi pregunta es .. en el momento de enviar el estado a la base de datos quiero que el usuario que ha iniciado sesion envie su alias a la bd para poder ser mostrado luego

Entonces el envío funciona de la siguiente manera

<?php
$id_estado = $_POST['id_estado'];
$alias = $_POST['alias'];
$contenido = $_POST['contenido'];
include("../config.php");
$con=mysql_connect($server,$db_user,$db_pass);
if(mysql_select_db($database,$con)){
$consulta ="insert into estado values('$id_estado','$alias','$contenido')";
if(mysql_query($consulta,$con))
{
echo "El estado ha sido publicado correctamente";
}
}
else
echo "No se ha podido publicar el estado";
{
echo mysql_error($con);
}
{
}
?>

Lo que quiero es enviar el alias sin que tenga que ponerlo siempre el usuario..auqneu imagino que será algo de sesiones ....

¿Me explico?Cuando inserto los datos me dice el error siguiente

Cannot add or update a child row: a foreign key constraint fails (`kfernandez`.`estado`, CONSTRAINT `estado_ibfk_1` FOREIGN KEY (`alias`) REFERENCES `users` (`alias`) ON DELETE CASCADE ON UPDATE CASCADE)

Saludos y gracias :)