timmah1 Posted October 24, 2010 Share Posted October 24, 2010 I'm not sure what I'm doing wrong here. I'm trying to get this to show the schedule for each person in the database. It does show the schedule, but it only shows one day in each box, and it's the last day. So, if the last day is October 28th, it populates every box with the schedule for the 28th. <?php $query = "SELECT * FROM employees WHERE day > '$current_date' AND day < '$get_date'"; $result = mysql_query($query); while($row = mysql_fetch_array($result)) { $id = $row['id']; $position = $row['position']; $pay_rate = $row['pay_rate']; $total_hours = $row['total_hours']; $total_pay = $row['total_pay']; $start_time = date("g:i a", strtotime($row['start_time'])); $end_time = date("g:i a", strtotime($row['end_time'])); $work_day = date("l", strtotime($row['day'])); $day = date("F j", strtotime($row['day'])); if($end_time == "24:00:00"){ $end_time ="Close";}; $schedule = $start_time ."<br />". $end_time; $first = $row['first_n']; $last = $row['last_n']; if ($work_day == "Monday"){ $name[$last.", ".$first] = $schedule; } if ($work_day == "Tuesday"){ $name[$last.", ".$first] = $schedule; } if ($work_day == "Wednesday"){ $name[$last.", ".$first] = $schedule; } if ($work_day == "Thursday"){ $name[$last.", ".$first] = $schedule; } if ($work_day == "Friday"){ $name[$last.", ".$first] = $schedule; } if ($work_day == "Saturday"){ $name[$last.", ".$first] = $schedule; } if ($work_day == "Sunday"){ $name[$last.", ".$first] = $schedule; } } foreach ($name as $n => $s) { ?> <tr> <td align="left" valign="top"><?php echo $n; ?></td> <td align="left" valign="top"><?php echo $position; ?></td> <td align="center" valign="top"><?php echo $s; ?></td> <td align="center" valign="top"><?php echo $s; ?></td> <td align="center" valign="top"><?php echo $s; ?></td> <td align="center" valign="top"><?php echo $s; ?></td> <td align="center" valign="top"><?php echo $s; ?></td> <td align="center" valign="top"><?php echo $s; ?></td> <td align="center" valign="top"><?php echo $s; ?></td> <td align="right" valign="top"> </td> </tr> <? } ?> Can somebody see what I'm doing wrong? Thanks in advance Link to comment https://forums.phpfreaks.com/topic/216702-simple-or-stupid-not-sure-which/ Share on other sites More sharing options...
ignace Posted October 24, 2010 Share Posted October 24, 2010 You are overwriting $name on each turn. It should be: $name[$last . ', ' . $first][] = $schedule; Link to comment https://forums.phpfreaks.com/topic/216702-simple-or-stupid-not-sure-which/#findComment-1125860 Share on other sites More sharing options...
timmah1 Posted October 24, 2010 Author Share Posted October 24, 2010 It's not the name I'm having a problem with, those are just fine. It is that it's only showing 1 day in every block. So it's the $schedule part that is the problem I think, or it's the foreach ($name as $n => $s) Link to comment https://forums.phpfreaks.com/topic/216702-simple-or-stupid-not-sure-which/#findComment-1126001 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.