我在使用 html 为有限行数循环 mysql 数据时遇到问题。我需要回显 html 中的初始 div 以显示不需要循环的初始 html 容器。之后,我想循环返回的前 4 行及其 html block 。我想出一个空白页。它没有显示带有 mysql 数据的 4 行。
function functionName(){
$DBvar = new mysqli($Serv,$use,$pass,$db);
/* Checking Connection */
if($DBvar->connect_errno) {
printf("Connection Failed: %s \n",$DBvar->connect_error);
exit();
}
if($response = $DBvar->query("SELECT * FROM Table1 ORDER BY 'ColunmName' DESC LIMIT 0,4")) {
echo "<div class=\"row\">
<div class=\"span12\">
<div class=\"recent-posts\"><br>";
while($obj = $response->fetch_object()) {
$id = $obj['id'];
$clmn1= $obj['clmn1'];
$clmn2= $obj['clmn2'];
$clmn3= $obj['clmn3'];
printf("<div class=\"span3 border-hover\" id=\"id%s\">
<article>
<h5><a rel=\"nofollow\"><strong>%s</strong></a></h5>
%s
</article>
<p>%s</p>
</div>", $id, $clmn1, $clmn2, $clmn3);
}
echo "
</div>
</div>
</div>";
}
$response->close();
}
最佳答案
我最终找到了以这种方式编写代码的解决方案。所以我不需要 while 语句后的额外变量。但我知道有一种更好的方法来重写它,这样我就可以继续从数据库中提取数据并动态生成另一行,后面还有 4 个项目。现在我不得不加倍编码 2 或 3 行。它应该比这更有效率。这是一个很好的短期解决方案,但不是长期的,甚至不是可扩展的。感谢大家的帮助!
function FunctionName(){
$DBConnect = new mysqli(SERVER,USER,PASSWORD,DATABASE);
/* Checking Connection */
if($DBConnect->connect_errno) {
printf("Connection Failed: %s \n",$DBConnect->connect_error);
exit();
}
if($result = $DBConnect->query("SELECT * FROM TableName LIMIT 0,4")) {
//Then I echoed the initial html to create the column row since I only need 1 row per 4 items to display.
echo "<div class=\"row\">
<div class=\"span12\">
<div class=\"recent-posts\"><br>
<div class=\"row\">
<div class=\"\">
<ul class=\"slides\">
<li>";
while($obj = $result->fetch_object()) {
printf("<div class=\"span3 border-hover\" id=\"$var%s\">
<article>
<h5><a rel=\"nofollow\"><strong>%s</strong></a></h5>
%s
</article>
<p>%s</p>
</div>", $obj->$var, $obj->$var1, $obj->$var2, $obj->$var3);
}
echo " </li>
</ul>
</div>
</div>
</div>
</div>
</div>";
}
关于php - 使用 mysql 数组循环有限数量的 html,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29994303/