这是我的代码,我希望它只能执行前6个数组项。另外,如何在6个第一个数组之后为所有内容写一个循环?
while ($servdescarrayrow = mysql_fetch_array("servdescarray")) {
ECHO "<fieldset>Services: ".$servdescarrayrow."</fieldset>";
}
答案 0 :(得分:6)
首次请求时请尝试以下操作:
$count = 0;
while($servdescarrayrow = mysql_fetch_array("servdescarray")) {
$count++;
echo "<fieldset>Services: ".$servdescarrayrow."</fieldset>";
if($count == 6){
break;
}
}
然后你可以在下面做第2部分:
$count = 0;
while($servdescarrayrow = mysql_fetch_array("servdescarray")) {
$count++;
if($count > 6){
echo "<fieldset>Services: ".$servdescarrayrow."</fieldset>";
}
}
或者(更好)是在SQL查询中使用LIMIT
答案 1 :(得分:4)
要只拥有前6行,最好的方法是以这种方式在sql语句中使用LIMIT。
SELECT *
FROM table
WHERE condition
LIMIT 6
如果你想有一个打印前6行的循环,然后是另一个打印剩余行的循环,请使用nickb提供的解决方案。
答案 2 :(得分:2)
for( $i = 0; $i < 6; $i++)
{
$servdescarrayrow = mysql_fetch_array("servdescarray");
ECHO "<fieldset>Services: ".$servdescarrayrow."</fieldset>";
}
获取剩余的条目(因为结果集将记住它停止的位置):
while ($servdescarrayrow = mysql_fetch_array("servdescarray")) {
ECHO "<fieldset>Services: ".$servdescarrayrow."</fieldset>";
}
答案 3 :(得分:1)
SELECT *
FROM table
WHERE condition
OFFSET 6
此查询将获得前6后的所有内容。 我假设你正在使用mysql。
答案 4 :(得分:0)
添加单循环方法。为了简单易读,我们使用计数变量$rowNum
来确定循环中的操作。
$rowNum = 0;
while ($servdescarrayrow = mysql_fetch_array("servdescarray")) {
$rowNum++;
if($rowNum<=6)
{
ECHO "<fieldset>Services: ".$servdescarrayrow."</fieldset>";
}
else
{
// Code for other items
}
}