php - 如何比较当前结果集与前一个结果集的值?

标签 php mysql

请看一下代码片段

while ($rslt = fetch_array($result))
   {

     //$row++;
     if (bccomp ($row, $row_limit, 0) != 1)
       {
         /*HEADER*/            

         if ($row == 0)
           {
             foreach ($_SESSION['market']['data'] as $title => $field)
               {
                 //Output Header Cell

                 //$title++;
                 $worksheet->write ($row, $col, title,$formatHeader);                     
                   //Advance Column
                 $col++;
                 }
               }

             //Reset Column Position
             $col = 0;

             //Advance Row
              $row++;
           }

         /*BODY*/
         foreach ($_SESSION['market']['data'] as $title => $field)
           {


             //Output Body Cell
             $worksheet->write ($row, $col, $rslt[$field], $formatNormal);

             //Advance Column
             $col++;
           }

         //Reset Column Position
         $col = 0;

         //Advance Row
         $row++;
       }

   }

它的工作完全正常,我对此很满意。但现在的要求是:在每行的第 0 列中有一个名称,并且相对于该名称还有其他字段,现在我想做的是比较每行的第0列,问题是如何存储前一行的第0列。逻辑如下($rslt['name']===$rslt[//前列名称])。 请帮我解决一下。

最佳答案

您不能使用state 别名。您必须重复您的 IFNULL() 表达式:

... CONCAT(a, aa, IFNULL((SELECT p.name FROM p WHERE p.id = x.name), 'N.A.'))
<小时/>

此外,我相信您的意思是 CONCAT() 而不是 CONCATE()。另请注意,N.A. 应括在单引号中:'N.A.'

<小时/>

测试用例:

SELECT CONCAT('1-', '2-', IFNULL((SELECT NULL), 'N.A.'));
+---------------------------------------------------+
| CONCAT('1-', '2-', IFNULL((SELECT NULL), 'N.A.')) |
+---------------------------------------------------+
| 1-2-N.A.                                          |
+---------------------------------------------------+
1 row in set (0.00 sec)

SELECT CONCAT('1-', '2-', IFNULL((SELECT 3), 'N.A.'));
+------------------------------------------------+
| CONCAT('1-', '2-', IFNULL((SELECT 3), 'N.A.')) |
+------------------------------------------------+
| 1-2-3                                          |
+------------------------------------------------+
1 row in set (0.00 sec)

关于php - 如何比较当前结果集与前一个结果集的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4014936/

相关文章:

php - 动态表单字段插入

php - 将单词分为两部分 : letters and numbers

php - AJAX (prototype/php) 在脚本执行期间获取部分状态更新

mysql - 我需要什么加入?为什么我的查询不起作用?

php - 如何删除基于 MySQL 数据库值填充的 html 表中的行?

mysql - TINYTEXT、TEXT、MEDIUMTEXT 和 LONGTEXT 最大存储大小

jquery - 在单页应用程序中处理 MySql 数据库的最佳方法是什么?

php - Paypal IPN 与 MySQL 集成

php - mysql查询不显示结果

mysql - 唯一(多列)和一列中的空值