1

I asked this question yesterday but no one replied after I tried to get further help. I've been trying to figure out the problem in the code I was given in my previous post but it's not giving me the results I want. Right now what it does is it writes a separator after each row but what I really want is if the name of the manager from the previous row is different then write a separator and keep going on with loop.

while ($row = mysqli_fetch_array($results)) {
    $team = $row[0]['Manager'];
    foreach($row as $rows){
        if($rows['Manager'] !== $team){
            echo "<tr><td colspan=\"3\">Separator</td></tr>";
        }
        echo "<tr>";
            echo "<td>".$row['Manager']."</td>";
            echo "<td>".$row['Employee_ID']."</td>";
            echo "<td>".$row['Name']."</td>";
        echo "</tr>";
    }
}
4

5 回答 5

1

你正在混合$row$rows你可以这样做:

$team = "";
while ($row = mysqli_fetch_array($results)) {
    if($team && ($row['Manager'] != $team)){ // skip first separator
       echo "<tr><td colspan=\"3\">Separator</td></tr>";
    }
    $team = $row['Manager'];
    echo "<tr>";
        echo "<td>".$row['Manager']."</td>";
        echo "<td>".$row['Employee_ID']."</td>";
        echo "<td>".$row['Name']."</td>";
    echo "</tr>";
}
于 2013-09-17T10:21:27.120 回答
0
while ($row = mysqli_fetch_array($results)) {

    $team = $row[0]['Manager'];

    foreach($row as $rows){
        if($rows['Manager'] !== $team) {
            $team = $row['Manager'];
            echo "<tr><td colspan=\"3\">Separator</td></tr>";
        }
        echo "<tr>";
        echo "<td>".$row['Manager']."</td>";
        echo "<td>".$row['Employee_ID']."</td>";
        echo "<td>".$row['Name']."</td>";
        echo "</tr>";
    }      
}
于 2013-09-17T10:20:36.193 回答
0

我是否遗漏了什么,或者您可以简单地显示数据,然后将其分配给循环中的变量吗?

while ($row = mysqli_fetch_array($results)) {
    $team = $row[0]['Manager'];
    foreach($row as $rows){
    if($row['Manager'] !== $team){
        echo "<tr><td colspan=\"3\">".$team."</td></tr>";
    }
    echo "<tr>";
        echo "<td>".$row['Manager']."</td>";
        echo "<td>".$row['Employee_ID']."</td>";
        echo "<td>".$row['Name']."</td>";
    echo "</tr>";
    $team = $row[0]['Manager'];
    }
}
于 2013-09-17T10:20:42.990 回答
0

是什么$rowS['Manager']$rowS是未知的。像这样使用$row['Manager']

    if($row['Manager'] !== $team){
        echo "<tr><td colspan=\"3\">Separator</td></tr>";
    }
于 2013-09-17T10:21:19.993 回答
0

只需$team = $rows['Manager'];在 if 条件下移动值分配。

while ($row = mysqli_fetch_array($results)) {
    $team = "";
    foreach($row as $rows){
        if($rows['Manager'] != $team){
            echo "<tr><td colspan=\"3\">Separator</td></tr>";
            $team = $rows['Manager'];
        }
        echo "<tr>";
            echo "<td>".$rows['Manager']."</td>";
            echo "<td>".$rows['Employee_ID']."</td>";
            echo "<td>".$rows['Name']."</td>";
        echo "</tr>";
    }
}
于 2013-09-17T10:35:47.210 回答