2015-02-23 76 views
-1

我可以限制显示从文件夹中提取的图像列表吗?我应该指出,我不是用mysql而是用简单的php。在结果中设置限制(无mysql)

实际上从一个文件夹中提取所有的图像,在这里,我想设置一个限制。可能吗?或者一定是数据库?

+0

你可以请张贴你迄今为止的努力? – Rikesh 2015-02-23 09:14:23

+0

我还没有做任何改变,只是想知道一个指导或一个PHP代码来做到这一点。 – Okram92 2015-02-23 09:16:25

+0

你可以使用http://www.datatables.net/,它限制了显示效果, – krachleur 2015-02-23 09:24:19

回答

0

你提到,也有“从文件夹中提取”“或必然数据库”,所以我不知道你的来源是什么。

如果你从一个文件夹中获取它们的图像列表,可能使用诸如glob()或readdir()或scandir()之类的东西,那么你最终会得到一个数组。如果你只想显示一定数量的这些图像然后简单地停止迭代次数后...

$imgs = glob('*.jpg'); 
$count = 0; 
foreach ($imgs as $img) { 
    if ($count++ > 20) break; // place a limit of 20 
    echo "<img src='$img' alt='$img' />\n"; 
} 

如果您正在使用一个数据库来获取图像的文件名列表,那么你会做同样的事情,控制它在你的循环内:

$sql = "SELECT filename, alt_text FROM ..."; 
$conx = mysqli_connect($host, $user, $pass, $dbname, ...); 
$results = mysqli_query($conx, $sql); 
$count = 0; 
while ($row = mysqli_fetch_assoc($conx, $results)) { 
    if ($count++ > 20) break; // place a limit of 20 
    echo "<img src='$row[filename]' alt='$row[alt_text]' />\n"; 
} 
mysqli_free_results($results); 

如果我还没有回答你的问题,那么请澄清。如果我有,请投票答复。

谢谢!

+0

完美,谢谢。我使用这个:if($ count ++> 20)break; //在我的代码中放置一个20的限制。谢谢! – Okram92 2015-02-23 09:35:44

+0

如果回答你的问题,你能否将其标记为答案?谢谢! – 2015-02-23 09:42:20

0

尝试

array_slice(scandir($dir), 0, $limit);