Click here to Skip to main content
15,894,311 members
Please Sign up or sign in to vote.
1.00/5 (1 vote)
See more:
When I click button Add comment only for first post comment div are show, when i click another buttons in another posts- show only first post comments div. Also in this comment form the input
<input type="hidden" class="form-control" name="id" value="<?= $col['id'] ?> ">
copy the id of first post.

How to make to display any post comment form, not only first.

What I have tried:

<pre lang="PHP"><pre><?php

include_once "database_connection.php";
include_once "blogModel.php";


$post = new Post;

$items = $post->get_all_post($conn);

if (isset($_POST['post_comment'])) {

    $post->AddComment($conn);
    session_start();
}

if (isset($_POST['post'])) {

    $post->Add($conn);
    session_start();
}


?>

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">

    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
    <link rel="stylesheet" href="task3.css">
</head>

<body>

    <!DOCTYPE html>
    <html lang="en">

    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <link rel="stylesheet" href="style.css">

    </head>

    <body>

        <div class="container">
            <button type="btn" class="btn btn-primary" name="post" 
         onclick="myFunction()">Add Post</button>
        </div>


        <div class="container" id="myDIV">
            <form action="" method="post" class="form">
                <input type="text" class="form-control" name="name" 
                 placeholder="Name">
                <br>
                <textarea name="text" cols="30" rows="10" class="form-control" 
                 placeholder="Message"></textarea>
                <br>
            <button type="submit" class="btn btn-primary" name="post">Add         
            Post</button>
            </form>
        </div>

        <?php

        foreach ($items as $col) { ?>
            <div class="container border border-success">
                <p><?= $col['name']; ?></p>
                <?= $col['text']; ?>
                <?= $col['date']; ?>
                <button type="btn" class="btn btn-primary" name="comment" 
                onclick="showHide()">Add Comment</button>

                <div class="container">
                    <?php
                    $str = (string)$col['id'];
                    echo $str;
                    $comm = $post->get_all_comments($conn, $str);
                    foreach ($comm as $row) {
                    ?>
                        <div class="container border border-danger">
                            <h5><?php echo $row['name']; ?></h3>
                                <p><?php echo $row['text']; ?></p>
                        </div>
                    <?php }  ?>

                    
                    
                    <div class="container" id="hidden_div" style="display:none">
                        <br>
                        <form action="" method="post" class="form">
                            <input type="text" class="form-control" 
                             name="com_name" placeholder="Name">
                            <input type="hidden" class="form-control" name="id" 
                            value="<?= $col['id'] ?> ">

                            <br>
                            <textarea name="com_text" cols="30" rows="10" 
                            class="form-control" placeholder="Message"></textarea>
                            <br>
                            <button type="submit" class="btn btn-primary" 
                            name="post_comment">Post Comment</button>
                        </form>
                    </div>

                </div>

            </div>

        <?php } ?>

        <script type="text/javascript">
        function myFunction() {
            var x = document.getElementById("myDIV");
            if (x.style.display === "block") {
                x.style.display = "none";
            } else {
                x.style.display = "block";
            }
        }


        function showHide() {
            var x = document.getElementById("hidden_div");
            if (x.style.display === "block") {
                x.style.display = "none";
            } else {
                x.style.display = "block";
            }
        }
    </script>

    </body>

    </html>
Posted

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900