...

View Full Version : foreach problem



chastro
07-27-2007, 09:08 PM
Hi there, a little stumped on a form I am making for work...

on the first viewing of the page, $action is not set.

when this is shown in the page, a list of checkboxes along side the employees' name is shown like so...

i.e.

[] Bob
[] Jim
[] Mary
[] Sara
[] Tim

...then the user is to make his/her selections of these employees, and click submit, this time with the action $final_confirm.

When the page now runs through, i need it to make the same list of employees, however if they had selected an employee before, it needs to be checked.

i.e.

[X] Bob
[] Jim
[X] Mary
[X] Sara
[] Tim

My problem is that I've gotten it to populate the check boxes on submit, but if I select three names, it returns this:

[X] Bob
[] Bob
[] Bob
[] Jim
[] Jim
[] Jim
[X] Mary
[] Mary
[] Mary
[X] Sara
[] Sara
[] Sara
[] Tim
[] Tim
[] Tim

if I select two names, it does the same thing, just with two lines each...

<?php
//$sql = "SELECT bla bla bla..."
//$result = mysql_query bla bla bla...

while ($row = mysql_fetch_array($result)) {
$id = $row['id'];
$employee_name = $row['name'];

if ($action == "final_confirm"){
if (isset($employee)){
foreach ($employee as $employee_selected) {
if($employee_selected == $id){
echo "<INPUT TYPE=\"CHECKBOX\" NAME=\"employee[]\" VALUE=\"$id\" CHECKED>$employee_name<BR>\n";
} else {
echo "<INPUT TYPE=\"CHECKBOX\" NAME=\"employee[]\" VALUE=\"$id\">$employee_name<BR>\n";
}
}
}
} else {
echo "<INPUT TYPE=\"CHECKBOX\" NAME=\"employee[]\" VALUE=\"$id\">$employee_name<BR>\n";
}
}

?>

In theory I see why the error is happening, I just dont see any other way to do this. I'm sure the answer is right in front of me or I just need to reorganize something, but I've been trying to do this for 5 hours and reading the foreach documentation on php.net isnt helping. Any help is appreciated.

rafiki
07-27-2007, 09:13 PM
post your actual code.. not example code... or we could potentially miss something that is breaking the code

chastro
07-27-2007, 09:32 PM
post your actual code.. not example code... or we could potentially miss something that is breaking the code


that is the actual code :)

here is the query if you meant that

$sql = "SELECT `id`, `name` FROM `employees` ORDER BY `name` DESC";
$result = mysql_query ($sql, $connection) or die ("Couldn't execute query.");



EZ Archive Ads Plugin for vBulletin Copyright 2006 Computer Help Forum