php循环访问MySQL记录 - 根据行值做出决定

时间:2017-05-12 08:34:17

标签: php mysql

我正在使用此代码循环遍历MySQL行:

$sql = "SELECT * FROM vwPublicServices2 ORDER BY Service_Date__c, 
Service_Time__c";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
    echo "<table><tr><th>Service Date</th><th>Service Time</th>
    <th>Church</th><th>Service</th><th>Service Leader</th></tr>";

    while($row = $result->fetch_assoc()) {    

       // insert header stuff on change of $date1
       if ($row["ServiceDate"] <> $date1) { 

          echo $row["ServiceDate"]. "(".$date1.")"."<br/>";

          echo "<tr><td>" . $row["ServiceDate"]. "</td><td>" . 
          $row["Service_Time__c"]. "</td><td>" . $row["Location__c"]. "</td>
          <td>" . $row["PublicName"]. "</td><td>" . $row["FullName"]."</td>
          </tr>";

          // set $date1 = row ServiceDate
          $date1 = $row["ServiceDate"];  

        } else {

          //  echo row data to follow on previous - i.e date has not 
          changed
          echo "<tr><td>" . 
          $row["ServiceDate"]. "</td><td>" . 
          $row["Service_Time__c"]. "</td><td>" .
          $row["Location__c"]. "</td><td>" .
          $row["PublicName"]. "</td><td>" . 
          $row["FullName"]."</td></tr>";

        }

     }
     echo "</table>";
  } else {
     echo "0 results";
}

$conn->close();

每次行[&#34; ServiceDate&#34;]更改时,我想插入一些标题数据。 以下是一些结果:

Here are the first part of the results

我无法理解两件事 - 为什么日期检查&#39;一个约会对象&#39;即在第二行为什么是2017年5月14日与2017年5月13日相比? 另外,为什么没有出现第二个echo语句?
我认为我忽略了while循环工作方式的一些基本要点!这里有任何帮助非常感谢。感谢。

以下是使用与上述类似的数据对日期更改中的标头插入的说明。 (此网页通过其API从Salesforce中提取数据,并使用与上述MySQL代码中的数据类似的日期检查 - 但它使用For..Each循环遍历数据) enter image description here

0 个答案:

没有答案