Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 数据在网页上显示两次,但数据库中没有重复项。为什么?_Php_Mysql - Fatal编程技术网

Php 数据在网页上显示两次,但数据库中没有重复项。为什么?

Php 数据在网页上显示两次,但数据库中没有重复项。为什么?,php,mysql,Php,Mysql,我试图弄明白为什么我的数据在我的网页上显示了两次,但数据库中没有两个相同的条目。这是我正在使用的代码 $truckDueList = ""; $sTruckDue = $dbh->prepare(" SELECT idTruck, truckNumber, status FROM Truck WHERE Truck.id_divisions = :idDivision "); $sTruckDue->bin

我试图弄明白为什么我的数据在我的网页上显示了两次,但数据库中没有两个相同的条目。这是我正在使用的代码

$truckDueList = "";

$sTruckDue = $dbh->prepare("
    SELECT idTruck, truckNumber, status             
    FROM Truck             
    WHERE Truck.id_divisions = :idDivision
");
$sTruckDue->bindValue(":idDivision", $_SESSION['division']);
if ($sTruckDue->execute()) {
    while($rowTruck = $sTruckDue->fetch()){
        $dueList = "";
        $more = false;
        $workNeeded = false;

        $sTruckAlertType = $dbh->query(" 
            SELECT idTruckAlertType, description
            FROM TruckAlertType
        ");
        while($sTruckAlertType && $row = $sTruckAlertType->fetch()){

            $sTruckAlert = $dbh->prepare(" 
                SELECT truckAlerts.idTruck, truckAlerts.flag
                FROM `truckAlerts`, Truck
                WHERE Truck.status != 'inactive'
                    AND truckAlerts.idTruck = :idTruck
                    AND truckAlerts.idTruck = Truck.idTruck
                    AND truckAlerts.idTruckAlertType = :idTruckAlertType
                    AND truckAlerts.flag > 0
            ");
            $sTruckAlert->bindValue(":idTruck", $rowTruck['idTruck']);
            $sTruckAlert->bindValue(":idTruckAlertType", $row['idTruckAlertType']);
            $sTruckAlert->execute();
            $workNeedRow = $sTruckAlert->fetch();
            if(isset($workNeedRow['idTruck'])) {        
                    $workNeeded = true;
                    if ($more == true){ 
                        $dueList .= ", ";
                    }
                    $more = true;
                    $dueList .= "<span class='notice_level_" . $workNeedRow['flag'] . "'>" . $row['description'] . "</span>";
            }
            if($workNeeded == true){    
                $truckDueList .= "
                    <tr style='cursor:pointer;' onclick=\"DoNav('vehicleDetails.php?tid=" . $rowTruck['idTruck'] . "');\">
                        <td width='20%' class='rightSide'>" . $rowTruck['truckNumber'] . "</td>
                        <td class='rightSide leftSide'>" . $dueList . "</td>
                        <td width='15%' class='leftSide'>" . ucfirst($rowTruck['status']) . "</td>
                    </tr>
                ";
             } 
        }
        $sTruckAlertType->closeCursor();    
    }
    $sTruckDue->closeCursor();
}

if($truckDueList == ""){
    $truckDueList = "
        <tr>
            <td colspan='3'>No Vehicles Due</td>
        </tr>";
}
我无法发布显示内容的图像,但它看起来像这样:

ID:所需工作:

100换机油

100换油,轮胎转动

出于某种原因,它显示额外的机油更换,但仅在机油更换时显示。不会复制轮胎旋转。我已经检查并重新检查了数据库,没有重复的条目,但是看起来好像有。知道为什么吗?

移动整个区块:

if($workNeeded == true){    
            $truckDueList .= "
                <tr style='cursor:pointer;' onclick=\"DoNav('vehicleDetails.php?tid=" . $rowTruck['idTruck'] . "');\">
                    <td width='20%' class='rightSide'>" . $rowTruck['truckNumber'] . "</td>
                    <td class='rightSide leftSide'>" . $dueList . "</td>
                    <td width='15%' class='leftSide'>" . ucfirst($rowTruck['status']) . "</td>
                </tr>
            ";
} 
就在$sTruckAlertType->closeCursor;-它肯定应该与重置所有本地$dueList等处于相同的嵌套级别

当前,您在每个$sTruckAlertType->fetch上输出此值