0

何が起こっているのかというと、mysql db から 4 行を div に出力し、その div を閉じてから、新しい div を作成してから 4 行を出力してから、その div を終了しています。などなど、データベースにコンテンツがなくなるまで。

これが完了すると、ユーザーがDBに追加できるフォームが出力されます(姓が出力された後)(また、divにすでに4つの名前がある場合は、別のdivを作成する必要があります)以下のコードは私が現在持っているもので、動作しますが、いくつかの問題があります。問題は次のとおりです。 - DB の最初のエントリが印刷されず、2 番目のエントリから印刷が開始されます。- すべての名前の印刷が終了すると、内容は印刷されますdivが、名前は含まれません。(そのうちの 1 つまたは 2 つ) - div に既に 4 つの名前がある場合、フォームはフォーム用に別の div を作成しません。

変数をいじることで、$count2空のコンテンツ div を取り除くことができますが、送信ボタンの機能が失われます (そこにありますが、クリックすることはできません)。

誰でも問題を見つけて修正できますか?

どうもありがとう!

PS私は、私が何をすべきだと思うかを理解できるように、できる限りコメントしました。

$countsql = <<<SQL
            SELECT *
            FROM `deathnote`
SQL;

if ($stmt = mysqli_prepare($db, $countsql)) {

    /* execute query */
    mysqli_stmt_execute($stmt);

    /* store result */
    mysqli_stmt_store_result($stmt);

    $countresult = mysqli_stmt_num_rows($stmt);
}
$count2=0; //count how many overall names have been printed
$pagecount=0; //count for how many names are on a page
while($result->fetch_assoc() != NULL){ //While result isn't empty
 echo '<div style="background-image:url(images/paper.jpg);">'; //start new page div
    while ($pagecount < 4) { //loop to put only 4 names on 1 page
    $row = $result->fetch_assoc(); //grab name and cod
                echo '<div class="content"><div class="name">'  . $row['victim'] . '</div><div class="cod">'  . $row['cod'] . '</div></div>'; //display name and cod inside a content div
        $pagecount++; //increase the count of amount of names on page
        $count2++; //increase the overall names printed
        if ($count2 == $countresult) { //if the overall names printed = the total count of whats in the database (meaning there is nothing left to print)
        echo '<div class="content"><form action="write.php" method="post"><div class="name">Name: <br/> Cause Of Death: </div><div class="cod"><textarea type="text" name="name" maxlength="25" placeholder="Input Name" required></textarea> <br /> <textarea type="text" name="cod" maxlength="130" rows="4" placeholder="Cause of Death" required></textarea> <br /><input type="submit" id="button" value="Submit"></div></form></div>'; //print the form for user to add to the database
        }

    }
$pagecount=0; //because there is 4 names printed, we have to set the count back to 0
echo '</div>'; //end the 'page' div (which will end the page)
}
4

1 に答える 1