在结果中设置限制(无 mysql)
Set a limit in the results (no mysql)
我可以限制在从文件夹中提取的图像列表中显示吗?我应该指出,我的意思不是 mysql 而是简单的 php.
我实际上是从一个文件夹中提取所有图像,在这里,我想设置一个限制。可能吗?还是一定要数据库?
尝试
array_slice(scandir($dir), 0, $limit);
你提到了 "extracted from a folder" 和 "or must necessarily the database" 所以我不确定你的来源是什么。
如果您从文件夹中获取图像列表,可能使用诸如 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);
如果我还没有回答你的问题,请澄清一下。如果我有,请投票给答案。
谢谢!
我可以限制在从文件夹中提取的图像列表中显示吗?我应该指出,我的意思不是 mysql 而是简单的 php.
我实际上是从一个文件夹中提取所有图像,在这里,我想设置一个限制。可能吗?还是一定要数据库?
尝试
array_slice(scandir($dir), 0, $limit);
你提到了 "extracted from a folder" 和 "or must necessarily the database" 所以我不确定你的来源是什么。
如果您从文件夹中获取图像列表,可能使用诸如 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);
如果我还没有回答你的问题,请澄清一下。如果我有,请投票给答案。
谢谢!