我有一个查询从userid,messageid,statusid
中选择tableA
,如下所示。
$qry = mssql_query('select userid,messageid,statusid from tableA');
if(mssql_num_rows($qry))
{
$data = mssql_fetch_array($qry)
{
//if(current_status_id column value != next_status_id column value)
$status = $data['statusid'];
}
}
我需要将当前statusid
列的值与紧邻的下一行statusid
列进行比较,例如if(current_status_id column value != next_status_id column value)
。这是否可行。请帮助我
答案 0 :(得分:1)
order by statusid
我在您的SQL中添加了$previous
,以便您获得一组数据。而不是试图“向前看”到下一行,上面的代码“回头”到前一行......这实际上是相同的。您已经在$row
和$previous
中获得了这两行的数据,因此您应该可以使用*a++;
执行您想要的操作。
答案 1 :(得分:0)
我创建了一个数组并将结果分配给它。然后我使用了while循环并检查当前元素是否不等于next元素。
$i=1;
while (($row = mssql_fetch_array($qry, MYSQL_ASSOC)) !== false)
{
$data_array[] = $row; // add the row in to the results (data) array
}
mssql_data_seek( $qry, 0 );
while($msgDetailChilds = mssql_fetch_array($qry)){
if($data_array[$i]['groupid']!=$data_array[$i-1]['groupid'])
{
//do stuff
}
}