簡體   English   中英

從數據庫獲取下一個表行的特定列元素

[英]get a particular column element of the next table row from database

我有一個查詢userid,messageid,statusidtableA選擇userid,messageid,statusid ,如下所示。

$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) 。是否可以。請幫我

$qry = mssql_query('select userid,messageid,statusid from tableA order by statusid');
while (($row=mssql_fetch_array($qry) !== FALSE) {
    if (isset($previous) && $previous['statusid'] !== $row['statusid']) {
        // do what you gotta do here
    }
    $previous = $row;
}

我向您的SQL添加了order by statusid以便您獲取訂單數據集。 而不是試圖“向前看”下一行,而是上面的代碼“向后看”到上一行...實際上是相同的。 您已經在$previous$row獲得了兩行的數據,因此您應該能夠使用$previous

我創建了一個數組並將結果分配給它。然后使用while循環檢查當前元素是否不等於下一個元素。

$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
   }

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM