dennismonsewicz Posted October 3, 2008 Share Posted October 3, 2008 Code: <?php $checkbox_qry = mysql_query("SELECT * FROM has_had_projects WHERE project = '" . $results->project . "'")or die(mysql_error()); $field = mysql_num_fields($checkbox_qry); while($row = mysql_fetch_assoc($checkbox_qry)) { for($i = 2; $i < $field; $i++) { $names = mysql_field_name($checkbox_qry, $i); foreach($row as $k=>$val) { $chk = $val>0?'checked = "checked"':""; } $numbers = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 0); $title .= '<div><input type="checkbox" name="checkboxes[' . $names . ']" class="checkbox" id="' . $names . '" ' . $chk . ' /> <label for="checkboxes[' . $names . ']">' . ucwords(str_replace($numbers, '', $names)) . '</label></div>'; } echo $title; }?> I am writing out the sql column names with this code. The foreach statement is checking if the values of the columns is > 0 and if so set $chk var to checked="checked" but nothing happens when I run the code. Well The names are printed along with the checkboxes but its not checking to see if $val is > 0. Any ideas on how to get this running? Quote Link to comment Share on other sites More sharing options...
RedMist Posted October 3, 2008 Share Posted October 3, 2008 If I understand your code correctly, the problem is your foreach loop constantly overwrites $chk so it's only valid for the very last field in $row. Quote Link to comment Share on other sites More sharing options...
dennismonsewicz Posted October 3, 2008 Author Share Posted October 3, 2008 do you know how I could fix this? Quote Link to comment Share on other sites More sharing options...
RedMist Posted October 3, 2008 Share Posted October 3, 2008 Well it's tricky, because I don't know the data your reading. however......... I dont know if you need the foreach at all, just remove the loop and try $chk = $row[$names]>0?'checked = "checked"':""; .... but I diont know what it meant to do....soo....... Quote Link to comment Share on other sites More sharing options...
dennismonsewicz Posted October 3, 2008 Author Share Posted October 3, 2008 AWESOME! It works! Man I have been dealing with this code for three days now and it has been rattling my brain! Thanks! Working Code: <?php $checkbox_qry = mysql_query("SELECT * FROM has_had_projects WHERE project = '" . $results->project . "'")or die(mysql_error()); $field = mysql_num_fields($checkbox_qry); while($row = mysql_fetch_assoc($checkbox_qry)) { for($i = 2; $i < $field; $i++) { $names = mysql_field_name($checkbox_qry, $i); $chk = $row[$names]==1?'checked="checked"':''; $numbers = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 0); $title .= '<div><input type="checkbox" name="checkboxes[' . $names . ']" class="checkbox" id="' . $names . '" ' . $chk . ' /> <label for="checkboxes[' . $names . ']">' . ucwords(str_replace($numbers, '', $names)) . '</label></div>'; } echo $title; } ?> Quote Link to comment Share on other sites More sharing options...
RedMist Posted October 3, 2008 Share Posted October 3, 2008 Glad I could help. I know what it like to be stumped!!! Quote Link to comment 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.