2016-11-30 5 views
2

Ich habe auf meiner Website eine Kommentarfunktion erstellt. Ich würde gerne eine Antwortfunktion hinzufügen, aber ich bin nicht sicher, wie es geht.Wie kann ich eine Antwortfunktion zu Kommentaren hinzufügen?

Ich kann Kommentare posten und sie auf der Webseite abrufen.

Ich möchte eine Antwort-Funktion tun, die ihre "Eltern" ID verwendet, um darunter zu zeigen.

gewünschte Ausgabe:

  1. ersten Kommentar
    1. Erste Antwort
    2. Zweite Antwort
  2. zweite Bemerkung
    1. Erste r Eply
    2. zweite Antwort

Mein Programm sieht wie folgt aus:

<html> 
<form action="" method ="POST"> 
          Namn: <br> 
          <input type="text" name ="name"><br> 
          Kommentar: <br> 
          <textarea name="comment" rows="10" cols="20"> </textarea><br> 
          <input type ="submit" name ="submit" value="Skicka"> 
    </form> 
    </html> 

connectDB

<?php 

$dbhost = 'localhost'; 
$dbuser = 'root'; 
$dbpass = ''; 
$dbname = 'com'; 

$connect = mysqli_connect($dbhost, $dbuser, $dbpass, $dbname) or die(mysqli_error($connect)); 
     ?> 

getComments

<?php 
include ('connectDB.php'); 
if($connect){ 
     mysqli_select_db($connect, "comments"); 
     $query2 = "SELECT * FROM data ORDER BY `id` DESC"; 
     $result = mysqli_query($connect, $query2); 

     $comments = array(); 

     while($row = mysqli_fetch_array($result)){ 
      $name = $row['Name']; 
      $comment = $row['Comment']; 
      $date = $row['Date']; 

      echo " 
         <div style='width:60%' class='col-lg-12'> 
          <div class='panel panel-default'> 
           <div class='panel-heading'> 
            <strong> $name </strong><span style='float:right'class='text-muted'>$date</span> 
           </div> 
           <div class='panel-body'>$comment 
           </div> 
          </div><!-- /panel panel-default --> 
         </div><!-- /col-sm-5 -->"; 

     } 
    } 
?> 

StoreComments

<?php 
if(isset($_POST['submit'])){ 
     $name = htmlentities($_POST['name']); 
     $comment = htmlentities($_POST['comment']); 
     $date = date("Y-m-d"); 
     $connect = mysqli_connect("localhost", "root", ""); 

     if($connect){ 
      mysqli_select_db($connect, "comments"); 
      $query = "INSERT INTO data(Name, Comment, Date) VALUES (\"" . $name . "\", \"" . $comment . "\", \"" . $date . "\")"; 

      if(mysqli_query($connect, $query)){ 

      } else { 
       die ("Failed: " . mysqli_error($connect)); 
      } 
     } else { 
      die("Failed to connect to mysql: " . mysqli_errno($connect)); 
     } 
    } 
} 
?> 
+0

was Ihre Datenbank/Tabellenschema? – jeff

+5

fügen Sie die Spalte parent_id in Daten hinzu und wenn jemand "antwortet", speichern Sie die übergeordnete Antwort-ID in der Datenbank. Wenn Sie es rendern, dann rendern Sie es recrusiv, also beginnen Sie mit Eltern, dann Kind, dann Enkelkind usw. (Baum) – Robert

Antwort

Verwandte Themen