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>';
}
?>