【发布时间】:2017-02-10 10:48:48
【问题描述】:
我在一个变量中有一些 HTML,我想每行循环 4 次。我先提出几个问题。在一个中,我得到了行数并将其存储在一个变量中。第二,我希望获取我需要显示的相关数据。
$results = $dbCon->query("SELECT * FROM table WHERE status = '1' ORDER BY id DESC LIMIT $start, $limit");
$total = mysqli_num_rows($results);
$res = $dbCon->query($results);
$data = $res->fetch_assoc();
$link = $data['link'];
$title = $data['title'];
$image = $data['image'];
$imgAlt = $data['imgAlt'];
第三,我将想要显示的内容存储在一个变量中。我计划显示的 HTML 看起来像这样
$html = printf("<div style=\"text-align:center; max-width:270px; white-space:normal; word-wrap:break-word; border-left:1em solid transparent; border-right:1em solid transparent; text-overflow: ellipsis; float:left;\">
<a href=\"%s\">
<img style=\"width:270px; height:232px; margin-bottom:40px; border-radius:45px; -moz-border-radius:45px; -webkit-border-radius:45px; box-shadow:0px 0px 3px #fff; -moz-box-shadow:0px 0px 3px #fff; -webkit-box-shadow:0px 0px 3px #fff;\" src=\"images/recentshoots/%s\" alt=\"%s\" />
<p>%s</p> <br /></a>
</div>", $link, $image, $imgAlt, $title);
接下来,我想将每页 20 个项目循环到每行 4 个项目中。这是我遇到麻烦的地方。我的问题是 $title 中的字符数总是不同,因此布局会分开。起初,尝试了一种使用 css 和 php 执行 str_pad() 的简单方法,但它似乎不适用于空格。我总是得到一些比其他容器更高的容器,这会扭曲我的行。所以我在这个平台上做了一些研究,以模仿别人的例子。
我发现的内容有些问题,因为我看到的示例缺少信息,我需要了解如何修改自己的示例。我已经看到它是用 foreach 和 while 循环完成的。有人可以帮我找到更好地理解这一点的方法吗?
如何循环检索到的数据并确保每行只有 4 个存在于 20 个项目的页面中?非常感谢你的帮助。我从这样的事情开始
$startingPoint = 1;
echo "<div class=\"row\">";
foreach($startingPoint < 4){ //this foreach is not even starting the right way, how can I fix this?
echo $html;
}
我可以使用 foreach 吗?还是一个while循环?还是做?
哪一种是最好的解决方案,也是最快或最有效的方法?代码越短越好。
【问题讨论】:
标签: php mysql foreach while-loop do-while