Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php&;mysql通过记录循环,将有限数量的记录保存在多个框中_Php_Mysql_Smarty - Fatal编程技术网

php&;mysql通过记录循环,将有限数量的记录保存在多个框中

php&;mysql通过记录循环,将有限数量的记录保存在多个框中,php,mysql,smarty,Php,Mysql,Smarty,我有一个具有以下结构的表: CREATE TABLE IF NOT EXISTS `data` ( `id` int(16) NOT NULL AUTO_INCREMENT, `name` varchar(40) NOT NULL, `email` varchar(40) NOT NULL, `photo` varchar(150) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_I

我有一个具有以下结构的表:

CREATE TABLE IF NOT EXISTS `data` (
  `id` int(16) NOT NULL AUTO_INCREMENT,
  `name` varchar(40) NOT NULL,
  `email` varchar(40) NOT NULL,
  `photo` varchar(150) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
此表中有60多条记录。 我想将记录预览到四个框中,每个框中有15条记录。 基本上,进行分页很容易,但我希望在幻灯片中这样做。 我现在的代码是:

$mysql_employers = "SELECT * FROM data LIMIT ".$page.",".$limiter."";
$query_employers = $dblink->query($mysql_employers) or die("employers failed!");
$employers_link = array();
while($employers = $query_employers->fetch(PDO::FETCH_ASSOC)){
$employers_link[]=$employers;
}
$employers = new Smarty;
$employers->caching = false;
$employers->assign("employers",$employers_link);
$employers->display("default/employers.tpl");
$page是页码,$limitor是每页的限制,即15。 smarty模板代码为

<div class="employers-box">
{$foreach $employers as $emp}
<div class="employers">
    <div class="employerphoto"><img src="{$emp.photo}"></div>
    <div class="employername"><a href="viewemplyer.php?employer={$emp.id}">{$emp.name}</a></div>
</div>
{/foreach}
</div>

{$foreach$雇主为$emp}
{/foreach}

我可以对代码进行哪些更改,使其在页面中显示为四个框(每个框有15个雇主),而不是显示在页面中?

这不是最优雅的方式,但您可以使用
if
语句检查何时达到阈值,以关闭一个
div
,然后打开下一个

在您的示例中,您的数组是数字的,因此我们可以使用index
作为计数器。 在电视上读到这一点

您还可以使用只包含一个简单的if语句

<div class="employers-box">
{foreach key=$counter item=$emp from=$employers}
  {if $counter % 15 === 0}
    <div id="employers-box-{$counter / 15}" class="employers">
  {/if}
  <div class="employer">
    <div class="employerphoto"><img src="{$emp.photo}"></div>
    <div class="employername"><a href="viewemplyer.php?employer={$emp.id}">{$emp.name}</a>  
  </div>
  {if $counter % 15 === 0}
    </div>
  {/if}
{/foreach}
</div>

{foreach key=$counter item=$emp from=$employers}
{如果$counter%15==0}
{/if}
{如果$counter%15==0}
{/if}
{/foreach}