webForumDet fria alternativet
Logga in / Bli medlem

relationer mellan tabeller & insert

PHP

1 svar · 395 visningar · startad av cibylla

Medlem sedan feb. 200152 inlägg
Trådstart#1

Nån som kan hjälpa?

Jag gör ett litet enkelt forum med två tabeller i databasen.
Den ena (user) innehåller info om användaren, med "iid" som räknare.
Den andra tabellen (message) listar alla meddelanden användarna har postat, samt datum för inlägget och rubrik.

Tabellerna relaterar till varandra via iid.

När en användare loggat in på sidan så finns han registrerad i 'user'. Men när han skriver ett inlägg så skrivs hans iid inte in i 'message'-tabellen.

Jag har fått totalt hjärnsläpp. Hur i hela ***** gör jag för att hans iid ska skrivas in där? :q

<?
session_start();
require("dbmanager.php");
?>

<html>
<head></head>
<body>

<?
if(!isset($_SESSION['Loginname'])) {
echo "<a href=\"login.php\">Logga in</a>";
} else {

if(isset($nytt)){

$tid = date("Y-m-d H:i:s");

$sql="INSERT INTO message VALUES('null','HÄR SKA ID:t VARA' ,'$med','$tid','$amne')";
mysql_query($sql,$db_link);

echo "Ditt inlägg är nu registrerat";

} else {

?>

<form method="post" action="nytt.php" name="matain" onSubmit="return skicka_OnClick();">
Ämne: <br> <input type="text" name="amne" size="30">
<br>
Meddelande: <br> <input type="text" name="med" size="50">
<input type="submit" name="nytt" value="Skicka">
</form>
<?
}
}
?>

Medlem sedan dec. 200012 464 inlägg
#2

Enklast är väl att du vid inloggningen sparar undan iid i en sessionvariabel på samma sätt som du gör med Loginname.

Annars så kan du använda följande sql-sats

$sql = "insert into messages select 'null',iid,'$med','$tid','$amne' from user where name = '" . $_SESSION['Loginname'] . "'";
257 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)