ich habe mal ein kliene Newssystem mit Kommentarfunktion geschreiben.
es gibt eine übersichtseite auf der alle news angezeigt werden und dann kann man da drauf klicken und kommt dann nochmal zu dem text, den kommentaren und ein feld wo man kommentare schreiben kann.
Bis jetzt liest es leider nur jeweils ein kommentar aus. Vllt. findet jemand den fehler.
hier die tabelle m4u_news
Zitat
id title text date name
hier die tabellem4u_newscomments
Zitat
id newsid name email ip comment date aktiv
so hier mal der code
<? //error_reporting(E_ALL); $link = mysql_connect("localhost","root","") or die ("Keine Verbindung moeglich"); mysql_select_db("web120243") or die ("Die Datenbank existiert nicht"); $action = $_GET['act']; if($action=="" | $action=="show") { $abfrage = "SELECT * FROM m4u_news"; $ergebnis = mysql_query($abfrage); while($row = mysql_fetch_object($ergebnis)) { $title = $row->title; //$date = date("d.m.Y H:i", $row->date); $name = $row->name; $text = $row->text; $id = $row->id; $date = $row->date; echo '<div class="gbentry"> <div class="gbheading"><a href="?news='.$id.'&act=showcomment">'.$title.'</a></div> <div class="gbmain">' .$text.'</div> <div class="gbdate">eingetragen am: '.$date.' von '.$name.'</div></div>'; } } ?><hr><?if($action=="showcomment") { $id=htmlentities($_GET['news']); $result = mysql_query("SELECT id, news FROM m4u_news"); $sql_query = "SELECT * FROM m4u_news WHERE id LIKE '%".$id."%' ORDER BY id DESC LIMIT 1"; $sql = mysql_query($sql_query); $row = mysql_fetch_object($sql); echo $row->text; ?><hr><? $abfrage = "SELECT * FROM m4u_newscomments WHERE newsid LIKE '%".$id."%'"; $ergebnis = mysql_query($abfrage); while($row = mysql_fetch_object($ergebnis)) { $comment = $row->comment; $datum = date("d.m.Y H:i", $row->datum); $name = "<b>$row->name</b>"; $text = $row->text; $newsid = $row->newsid; } echo '<div class="gbentry"> <div class="gbmain">' .$comment.'</div> <div class="gbdate">eingetragen am:'.$datum.' von '.$name.'</div></div>'; ?><hr> <div class="gbentry"> <div class="gbheading">Bitte tragen Sie sich ein</div> <form method="POST" action="?news=<?echo $newsid;?>&act=signup"> Name:<br/> <input name="name" /><br /> Email:<br/> <input name="email" /><br /> Kommentar:<br/> <textarea cols="50" rows="6" name="comment" wrap="physical"></textarea><br /><br /> Bitte schreiben Sie das Wort "OK" in das Feld: <br /> <input type="text" value="" name="check" /> <input type="submit" name="Submit" value="eintragen"> </form> </div> <?php } if($action=="signup") { $abfrage = "SELECT * FROM m4u_newscomments WHERE newsid LIKE '%".$id."%'"; $ergebnis = mysql_query($abfrage); while($row = mysql_fetch_object($ergebnis)) { $newsid = $row->newsid; } if($_POST['check'] !== 'OK') { echo '<div class="gbentry"><div class="gbheading">Bitte füllen Sie alle Felder richtig aus</div>'; echo '<a href="java script:history.back()">zurück</a></div>'; } else { $name = $_POST["name"]; $email = $_POST["email"]; $comment = $_POST["comment"]; $date = time(); $aktiv = 1; if($name == "" OR $comment == "") { echo '<div class="gbentry"><div class="gbheading">Bitte füllen Sie alle Felder richtig aus</div>'; echo '<a href="java script:history.back()">zurück</a></div>'; exit; } $newsid = $id; $eintrag = "INSERT INTO m4u_newscomments (newsid, name, email, comment, date) VALUES ('$newsid', '$name', '$email', '$comment', '$date')"; $eintragen = mysql_query($eintrag); if($eintragen == true) { echo '<div class="gbentry"><div class="gbheading">Ihr Eintrag wurde erfolgreich gespeichert</div></div>'; echo '<a href="index.php?top=menu_gaestebuch&sub=ansehen">zum Gästebuch</a></div>'; }else { echo '<div class="gbentry"><div class="gbheading">Ihr Eintrag konnte nicht gespeichert werden</div>'; echo '<a href="java script:history.back()">zurück</a></div>'; } echo '<div class="gbentry"><div class="gbheading">Vielen Dank für Ihren Beitrag</div></div>'; echo '<a href="index.php?top=menu_gaestebuch&sub=ansehen">zum Gästebuch</a></div>'; } } ?>
MFG Dennis