我如何处理该数组以获得此结果?

斯科特·莫里森(Scott Morrison)

我有这个数组

      array (size=6)
      0 => 
      array (size=6)
      'id' => string '2' (length=1)
      'member_ext' => string '1' (length=1)
      'queue_id' => string '1' (length=1)
      'LastUpdate' => string '2013-10-24' (length=10)
      'member_name' => string 'John Smith' (length=10)
      'queue_name' => string 'queue 1' (length=7)
      1 => 
      array (size=6)
      'id' => string '3' (length=1)
      'member_ext' => string '2' (length=1)
      'queue_id' => string '1' (length=1)
      'LastUpdate' => string '2013-10-24' (length=10)
      'member_name' => string 'Jose Jones' (length=10)
      'queue_name' => string 'queue 1' (length=7)
      2 => 
      array (size=6)
      'id' => string '5' (length=1)
      'member_ext' => string '1' (length=1)
      'queue_id' => string '1' (length=1)
      'LastUpdate' => string '2013-10-24' (length=10)
      'member_name' => string 'John Smith' (length=10)
      'queue_name' => string 'queue 1' (length=7)
      3 => 
      array (size=6)
      'id' => string '4' (length=1)
      'member_ext' => string '3' (length=1)
      'queue_id' => string '2' (length=1)
      'LastUpdate' => string '2013-10-24' (length=10)
      'member_name' => string 'Mary Chase' (length=10)
            'queue_name' => string 'queue 2' (length=7)
      4 => 
      array (size=6)
      'id' => string '7' (length=1)
      'member_ext' => string '3' (length=1)
      'queue_id' => string '3' (length=1)
      'LastUpdate' => string '2013-10-24' (length=10)
      'member_name' => string 'Mary Chase' (length=10)
      'queue_name' => string 'queue 3' (length=7)
      5 => 
      array (size=6)
      'id' => string '6' (length=1)
      'member_ext' => string '4' (length=1)
      'queue_id' => string '4' (length=1)
      'LastUpdate' => string '2013-10-24' (length=10)
      'member_name' => string 'Fred Allen' (length=10)
      'queue_name' => string 'queue 4' (length=7)

我如何使用php将其放入这样的html表中?“已登录”是指在登录到特定队列时已在阵列中找到它们,“已注销”是指在该特定队列中未找到该技术。

| techs     | queue 1    | queue 2    | queue 3    | queue 4    | queue 5    |
------------------------------------------------------------------------------
|John Smith | logged in  | logged in  | logged out | logged out | logged out |
|Jose Jones | logged in  | logged out | logged out | logged out | logged out |
|Mary Case  | logged out | logged out | logged in  | logged out | logged out |
|Fred Allen | logged out | logged out | logged out | logged in  | logged out |

编辑-这就是我尝试过的。

    <?php
    try {
$username = "admin";
//$password = "TrojanF32";
    $dbh = new PDO('mysql:host=localhost;dbname=test', $username);
    $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "connected<p>";
    } catch(PDOException $e) {
    echo 'ERROR: ' . $e->getMessage();
    }


