PHP在一行上输出所有表
脚本应该将所有图片都放在一个文件夹中,并将前六张图片输出到一个表中。然后我想添加一个小的“下一步”按钮,这样就可以查看其余的图像,但目前脚本只是将它们全部显示在一行上。所有的,不仅仅是我想要的六个。除此之外,代码也出现在网页的底部,在文档的后面有很多代码 PHPPHP在一行上输出所有表,php,html,css,html-table,word-wrap,Php,Html,Css,Html Table,Word Wrap,脚本应该将所有图片都放在一个文件夹中,并将前六张图片输出到一个表中。然后我想添加一个小的“下一步”按钮,这样就可以查看其余的图像,但目前脚本只是将它们全部显示在一行上。所有的,不仅仅是我想要的六个。除此之外,代码也出现在网页的底部,在文档的后面有很多代码 PHP <?php $i = 0; $directory = 'images/gallery/'; $files1 = scandir($directory); $x = 0; $y = 0; $z = 0; echo"<tab
<?php
$i = 0;
$directory = 'images/gallery/';
$files1 = scandir($directory);
$x = 0;
$y = 0;
$z = 0;
echo"<table><tr>";
foreach ($files1 as $filename) {
if ($z == $x + 6) {
break 2;
}
if ($x==1 || $x==0)
{
$x=$x+1;
}
else {
if ($y == $x + 3) {
echo "<td><a data-lightbox='gallery' href='images/gallery/$filename'><img src='images/gallery/$filename'></a></td></tr><tr>";
$y = $x;
$x=$x+1;
} else {
echo "<td><a data-lightbox='gallery' href='images/gallery/$filename'><img src='images/gallery/$filename'></a></td>";
$x = $x+1;
}
}
}
?>
您没有关闭PHP中的
标记。这意味着
将进入表中。大多数浏览器不同意这种无效的HTML,将非表元素放在表的前面,这就是为什么表会下沉到底部
关闭PHP中的
,它应该可以正常工作
为什么不试试这个呢
<?php
$directory = 'images/gallery/';
$files1 = scandir($directory);
$x = 1;
echo"<table><tr>";
foreach ($files1 as $filename) {
if ($x <= 6) {
if ($x % 3==0) {
echo "</tr><tr>";
}
echo "<td><a data-lightbox='gallery' href='images/gallery/$filename'><img src='images/gallery/$filename'></a></td>";
$y = $x;
$x=$x+1;
} else {
break;
}
}
echo"</tr></table>";
?>
将行设为3行,跳过目录的解决方案:
$count = 0;
echo "<table><tr>";
foreach ($files1 as $filename)
{
if (is_file($filename))
{
if ($count && ($count % 3 === 0))
{
echo "</tr><tr>";
}
echo "<td><a data-lightbox='gallery' href='images/gallery/$filename'><img src='images/gallery/$filename'></a></td></tr><tr>";
$count++
if ($count >= 6)
{
break;
}
}
}
echo "</tr></table>";
$count=0;
回声“;
foreach($files1作为$filename)
{
如果(是_文件($filename))
{
如果($count&&($count%3==0))
{
回声“;
}
回声“;
美元计数++
如果($count>=6)
{
打破
}
}
}
回声“;
输出的html是什么样子的?$z=0
和$x
只是在增加,所以您永远不会在$z==x+6
处达到中断
。似乎是一个非常复杂的循环,只回显2行3行。只需使用一个不断增加的计数器并检查模数运算符。如果x>6,也可以添加一个中断。是的,这就是问题所在,我必须跳过前两个元素,因为scandir会将前两个条目作为。。然后我有两张破照片
<?php
$directory = 'images/gallery/';
$files1 = scandir($directory);
$x = 1;
echo"<table><tr>";
foreach ($files1 as $filename) {
if ($x <= 6) {
if ($x % 3==0) {
echo "</tr><tr>";
}
echo "<td><a data-lightbox='gallery' href='images/gallery/$filename'><img src='images/gallery/$filename'></a></td>";
$y = $x;
$x=$x+1;
} else {
break;
}
}
echo"</tr></table>";
?>
$count = 0;
echo "<table><tr>";
foreach ($files1 as $filename)
{
if (is_file($filename))
{
if ($count && ($count % 3 === 0))
{
echo "</tr><tr>";
}
echo "<td><a data-lightbox='gallery' href='images/gallery/$filename'><img src='images/gallery/$filename'></a></td></tr><tr>";
$count++
if ($count >= 6)
{
break;
}
}
}
echo "</tr></table>";