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? Link to comment https://forums.phpfreaks.com/topic/126894-solved-loops-abound/ 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. Link to comment https://forums.phpfreaks.com/topic/126894-solved-loops-abound/#findComment-656351 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? Link to comment https://forums.phpfreaks.com/topic/126894-solved-loops-abound/#findComment-656352 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....... Link to comment https://forums.phpfreaks.com/topic/126894-solved-loops-abound/#findComment-656366 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; } ?> Link to comment https://forums.phpfreaks.com/topic/126894-solved-loops-abound/#findComment-656375 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!!! Link to comment https://forums.phpfreaks.com/topic/126894-solved-loops-abound/#findComment-656383 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.