php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2008

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 25.06.2008, 13:19  
Erfahrener Benutzer
 
Benutzerbild von litterauspirna
 
Registriert seit: 24.04.2008
Beiträge: 3.072
PHP-Kenntnisse:
Anfänger
litterauspirna befindet sich auf einem aufstrebenden Ast
litterauspirna eine Nachricht über ICQ schicken
Standard Neues Thema und Eröffnungspost richtig zueinander in 2 Tabelen eintragen?

Hallo Gemeind!

Ich habe mich entschlosen ein kleines Forum zu scripten und habe nun ein Denkproblem und komme nicht auf des Rätzels lösung!

Wie kann ich ich es bewerkstelligen wenn ich ein neues Thema schreibe den Eröffnungspost mit der passenden Themen ID in die Tabelle posts zu bekommen?

Meine Tabellen sehen so aus!

Tabelle threads
id
board_id
user_id
thema
datum

Tabelle posts (kurzform)
id
thread_id
user_id
text

So nun will ich es wie hier machen ich klicke auf den Link neues thema und dann kommt etwas wie hier,das Textfeld wo ich den titel also das Thema eingeben muss und eine Editor wo ich den Post schreibe!

Was ich nun nicht weis ist wie ich es machen soll das die id des threads ind die Spalte thread_id in die Tabelle Posts bekomme,weil das Thema ja so noch nicht existiert und keine ID hat sondern ja erst mal das neue Thema angelegt wird!

Danke für eure Tipps mfg der litter
__________________
Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
http://www.lit-web.de
litterauspirna ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 25.06.2008, 13:21  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard

Suchst du vielleicht mysql_insert_id() ?
cycap ist offline  
Alt 25.06.2008, 13:23  
dex
Erfahrener Benutzer
 
Registriert seit: 17.06.2008
Beiträge: 195
dex befindet sich auf einem aufstrebenden Ast
dex eine Nachricht über ICQ schicken
Standard

Machs doch ganz einfach so:

Insert in thread tabelle, dann mysql_query();, danach select wo nur mit der letzten id ( ORDER BY id DESC LIMIT 1 ), dann mysql_fetch_object(); vom select und dann hast du die ID und kannst sie somit in die post tabelle schreiben lassen.

Gibt bestimmt noch ne' einfachere Methode, aber die ist jetzt nicht "umständlich"...
dex ist offline  
Alt 25.06.2008, 13:25  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard

Zitat:
Zitat von dex Beitrag anzeigen
Gibt bestimmt noch ne' einfachere Methode, aber die ist jetzt nicht "umständlich"...
Ja gibts und die hab ich schon genannt
cycap ist offline  
Alt 25.06.2008, 13:26  
dex
Erfahrener Benutzer
 
Registriert seit: 17.06.2008
Beiträge: 195
dex befindet sich auf einem aufstrebenden Ast
dex eine Nachricht über ICQ schicken
Standard

Genau mit der Methode hab ich mich immer vertan.

Sollte dann doch so aussehen:

- Insert, variable mit mysql_insert_id() belegen, variable = threadid...

Damit gehts wirklich einfach, stimmt, danke =)
dex ist offline  
Alt 25.06.2008, 13:27  
Erfahrener Benutzer
 
Benutzerbild von litterauspirna
 
Registriert seit: 24.04.2008
Beiträge: 3.072
PHP-Kenntnisse:
Anfänger
litterauspirna befindet sich auf einem aufstrebenden Ast
litterauspirna eine Nachricht über ICQ schicken
Standard

Sowas ähnliches hatte ich auch schon in Gedanken,aber das wird schwierig. Weil du siehst ja wie es hier im Forum ist du gibst ein Thema ein und gleich darunter den Eröffnungspost,nun wie man sieht beides in einem und beim klick auf den Thema erstellen Button wird beides korreckt eingetragen. Das geht ´dann mit mysql_insert_id nicht,habe grad im Manual gelesen!

Habe mit dieser Funktion noch nicht gearbeitet und im Manual sind die Beispiele dazu ziemlich dürftig!
__________________
Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
http://www.lit-web.de
litterauspirna ist offline  
Alt 25.06.2008, 13:32  
dex
Erfahrener Benutzer
 
Registriert seit: 17.06.2008
Beiträge: 195
dex befindet sich auf einem aufstrebenden Ast
dex eine Nachricht über ICQ schicken
Standard

Laut cycap's Vorschlag sollte es wie folgt eigentlich funktionieren:

PHP-Code:
mysql_query(" [INSERT THREAD] ");
$threadid mysql_insert_id();

mysql_query(" [INSERT POST] "); 
Was sollte daran nicht funktionieren?
Also so kenn ich diese Funktion, wenn ich da total falsch liege bremst mich mal bitte ab xD
dex ist offline  
Alt 25.06.2008, 13:33  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard

Hä? Wieso sollte das nicht gehen?

PHP-Code:
if(isset($_POST['send']))
{
  
$sql "INSERT INTO threads ...";
  
mysql_query($sql);
  
$thread_id mysql_insert_id();
  
$sql "INSERT INTO posts ... $thread_id ...";
  
mysql_query($sql);

Wo siehst du da Probleme?
cycap ist offline  
Alt 25.06.2008, 13:37  
Erfahrener Benutzer
 
Benutzerbild von litterauspirna
 
Registriert seit: 24.04.2008
Beiträge: 3.072
PHP-Kenntnisse:
Anfänger
litterauspirna befindet sich auf einem aufstrebenden Ast
litterauspirna eine Nachricht über ICQ schicken
Standard

Ok jetzt leuchtet mir das ein! So werde ich das mal probieren,wie gesagt habe damit noch nichts gemacht! Vielen Dank für den Tipp!
__________________
Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
http://www.lit-web.de
litterauspirna ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:48 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum