Forum 'last post' denk Fehler ?!

sonnySTAR

Erfahrenes Mitglied
Ohje, irgendwie komm ch nicht drauf, wie ich es machen muss dass ich den "last post" bzw last thread ausgeben kann. Also erstmal zur Struktur meiner Mysql tabelle:
Code:
foren:
boardid, name, beschreibung


threads:
threadid, boardid, date, uname, uid (userid)


posts:
postid, threadid, von, datum, post, titel, ip, vonid

So, nun hier die datei "forum.php" wo ich den lastpost ausgeben will (auszug):
PHP:
<?php
$querylastpost = mysql_query("SELECT * FROM `new_threads` WHERE boardid = '$boardid' ORDER BY threadid DESC LIMIT 0,1");
$rowpost = mysql_fetch_assoc($querylastpost);
$lastpostvonid = $rowpost[vonid];
$lastpostvon = $rowpost[von];
$lastpostdatum = $rowpost[datum];
$lastpostdatum2 = strftime("%d.%m.%Y",$lastpostdatum);
?>
und hier geb ich es aus:
HTML:
<td><a href="?cont=uprofil&userid=<?=$lastpostvonid?>"><?=$lastpostvon?></a> - <?=$lastpostdatum2?></td>

Aber er gibt mir nur immer das Datum " - 01.01.1970" aus und das wars. Habe ich hier irgendnen Denkfehler ?! ich komm eifnach nicht drauf, wäre nett wenn sich das mal einer anschaut ;)

Vielen Dank im Vorraus
MFG
Tim
 
Hallo,

enthält $lastpostdatum denn einen Wert?
Lass dir die Variable mal per echo ausgeben.
Und schau am besten auch mal in der DB, ob überhaupt ein Wert eingetragen wurde.

mfg
 
ja ... UNIX_TIMESTAMP :D ... aber es zeigt ja nichtmal den user der den letzten Post gemacht hat an. Er zeigt nur das komische datum an, keinen user nix ... hab aber absolut keine Ahnung an was es liegt :*(
 
Hi,
ich meine, da stimmt was nicht in der SQL abfrgae. Laut deinen Angaben existiert die
Tabelle "new_threads" gar nicht!
Probier die SQL Abfrage doch mal so:
PHP:
$querylastpost = mysql_query("SELECT * FROM `threads` WHERE boardid = '$boardid' ORDER BY threadid DESC LIMIT 0,1");
Ich meine wenn die Tabelle nciht dar ist, wie geht das dann? ^^
Gruß,
Snowowl
 
doch die Tabelle existiert schon. Sie heisst "new_threads" ... ich hätte natürlich auch in der Abfrage so machen können
PHP:
mysql_query("SELECT * FROM ".$pref."threads ...");

das $pref beinhaltet nur das "new_" ...

Also keine Angst, die tabelle existiert :D
 
Kommt auch keine Fehlermeldung, seitens MySQL?
Sonst ruf mal
PHP:
print_r($rowpost);
auf.

Wenn selbst da keine Daten angezeigt werden, ist deine Abfrage eindeutig falsch.


mfg
 
DeluXe hat gesagt.:
Kommt auch keine Fehlermeldung, seitens MySQL?
Sonst ruf mal
PHP:
print_r($rowpost);
auf.

Wenn ich das mache kommt folgendes:
Code:
Array ( [threadid] => 3 [boardid] => 5 [date] => 00000000000000 [uname] => planuX [uid] => 1 )

Was ich allerdings nicht verstehe ist das "date" ... ich habe es so gemacht:
PHP:
$datum = time();
mysql_query("INSERT INTO new_posts ( `postid` ... `date` ) VALUES ( '', ... '$datum');
 
dann setz hier mal noch überall Anführungszeichen, so wie es sich normal auch gehört.
PHP:
$lastpostvonid = $rowpost["vonid"]; 
$lastpostvon = $rowpost["von"]; 
$lastpostdatum = $rowpost["datum"];
Vielleicht erkennt er es deswegen nicht.

Mit dem Datum kann ich dir leider nicht helfen, denn laut dem Code ist es richtig.
Wechen Dateityp hat denn "date" in der DB?


mfg
 
date = timestamp 14

Habe nun das mit den Anführungszeichen ausprobiert aber irgendwie will dat nicht ;D ...

Habe nun vorsichtshalber nen neuen Thread erstellt ... in die new_posts tabelle schreibt er das datum richtig aber in die new_threads ned ... sehr seltsam

***EDIT***
Okay, nun hat er das datuma uch in der new_threads Übernommen. Aber wie gebe ich die daten nun aus ?! ... das hab cih doch richtig gemacht :(
 
Oh gott ^^ Problem hat sich gelöst :D ... hab die ganz falschen "Daten" benutzt ... das war z.B: nicht $rowpost["vonid"] sondern $rowpost["uid"] :D ... sorry für die belästigung, ward mir trotzdem ne große hilfe ;)
 
Zurück