Forum Moderators: coopster
Basically, what I'm after is a nested do while loop around
<?php echo $row_rsactionitems['action']; ?>
or maybe a for each statement?
The code is below, I hope someone can help.
<?php do { ?>
<?php $status = $row_rsactionitems['status']; ?>
<?php if ($status == 1) {
$color = "#FFFFFF";
}
if ($status == 2) {
$color = "#006600";
}
if ($status == 3) {
$color = "#FF6600";
}
if ($status == 4) {
$color = "#999999";
}
else {
$color == white;
}
echo '<tr style="background:' . $color . '">';
?>
<?php if ($totalRows_rsactionitems > 0) { // Show if recordset not empty ?>
<td><?php echo $num++. "." ?> <a href="/englist/admin/actionitems/edit.php?itemid=<?php echo $row_rsactionitems['itemid'];?>&checkid=<?php echo $row_rsactionitems['checkid']; ?>""style="color: black">Edit</a> <br /></td>
<td><?php echo $row_rsactionitems['date']; ?></td>
<td><?php echo $row_rsactionitems['where']; ?></td>
<td><?php echo $row_rsactionitems['who']; ?></td>
<td><?php echo $row_rsactionitems['card']; ?></td>
<td><?php echo $row_rsactionitems['description']; ?></td>
<td><?php echo $row_rsactionitems['action']; ?> <br />
<a href="/englist/admin/checks/view.php?itemid=<?php echo $row_rsactionitems['itemid'];?>&checkid=<?php echo $row_rsactionitems['checkid']; ?>" style="color: black">All Actions </a></td>
<td><?php echo $row_rsactionitems['reference']; ?></td>
<td><?php echo $row_rsactionitems['area']; ?><br /><?php echo $row_rsactionitems['number']; ?></td>
<td><?php echo $row_rsactionitems['hours']; ?></td>
</tr><?php } // Show if recordset not empty ?>
<?php } while ($row_rsactionitems = mysql_fetch_assoc($rsactionitems)); ?>
</table>
<?php do {
$status = $row_rsactionitems['status'];
// change to be an if, [url=http://uk.php.net/manual/en/control-structures.elseif.php]elseif[/url], else loop
// not an if, if, else loop
// my personal preference is [url=http://uk.php.net/manual/en/control-structures.switch.php]switch[/url] for that sort of thing
if ($status == 1) {
$color = "#FFFFFF";
}
elseif ($status == 2) {
$color = "#006600";
}
elseif ($status == 3) {
$color = "#FF6600";
}
elseif ($status == 4) {
$color = "#999999";
}
else {
$color == white;
}
echo '<tr style="background:' . $color . '">';
if ($totalRows_rsactionitems > 0) {
echo '<td>'. $num++ . '.';
echo <<<TABLE
<a href="/englist/admin/actionitems/edit.php?itemid={$row_rsactionitems['itemid']}&checkid={$row_rsactionitems['checkid']}"style="color: black">Edit</a><br />
</td>
<td>{$row_rsactionitems['date']}</td>
<td>{$row_rsactionitems['where']}</td>
<td>{$row_rsactionitems['who']}</td>
<td>{$row_rsactionitems['card']}</td>
<td>{$row_rsactionitems['description']}</td>
TABLE;
//<td>{$row_rsactionitems['action']}<br />
foreach ($row_rsactionitems['action'] as $action) {
echo "<td>$action</td><br />";
}
echo <<<MORETABLE
<a href="/englist/admin/checks/view.php?itemid={$row_rsactionitems['itemid']}&checkid={$row_rsactionitems['checkid']}" style="color: black">All Actions </a></td>
<td>{$row_rsactionitems['reference']}</td>
<td>{$row_rsactionitems['area']}<br />
{$row_rsactionitems['number']}</td>
<td>{$row_rsactionitems['hours']}</td>
</tr>
MORETABLE;
}
while ($row_rsactionitems = mysql_fetch_assoc($rsactionitems));
echo '</table>';
I would suggest that you stop using dreamweaver to write your code, as the what it produces could only be described as code vomit.
You may have to check through the code to make sure that I didnt erase anything that you actually needed. Apologies if I did.
I put the code in and now I'm getting:
Warning: Invalid argument supplied for foreach() in E:\wamp\www\englist\admin\checks\actionlist.php on line 187.
<td><?php echo $row_rsactionitems['action']; ?> <br />
187<?php foreach ($row_rsactionitems['action'] as $action) {
echo '<td>$action</td><br />';
} ?> Each action has its own table row with its own unique actionid. I think this means it's not an array.