kommentare im newsscript

Kategorien: PHP & MySQL
5 Antworten
FrAgDeViL
FrAgDeViL am Sonntag, 12. Juni 2005 um 10:40
moin moin ich habe ein problem bei meinem newsscript. ich habe mir eins geschrieben mit admin lösch- und edtifunktion, doch nun fehlen nur noch die comments. wie kann ich es realiesieren, das zu den news, auch nur die bestimmten kommentare angezeigt werden. bsp: also ich schreibe eine news xy. nur kann ma sich die comments anschauen und dann sollen auch nur die comments angezeigt werden, die zu den news geschrieben wurden.

Kommentare

Morpheus
Morpheus am Sonntag, 12. Juni 2005 um 10:52

du machst einfach bei jedem kommentar einen zusätzlichen eintrag ( bei mysql halt ne zusätzliche spalte ) die zB newsid heißt... beim eintragen der Kommentare wird dann die ID der News in newsid eingetragen zu der das Kommentar geschrieben wurde... beim anzeigen liest du dann halt nur die kommentare aus wo newsid= id der news...

Ganz einfach :D

FrAgDeViL
FrAgDeViL am Sonntag, 12. Juni 2005 um 11:01

sorry, aber ich verstehs nicht. kannste ma bitte nen beispiel machen.
nur nen kleinen teil aus nem code.

ich hab irgendwie ne blockade...

Morpheus
Morpheus am Sonntag, 12. Juni 2005 um 11:21

also ich geh jetzt mal davon aus dass du mysql db verwendest:

auf der Startseite wo alle News aufgelistet sind, machst du halt bei jedem Eintrag einen Link zu den Kommentaren. Der Link sollte irgendwie so aussehen:

$PHP_SELF?action=comments&newsid=$newsid


$newsid ist halt immer die ID der News.
Dann auf der neuen Seite zeigst du halt nur die News wo $newsid in der Datenbank ist gleich mit der News ID in der Adresszeile ( also der link: newsid=[b]$newsid[/b] )

Dann machst du halt ne Tabelle für die Kommentare mit den Spalten die du brauchst ( normalerweise: commentid, author, comment, datum ) und dann noch die Spalte [b]newsid[/b]

Dann machst du um die Kommentare zu lesen sowas in der Art:

$result=mysql_query("SELECT * FROM comments WHERE newsid='".$_GET['newsid']."'");

dann liest du das Ganze eben in eine While-Schleife ein und gibst es aus. Es werden dann nur die Kommentare gelesen bei denen die eingetragene Newsid gleich der newsid in der Adresszeile ist.

Zum Eintragen der Kommentare machst du dann halt nen Formular.
Der "Form"-Tag sollte dann so in etwa aussehen:

<form method="post" action="?action=savecomment&newsid="$_GET[&#039;newsid&#039;]">


Dadurch wird beim Speichern die Newsid übergeben.
Und speichern tust dus dann halt so:

$result=mysql_query("INSERT INTO comments SET author=&#039;".$_POST[&#039;author&#039;]."&#039;, ..... , newsid=&#039;".$_GET[&#039;newsid&#039;]."&#039;");


wenn jetzt die ID der News 1 ist wird bei den Kommentaren bei newsid auch 1 eingetragen und beim auslesen werden nur die Kommentare ausgelesen die newsid=1 sind.

Hoffe es war einigermaßen verständlich :)

FrAgDeViL
FrAgDeViL am Sonntag, 12. Juni 2005 um 11:47

@morpheus:
danke für die hilfe. ich werd ma ein wenig probieren ob ich es hinbekomme. wenn nicht, werd ich mich nochmal melden, oda ich schreib dir ne pn

danke erstma

Morpheus
Morpheus am Sonntag, 12. Juni 2005 um 12:19

jop mach das :)

kein problem