By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
440,826 Members | 815 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 440,826 IT Pros & Developers. It's quick & easy.

Checkbox array

P: n/a
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/>';
}
?>
Mar 6 '06 #1
Share this Question
Share on Google+
4 Replies


P: n/a
"Paul Morrison" <no****@nospam.com> wrote in message
news:du**********@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ö
sp**@outolempi.net | Gedoon-S @ IRCnet | rot13(xv***@bhgbyrzcv.arg)
Mar 6 '06 #2

P: n/a
> 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
Mar 6 '06 #3

P: n/a
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
Mar 6 '06 #4

P: n/a
"Paul Morrison" <no****@nospam.com> wrote in message
news:du**********@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ö
sp**@outolempi.net | Gedoon-S @ IRCnet | rot13(xv***@bhgbyrzcv.arg)
Mar 6 '06 #5

This discussion thread is closed

Replies have been disabled for this discussion.