Insert mesaj cu id-ul utiliatorului din alt tabel

Discutii despre script-uri si coduri PHP-MySQL, precum si lucru cu XML in PHP.
petos
Mesaje:5

Insert mesaj cu id-ul utiliatorului din alt tabel

Cod: Selectaţi tot

define("DB_HOST","localhost");
 define("DB_LOGIN","gicu");
 define("DB_PASSWORD","gicu");
 define("DB_NAME","super");
  
  mysql_connect(DB_HOST,DB_LOGIN,DB_PASSWORD)
  or die ("Eroare de conectare!");
  
  mysql_select_db(DB_NAME) or die (mysql_error());
  $query= 'CREATE TABLE users (  
     id     INT(8) NOT NULL AUTO_INCREMENT,  
     login   VARCHAR(30) NOT NULL,  
     password   VARCHAR(255) NOT NULL,  
     email  VARCHAR(255) NOT NULL,  
     PRIMARY KEY (id)  
       ) ';
   $result = mysql_query($query);    
   $query='CREATE TABLE messages (  
     id     INT(8) NOT NULL AUTO_INCREMENT,  
     message   VARCHAR(30) NOT NULL,   
     message_from  int(8) NOT NULL,  
     PRIMARY KEY (id)  
       ) ';
   $result = mysql_query($query);
   $query = 'ALTER TABLE messages ADD FOREIGN KEY(message_from) 
            REFERENCES users(id) ON DELETE CASCADE ON UPDATE CASCADE ';
    $result=mysql_query($query);
Cum sa fac insertul in message ca cind sa afisez cine a postat mesajele sa fie:
<?=$_SESSION["login"]?> a spus:<br>

<?=$user["message"]?>

ms

MarPlo Mesaje:4343
Salut
Cel mai simplu si indicat e ca atunci cand utilizatorul se logheaza, sa salvezi intr-o sesiune id-ul lui din "users", apoi se foloseste acel id la insert.

Cod: Selectaţi tot

$sql = "INSERT INTO messages (message, message_from)
VALUES ('$mesaj', ". $_SESSION['id_user'] .")";