【问题标题】:PHP loop to determine first row of a value returned by MySQLPHP 循环确定 MySQL 返回值的第一行
【发布时间】:2022-11-21 06:11:54
【问题描述】:

我有从 MySQL 数据返回的查询,这些数据作为报告写入 html,它看起来非常像这样。我想使用 CSS 为每个“Dist”值的第一行设置背景颜色,在本例中为第 1、5 和 9 行。但我无法确定哪一行来自 MySQL。

NO  CALL    First   St, CO          Dist    Count
1   KD0NBH  John    MO Clay         A       13
2   K0KEX   Rick    MO Platte       A       12
3   N0SAX   Jack    MO Carroll      A       12
4   W0NRP   Neil    MO Jackson      A       12
5   WB0HLW  Charles MO Macon        B       8
6   KD0HHN  Donald  MO Marion       B       4
7   AC0OK   Sam     MO Sullivan     B       2
8   N9MAF   Alan    MO Marion       B       1
9   KF0CTR  Jeffrey MO St. Louis    C       13
10  K0TPY   Paul    MO Franklin     C       12
11  KA0P    David   MO St. Louis    C       10
12  KD0CIV  Dolores MO St. Louis    C       9

$firstdist = ' ';
$liteitup = 'N';
    
    foreach($db_found->query($sql) as $row) {
        if ('$row[district])' <> '$firstdist') 
          {$liteitup = "Y";}
          else {$liteitup = "N";}
 
            $rowno = $rowno + 1;  
            
            $netcallsign = '$row[callsign]';
            $Fname    = ucfirst(strtolower('$row[Fname]'));
            $Lname    = '$row[Lname]';
            
            $listing .= "<tr class='$liteitup'>
        <TD>$rowno</td>  <td>$row[callsign]</td>  
        <td>$row[Fname]</td>   <td>$row[Lname]</td> 
        <td>$row[place]</td>  <td>$row[cnt_call]</td>
        </tr>";
        
        $firstdist = "$row[district]";
    }  // End foreach

与 $liteitup 相关的类将在别处定义。但是要做到这一点我需要一种方法来确定每个区的哪一行是第一行。请有人帮我弄清楚我需要这样做的循环吗?

【问题讨论】:

    标签: php mysql


    【解决方案1】:

    在你的foreach之前声明一个变量,比如$lastDist = null。然后在循环内做类似的事情

    if($lastDist !== $currentDist) {
        // set background color
        $lastDist = $currentDist;
    }
    

    这里的所有都是它的。每当 dist 在将触发的迭代之间发生变化。 null 不会匹配任何东西,所以它也会在第一次迭代时命中。

    【讨论】:

      猜你喜欢
      • 2023-03-16
      • 1970-01-01
      • 1970-01-01
      • 2018-07-11
      • 2017-11-09
      • 2014-10-05
      • 1970-01-01
      • 2019-05-30
      • 2019-01-13
      相关资源
      最近更新 更多