$sth = $dbh->prepare("SELECT DISTINCT queue_name
FROM `log`
WHERE LastUpdate = '2013-10-24'
ORDER BY queue_name ASC
");
$sth->execute();
$sql1 = $sth->fetchAll(PDO::FETCH_ASSOC);



$sth = $dbh->prepare("SELECT * 
FROM `log`
WHERE LastUpdate = '2013-10-24'
ORDER BY queue_name ASC
");
$sth->execute();
$sql2 =$sth->fetchAll(PDO::FETCH_ASSOC);

?><div class="container"><?php

echo "<table border=1>";
echo  "<tr>";
echo "<td>" . "Technician" . "</td>";
foreach($sql1 as $header){
echo "<td>" . $header['queue_name'] . "</td>";  
}
echo "</tr>";

foreach($sql2 as $queue){
    echo "<td>" . $queue['member_name'] . "</td>";
    //echo "<td>";
    foreach($queue as $que){

        if($queue['queue_id'] == '1'){
            echo "<td>" . "logged in" . "</td>";
        }else{
            echo "<td>" . "logged out" . "</td>";
            }
        if($queue['queue_id'] == '2'){
            echo "<td>" . "logged in" . "</td>";
        }else{
            echo "<td>" . "logged out" . "</td>";
            }
        if($queue['queue_id'] == '3'){
            echo "<td>" . "logged in" . "</td>";
        }else{
            echo "<td>" . "logged out" . "</td>";
            }
        if($queue['queue_id'] == '4'){
            echo "<td>" . "logged in" . "</td>";
        }else{
            echo "<td>" . "logged out" . "</td>";
            }
        if($queue['queue_id'] == '5'){
            echo "<td>" . "logged in" . "</td>";
        }else{
            echo "<td>" . "logged out" . "</td>";
        }
        echo "</tr>";
    }
}

echo "<pre>";
var_dump($sql2);
echo "</pre>";




?>
</table>

</div>
豪尔赫·坎波斯

因为您只需要队列和技术人员的名称,所以我会更改您的代码,因此请查看这是否对您有所帮助。

我没有要检查的php环境,因此,也许您可​​以找到一些语法错误。真正的事情是添加第三个查询,以使每个队列都得到每个查询,就像我在这里所做的一样。SQLFiddle

因此,让我们看一下:

<?php
$sth = $dbh->prepare("SELECT DISTINCT queue_name
                      FROM `log`
                      WHERE LastUpdate = '2013-10-24'
                      ORDER BY queue_name ASC");
$sth->execute();
$sql1 = $sth->fetchAll(PDO::FETCH_ASSOC);

$sth = $dbh->prepare("SELECT DISTINCT member_name
                      FROM `log`
                      WHERE LastUpdate = '2013-10-24'
                      ORDER BY member_name ASC");
$sth->execute();
$sql2 = $sth->fetchAll(PDO::FETCH_ASSOC);

$sth = $dbh->prepare("select ml.member_name, ml.queue_name,
        case ifnull(l.id,-1) when -1 then 'Logging Out' else 'Logging In' end as logstatus
   from (select l1.member_name, l2.queue_name 
           from (select distinct member_name from `log` where lastupdate='2013-10-24') l1,
                (select distinct queue_name from `log` where lastupdate='2013-10-24') l2
         ) ml 
         left join 
         (select * from `log` where LastUpdate='2013-10-24') as l 
         on ( ml.member_name = l.member_name and ml.queue_name = l.queue_name )
 order by ml.member_name, ml.queue_name");
$sth->execute();
$sql3 = $sth->fetchAll(PDO::FETCH_ASSOC);
?>
<div class="container">
<?php
echo "<table border=1>";
echo  "<tr>";
echo "<td>" . "Technician" . "</td>";
foreach($sql1 as $header){
    echo "<td>" . $header['queue_name'] . "</td>";  
}
echo "</tr>";

foreach($sql2 as $names){
    echo "<tr>";
    echo "<td>" . $names['member_name'] . "</td>";
    foreach($sql3 as $queues){
        if ( $names['member_name'] == $queues['member_name'] ){
            echo "<td>" . $queues['logstatus'] . "</td>";
        }
    }
    echo "</tr>";
}
echo "</table>";
?>
</div>

如果您在使用此代码时遇到任何问题,请告诉我。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

我该如何处理该除模误差?

来自分类Dev

我该如何处理该除数模量误差?

来自分类Dev

我该如何处理此请求?

来自分类Dev

我如何处理数组中给出的此错误,我希望在Bootstrap警报中填充该错误

来自分类Dev

我不知道如何处理此PHP代码

来自分类Dev

如何处理此警告?帮助我

来自分类Dev

循环此代码时我将如何处理?

来自分类Dev

如何处理此功能?

来自分类Dev

如何处理此FileNotFoundException?

来自分类Dev

如何处理此内存?

来自分类Dev

我如何处理这份期货结果清单

来自分类Dev

如何在列表中查找特定项目以及如何处理该项目

来自分类Dev

如何处理getaddrinfo的结果?

来自分类Dev

如何处理PropertySheet的结果?

来自分类Dev

如何处理该错误:找不到运行时错误'53'文件

来自分类Dev

如何查询以获得此结果?

来自分类Dev

如何转换我的对象数组以获得此输出?

来自分类Dev

在Java中,如何处理CompletableFutures并获得完成的第一个理想结果?

来自分类Dev

如何处理数组的内容?

来自分类Dev

我如何处理此字符串以打开我的应用

来自分类Dev

如何处理此Gql查询对象

来自分类Dev

ConnectionError:如何处理此错误?

来自分类Dev

如何处理此表溢出?

来自分类Dev

printf如何处理此char **参数?

来自分类Dev

如何处理此Active Record验证?

来自分类Dev

如何处理此错误[PHP]

来自分类Dev

如何处理此弹出窗口?

来自分类Dev

如何获得此数组的值

来自分类Dev

我如何处理此linq查询,并将其与if语句中的int进行比较?