Lanfeardk Posted March 18, 2011 Share Posted March 18, 2011 since many do not know the term sticky = when a form is submitted, the data contained is not deleted but instead last checked data will be shown. I have some dynamically generated checkboxes from the database. I tried the below code to make them sticky but they are simply preselected in stead of becoming sticky. What am I doing wrong? <?php $sql2 = "SELECT relation FROM table_rel_info"; $result2 = @mysqli_query($dbc, $sql2); while($row2 = mysqli_fetch_array($result2, MYSQLI_ASSOC)) { echo "<label>" . $row2['relation'] . "</label>"; echo "<input class='box' type='checkbox' value=1"; ?> <?php if (isset($row2['relation'])) { echo 'checked="checked"';}?> <?php echo "'/>" . "<br />"; } ?> Quote Link to comment Share on other sites More sharing options...
Pikachu2000 Posted March 18, 2011 Share Posted March 18, 2011 You would need to compare the value of the checkbox to the value in the $_POST array if the form has been submitted. Also, your checkboxes need a name= attribute to be valid markup. Quote Link to comment Share on other sites More sharing options...
Lanfeardk Posted March 18, 2011 Author Share Posted March 18, 2011 I tried this put it made my page layout weird out: <?php $sql2 = "SELECT relation FROM table_rel_info"; $result2 = @mysqli_query($dbc, $sql2); while($row2 = mysqli_fetch_array($result2, MYSQLI_ASSOC)) { echo "<label>" . $row2['relation'] . "</label>"; echo "<input type='checkbox' class='box' name='relationbox' id='reationbox' value="; ?> <?php if (isset($row2['relation'])) { if($row2['relation'] == $_POST[$row['Field']] ) { echo 'checked="checked"'; } else { /*do nothing */ } }?> <?php echo "'/>" . "<br />"; } ?> 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.