portseven: Ergebnis wird im falschen Bereich angezeigt. PHP (mysql)

Beitrag lesen

Guten Tag.

Ich hab ein kleines Problem.

Erstmal Allgemein gefasst: -Ich habe ein User der ein Beitrag posten kann. Ebenso kann man ein Kommentar senden. Jeder Beitrag wird mit While angezeigt. Das Problem ist, wenn ich auf ein Button klicke und die Kommentare des jeweiligen Beitrags sehen möchte (sagen wir mal, die Kommentare von Beitrag 3) dann wird dies angezeigt jedoch bei dem Beitrag 1.

http://test.liscon.bplaced.net/test.php

Macht euch ein Bild drauß. Drückt bei der Post-Id 3 den Button, da nur da Kommentare vorhanden sind. Bei den anderen passiert nichts da keine Kommentare eingetragen sind.

Sitze seit knapp 2 Tagen an dem Problem & hab alle Methoden ausprobiert. Mir fällt nichts mehr ein bin sehr verwirrt.

<?php

	include 'config/connect.php';
	
	$sql = "
	SELECT
	user.id,
	user.username,
	u_post.p_id,
	u_post.post,
	comments.u_id,
	comments.p_id AS commentid,
	comments.comment,
	comments.date_comment
	
	FROM u_post
	
	LEFT JOIN user
	ON u_post.u_id = user.id
	
	LEFT JOIN comments
	ON user.date_insert = comments.date_comment
	
	LIMIT 5";
	
	$stmt = $pdo->prepare($sql);
	
	if(!$stmt->execute()) {
		print_r($stmt->errorInfo());
	}
	
	
	if(isset($_POST['show'])) {
	$post_nummer = $_POST['post-id'];
	$sql2 = "
	SELECT 
	comments.u_id,
	comments.p_id,
	comments.comment,
	u_post.p_id,
	u_post.u_id,
	u_post.post
	
	FROM comments
	
	LEFT JOIN u_post
	ON comments.p_id = u_post.p_id
	
	WHERE comments.p_id = :p_id";

	
	$result = $pdo->prepare($sql2);
	$result->BindParam(':p_id', $post_nummer);
	if(!$result->execute()) {
		print_r($result->errorInfo());
	}

}


	while($row = $stmt->fetch()) {
	echo '<form action="" method="POST">';
	
		echo '<br>Post-Id: '. $row['p_id'] . '<br>' .  $row['post'] . '<br>';
		
		if(isset($_POST['show'])) {
			while($row2 = $result->fetch()) {
				echo 'Kommentar: ' . $row2['comment'] .'<br>';
			}
		}
		echo '<p><input type="submit" name="show"></p>';
		echo '<p><input type="hidden" name="post-id" value="' . $row['p_id'] . '"></p>';
	echo '</form>';
}

?>

akzeptierte Antworten