我无法使用html为有限数量的行循环mysql数据。我需要回显html中的初始div来显示不需要循环的初始html容器。之后,我想循环返回与其html块一起返回的前4行。我想出一个空白的页面。它没有显示带有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();
}
答案 0 :(得分:0)
我最终找到了以这种方式编写代码的解决方案。所以我在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>";
}