webForumDet fria alternativet

Forum fråga

PHP

6 svar · 261 visningar · startad av Webslave

Medlem sedan maj 2002647 inlägg
Frågan#1

Jag håller på med ett litet "hemforum" och har kommit till ett litet problem när jag ska posta ett nytt "topic" (ämne).
När man postar ett nytt ämne så ska man skriva titeln och texten. Titeln sparas under forum_topics tillsammans med ett unikt id och texten sparas under forum_posts och kopplas ihop med titlen via titelns unika id (topicID) som "post_topicID".

Problemet blir när jag ska lägga in allt i databasen (MySql) för att jag kommer inte på något sätt som jag kan få fram "post_topicID" eftersom den skapas i samma veva... några tips?

Medlem sedan feb. 20012 412 inlägg
#2

Hej!

Använd:

SELECT last_insert_id()

Precis efter din insert, då får du ut senast inlagda id:et.

Medlem sedan maj 2002647 inlägg
#3

Ok... jag förstår inte riktigt hur du menar så om du kan "peka" vart det ska in så skulle det hjälpa ;)

  $sql = "INSERT INTO forum_topics (topic_forumID,topic_start_date,topic_posterID,topic_title,topic_last_post_date) VALUES('".$_POST["topic_forum"]."',now(),'".$_POST["topic_posterID"]."','".$_POST["topic_post_title"]."',now())";
  $result = mysql_db_query("$database","$sql");

  $sql = "INSERT INTO forum_posts (post_topicID,post_date,post_posterID,post_text) VALUES('/*Det är denna jag inte hittar*/',now(),'".$_POST["topic_posterID"]."','".$_POST["topic_post_text"]."')";
  $result = mysql_db_query("$database","$sql");
Medlem sedan feb. 20012 412 inlägg
#4

Du skickar in $id i din sista insert.

$sql = "INSERT INTO forum_topics  (topic_forumID,topic_start_date,topic_posterID,topic_title,topic_last_post_date) VALUES('".$_POST["topic_forum"]."',now(),'".$_POST["topic_posterID"]."','".$_POST["topic_post_title"]."',now())";
  $result = mysql_db_query("$database","$sql");

$Result = mysql_query( "SELECT last_insert_id()" );
$id = mysql_result( $Result, 0 );

$sql = "INSERT INTO forum_posts (post_topicID,post_date,post_posterID,post_text) VALUES('/*Det är denna jag inte hittar*/',now(),'".$_POST["topic_posterID"]."','".$_POST["topic_post_text"]."')";
  $result = mysql_db_query("$database","$sql");
Medlem sedan maj 2002647 inlägg
#5

Tackar tackar... det fungerade fint

Medlem sedan feb. 20012 412 inlägg
#6

Vassego, som jag brukar säga till vovven min ;)

Medlem sedan juli 2002131 inlägg
#7

nu var jag dum igen

250 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
124 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)