I cant pass variables between loops using PHP and SQL?
In the loops below, PHP doesn't seem to pass the output开发者_如何学Pythonted string back out to the loop that contains it for further manipulation, then making the output from this loop nothing at all.
Please help me understand why this is...
<?php
$finalTablePrint = '<html><body style="font-family:Tahoma, Verdana, Geneva, Arial, Helvetica, sans-serif; font-size:40px;">
LTU Activity Report<br/>
<span style="font-size:18px;"> Date Created: ' . date("l jS \of F Y") . '<br/><br/>
<table width=100% style="background-color:white; font-size:12px; border-collapse:collapse;" >
<tr style="font-size:12px; font-weight:600; background-color:#d2dbdf; height:35px;">
<td>Activity</td><td>Department</td><td>Hours Spent</td><td>Month</td>
</tr>';
while ($row = mysql_fetch_assoc($result)) {
$finalTablePrint .= '<tr><td colspan=4>' . $row['activity'] . '</td></tr>';
while ($row_1 = mysql_fetch_assoc($result)) {
if ($row_1['activity'] == $row['activity'] && $row_1['department'] == $row['department']) {
$finalTablePrint .= '<tr style="height:30px;"><td colspan=3>' . $row['department'] . '</td>' . '<td>' . $row['hours'] . '</td><td>' . $row['month'] . '</td></tr>';
}
}
}
echo $finalTablePrint .='</table><script type="text/javascript">javascript:window.print(); setTimeout(\'window.location="../../admin/index.php"\',"1000");</script></body></html>';
Note that when you set off your second loop, you are calling the same SQL statement as the original one before it
while ($row = mysql_fetch_assoc($result)) { //1st while
while ($row_1 = mysql_fetch_assoc($result)) { //2nd while
which in turn means that this if statement will allways be true....
if ($row_1['activity'] == $row['activity'] && $row_1['department'] == $row['department']) {
and this will allways echo:
$finalTablePrint .= '<tr style="height:30px;"><td colspan=3>'.$row['department'].'</td>'.'<td>'.$row['hours'].'</td><td>'.$row['month'].'</td></tr>';
so you should really remove your 2nd while/if statement... since it achieves nothing at the moment
Because js script at the end navigates you away too quickly you have no chance to see what happened! Remove it until you fix things the way you like it, and make sure that js is doing exactly what you are asking for.
精彩评论