所以发生的事情是我将 4 行从我的 mysql db 打印到一个 div 中,然后关闭该 div,然后创建一个新 div,然后打印 4 行,然后结束该 div。依此类推,直到我的数据库中不再有任何内容。
现在完成此操作后,它将打印一个用户可以添加到数据库的表单(在打印姓氏之后)(如果一个 div 中已经有 4 个名称,那么它将不得不创建另一个 div)下面的代码是我目前拥有的,它可以工作,但是它有一些问题。问题是: - 未打印 DB 的第一个条目,它从第二个条目开始打印。- 在打印所有名称的最后,它会打印内容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)
}