This is a discussion on Checkbox array within the PHP Language forums, part of the PHP Programming Forums category; Hi, I have a checkbox array containing the id of a record in a MySQL database. The checkboxes are created ...
|
|||||||
| FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
|
|||
|
Hi,
I have a checkbox array containing the id of a record in a MySQL database. The checkboxes are created dynamically depending on what is stored in the database. I want to send the checkbox array to my stop_subscriptions.php file, running the code on all checked boxes, however I dont seem to be able to actually send the array, I was hoping that someone could steer me in the right direction. Cheers, Paul <?php $sql = "SELECT i.type, i.title , s.inj_id FROM inj_subscription s, injustices i WHERE s.member_id = '$user' AND i.inj_id = s.inj_id AND s.inj_id IS NOT null" ; $result = mysql_query($sql); $row = mysql_fetch_assoc($result) ; if ($row) { echo "<div><span>Specific Subsriptions:</span><br/>" ; $table_start ='<table width="90%" table name="table2" align="center" cellspacing="0" border="0"> <tr> <form method="post" action="stop_subscription.php"> <th width="20%">Type</th> <th width="70%">Title</th> <th width="10%"></th> <input type="submit" name="Submit" value="Submit" style="font-size:10px"/><p> <input type="hidden" name="stop_subscription" value="1"/> </form> </tr>'; echo $table_start; $rownum = 0; while($row) { $rownum++; $style = rowcolor($rownum); $table_rows .= '<td id="td" align="center" style="'.$style.';padding:5px;" >'."\n".'<form><input type="checkbox" name="deletethis[]" value="'.$row['inj_id'] . '"></form></td>'."\n\t"; echo "<tr>" . $table_rows . "</tr>"; $row = mysql_fetch_assoc($result) ; } echo '</table><Br/></div><br/>'; } ?> |
|
|||
|
"Paul Morrison" <nospam@nospam.com> wrote in message
news:duh3rd$lt2$1@oheron.kent.ac.uk... > Hi, > > I have a checkbox array containing the id of a record in a MySQL database. > The checkboxes are created dynamically depending on what is stored in the > database. I want to send the checkbox array to my stop_subscriptions.php > file, running the code on all checked boxes, however I dont seem to be > able to actually send the array, I was hoping that someone could steer me > in the right direction. > The problem is not that you are submitting an array, the problem is with the form tags. See comments below. > > <?php > $sql = "SELECT i.type, i.title , s.inj_id FROM inj_subscription s, > injustices i WHERE s.member_id = '$user' AND i.inj_id = s.inj_id AND > s.inj_id IS NOT null" ; > $result = mysql_query($sql); > $row = mysql_fetch_assoc($result) ; > if ($row) { > echo "<div><span>Specific Subsriptions:</span><br/>" ; > $table_start ='<table width="90%" table name="table2" > align="center" cellspacing="0" border="0"> > <tr> > <form method="post" action="stop_subscription.php"> > <th width="20%">Type</th> > <th width="70%">Title</th> > <th width="10%"></th> > <input type="submit" name="Submit" value="Submit" > style="font-size:10px"/><p> > <input type="hidden" name="stop_subscription" > value="1"/> > </form> The form ends here in the </form> tag > </tr>'; > echo $table_start; > $rownum = 0; > while($row) { > $rownum++; > $style = rowcolor($rownum); > $table_rows .= '<td id="td" align="center" then you begin another form here, apparently each checkbox gets their own form since it's inside the while loop. > style="'.$style.';padding:5px;" >'."\n".'<form><input type="checkbox" > name="deletethis[]" value="'.$row['inj_id'] . '"></form></td>'."\n\t"; > echo "<tr>" . $table_rows . "</tr>"; > $row = mysql_fetch_assoc($result) ; > } > echo '</table><Br/></div><br/>'; > } > ?> All fields that you want to post must be within the SAME <form>...</form> range, any fields outside that range, or fields inside another form are not posted when a form is submitted. Change the code so that you generate just one form, and all your form fields are inside that same form. -- "En ole paha ihminen, mutta omenat ovat elinkeinoni." -Perttu Sirviö spam@outolempi.net | Gedoon-S @ IRCnet | rot13(xvzzb@bhgbyrzcv.arg) |
|
|||
|
> All fields that you want to post must be within the SAME <form>...</form>
> range, any fields outside that range, or fields inside another form are > not posted when a form is submitted. Change the code so that you generate > just one form, and all your form fields are inside that same form. How can I enclose all parts of the form? When I first create the table I need to open the form tag, but in order to enclose the checkboxes as well it therefore needs to close after all the checkboxes have been created. I have tried starting the form before I create the table and it doesn't like it. Paul |
|
|||
|
Paul Morrison wrote:
>> All fields that you want to post must be within the SAME <form>...</form> >> range, any fields outside that range, or fields inside another form are >> not posted when a form is submitted. Change the code so that you generate >> just one form, and all your form fields are inside that same form. > > How can I enclose all parts of the form? When I first create the table I > need to open the form tag, but in order to enclose the checkboxes as well > it therefore needs to close after all the checkboxes have been created. I > have tried starting the form before I create the table and it doesn't like > it. > > Paul Kimmo said that you closed the form too early. So put the </form> after all form-elements, including all checkboxes and submitbutton. So solution is simple: move the </form> after the loop and the submitbutton. Regards, Erwin Moller |
|
|||
|
"Paul Morrison" <nospam@nospam.com> wrote in message
news:duh57p$n85$1@oheron.kent.ac.uk... >> All fields that you want to post must be within the SAME <form>...</form> >> range, any fields outside that range, or fields inside another form are >> not posted when a form is submitted. Change the code so that you generate >> just one form, and all your form fields are inside that same form. > > How can I enclose all parts of the form? When I first create the table I > need to open the form tag, but in order to enclose the checkboxes as well > it therefore needs to close after all the checkboxes have been created. I > have tried starting the form before I create the table and it doesn't like > it. Doesn't like it? What the hell does that mean? Just do it like this: <form method="post" action="stop_subscription.php"> then all your php code here, the table, checkboxes, submit buttons, everything, the whole shebang here and finally after all that close the form: </form> My code always likes it like that. -- "En ole paha ihminen, mutta omenat ovat elinkeinoni." -Perttu Sirviö spam@outolempi.net | Gedoon-S @ IRCnet | rot13(xvzzb@bhgbyrzcv.arg) |