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 Quote 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; Quote 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) Quote 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
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.