Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.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 将代码应用于所有循环项目,但最后一个项目除外_Php_Mysql - Fatal编程技术网

Php 将代码应用于所有循环项目,但最后一个项目除外

Php 将代码应用于所有循环项目,但最后一个项目除外,php,mysql,Php,Mysql,我正在遍历一些mysql结果,需要将添加到除最后一行之外的每个结果中,最简单的方法是什么 我是否必须先计算行数,然后使用计数器和if/else语句?或者有更简单的方法吗?我不是PHP专家,但你能把每一行放在一个数组中吗?这样就可以知道数组的长度,并且可以循环数组。我不是PHP专家,但是你能将每一行放入一个数组吗?这样就可以知道长度,并可以在数组中循环。尝试以下方法: $result = mysql_query($sql); $list = array(); while($row = mysql_

我正在遍历一些mysql结果,需要将
添加到除最后一行之外的每个结果中,最简单的方法是什么


我是否必须先计算行数,然后使用计数器和if/else语句?或者有更简单的方法吗?

我不是PHP专家,但你能把每一行放在一个数组中吗?这样就可以知道数组的长度,并且可以循环数组。

我不是PHP专家,但是你能将每一行放入一个数组吗?这样就可以知道长度,并可以在数组中循环。

尝试以下方法:

$result = mysql_query($sql);
$list = array();
while($row = mysql_fetch_assoc($result))
{
  $list[] = $row;
}
$lastItem = array_pop($list);
foreach($list as $item) {
  echo sprintf('<span id="bottom">%s</span>', $item['value']);
}
// do something with the last item..
$result=mysql\u查询($sql);
$list=array();
while($row=mysql\u fetch\u assoc($result))
{
$list[]=$row;
}
$lastItem=array\u pop($list);
foreach($项目列表){
echo sprintf(“%s”,$item['value']);
}
//对最后一项做点什么。。
不是很短,但这样就行了。或者,您可以按照您的建议执行:

$result = mysql_query($sql);
$num = mysql_num_rows($result);
for($i = 0; $i < $num-1; $i++) {
  $element = mysql_fetch_assoc($result);
  // echo here..
}
$item = mysql_fetch_assoc($result); // fetch last item..
$result=mysql\u查询($sql);
$num=mysql\u num\u行($result);
对于($i=0;$i<$num-1;$i++){
$element=mysql\u fetch\u assoc($result);
//在这里回音。。
}
$item=mysql_fetch_assoc($result);//获取最后一项。。
致以最良好的祝愿,
费边

试试这样:

$result = mysql_query($sql);
$list = array();
while($row = mysql_fetch_assoc($result))
{
  $list[] = $row;
}
$lastItem = array_pop($list);
foreach($list as $item) {
  echo sprintf('<span id="bottom">%s</span>', $item['value']);
}
// do something with the last item..
$result=mysql\u查询($sql);
$list=array();
while($row=mysql\u fetch\u assoc($result))
{
$list[]=$row;
}
$lastItem=array\u pop($list);
foreach($项目列表){
echo sprintf(“%s”,$item['value']);
}
//对最后一项做点什么。。
不是很短,但这样就行了。或者,您可以按照您的建议执行:

$result = mysql_query($sql);
$num = mysql_num_rows($result);
for($i = 0; $i < $num-1; $i++) {
  $element = mysql_fetch_assoc($result);
  // echo here..
}
$item = mysql_fetch_assoc($result); // fetch last item..
$result=mysql\u查询($sql);
$num=mysql\u num\u行($result);
对于($i=0;$i<$num-1;$i++){
$element=mysql\u fetch\u assoc($result);
//在这里回音。。
}
$item=mysql_fetch_assoc($result);//获取最后一项。。
致以最良好的祝愿, Fabian

$result=mysql\u query($sql);
$list=array();
while($row=mysql\u fetch\u assoc($result))
$list[]=$row;
foreach(数组_切片($list,0,-1)作为$item){
echo sprintf(“%s”,$item['value']);
}
//对最后一项做点什么。。
$result=mysql\u查询($sql);
$list=array();
while($row=mysql\u fetch\u assoc($result))
$list[]=$row;
foreach(数组_切片($list,0,-1)作为$item){
echo sprintf(“%s”,$item['value']);
}
//对最后一项做点什么。。

如果您在打印记录之前提前获取记录,则可以避免在处理之前复制所有数据(或者反过来:处理之前获取的记录)

foreach($pdo->query('SELECT x FROM foo')作为$r){
如果(isset($row)){
回显“”,$row['x'],'';
}
$row=$r;
}
如果(isset($row)){
echo$row['x'];
}

如果您在打印记录之前提前获取记录,则可以避免在处理之前复制所有数据(或者反过来:处理之前获取的记录)

foreach($pdo->query('SELECT x FROM foo')作为$r){
如果(isset($row)){
回显“”,$row['x'],'';
}
$row=$r;
}
如果(isset($row)){
echo$row['x'];
}

html中的id字段应该是唯一的。考虑类名还是名称。JavaScript还是jQuery是一个选项?他们是一排刚被取出来的吗?它们是否在几行中,并且必须在每行中追加一个字段?有几排,你必须把每一排都包起来?您是否必须将所有结果包装在一个范围内(这可以解释id),但最后一个范围除外?请更清楚一点。html中的id字段应该是唯一的。考虑类名还是名称。JavaScript还是jQuery是一个选项?他们是一排刚被取出来的吗?它们是否在几行中,并且必须在每行中追加一个字段?有几排,你必须把每一排都包起来?您是否必须将所有结果包装在一个范围内(这可以解释id),但最后一个范围除外?请更清楚一点。删除了我的答案,因为你的答案是一样的,但你先发布了D删除了我的答案,因为你的答案是相同的,但你先发布了D