Checkbox array

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Paul Morrison

    Checkbox array

    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_subscripti ons.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_subscriptio n 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($sq l);
    $row = mysql_fetch_ass oc($result) ;
    if ($row) {
    echo "<div><span>Spe cific Subsriptions:</span><br/>" ;
    $table_start ='<table width="90%" table name="table2" align="center"
    cellspacing="0" border="0">
    <tr>
    <form method="post" action="stop_su bscription.php" >
    <th width="20%">Typ e</th>
    <th width="70%">Tit le</th>
    <th width="10%"></th>
    <input type="submit" name="Submit" value="Submit"
    style="font-size:10px"/><p>
    <input type="hidden" name="stop_subs cription"
    value="1"/>
    </form>
    </tr>';
    echo $table_start;
    $rownum = 0;
    while($row) {
    $rownum++;
    $style = rowcolor($rownu m);
    $table_rows .= '<td id="td" align="center"
    style="'.$style .';padding:5px; " >'."\n".'<form> <input type="checkbox"
    name="deletethi s[]" value="'.$row['inj_id'] . '"></form></td>'."\n\t";
    echo "<tr>" . $table_rows . "</tr>";
    $row = mysql_fetch_ass oc($result) ;
    }
    echo '</table><Br/></div><br/>';
    }
    ?>


  • Kimmo Laine

    #2
    Re: Checkbox array

    "Paul Morrison" <nospam@nospam. com> wrote in message
    news:duh3rd$lt2 $1@oheron.kent. ac.uk...[color=blue]
    > 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_subscripti ons.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.
    >[/color]

    The problem is not that you are submitting an array, the problem is with the
    form tags. See comments below.
    [color=blue]
    >
    > <?php
    > $sql = "SELECT i.type, i.title , s.inj_id FROM inj_subscriptio n 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($sq l);
    > $row = mysql_fetch_ass oc($result) ;
    > if ($row) {
    > echo "<div><span>Spe cific Subsriptions:</span><br/>" ;
    > $table_start ='<table width="90%" table name="table2"
    > align="center" cellspacing="0" border="0">
    > <tr>
    > <form method="post" action="stop_su bscription.php" >
    > <th width="20%">Typ e</th>
    > <th width="70%">Tit le</th>
    > <th width="10%"></th>
    > <input type="submit" name="Submit" value="Submit"
    > style="font-size:10px"/><p>
    > <input type="hidden" name="stop_subs cription"
    > value="1"/>
    > </form>[/color]

    The form ends here in the </form> tag
    [color=blue]
    > </tr>';
    > echo $table_start;
    > $rownum = 0;
    > while($row) {
    > $rownum++;
    > $style = rowcolor($rownu m);
    > $table_rows .= '<td id="td" align="center"[/color]

    then you begin another form here, apparently each checkbox gets their own
    form since it's inside the while loop.
    [color=blue]
    > style="'.$style .';padding:5px; " >'."\n".'<form> <input type="checkbox"
    > name="deletethi s[]" value="'.$row['inj_id'] . '"></form></td>'."\n\t";
    > echo "<tr>" . $table_rows . "</tr>";
    > $row = mysql_fetch_ass oc($result) ;
    > }
    > echo '</table><Br/></div><br/>';
    > }
    > ?>[/color]


    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@bhg byrzcv.arg)


    Comment

    • Paul Morrison

      #3
      Re: Checkbox array

      > All fields that you want to post must be within the SAME <form>...</form>[color=blue]
      > 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.[/color]

      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


      Comment

      • Erwin Moller

        #4
        Re: Checkbox array

        Paul Morrison wrote:
        [color=blue][color=green]
        >> 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.[/color]
        >
        > 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[/color]

        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

        Comment

        • Kimmo Laine

          #5
          Re: Checkbox array

          "Paul Morrison" <nospam@nospam. com> wrote in message
          news:duh57p$n85 $1@oheron.kent. ac.uk...[color=blue][color=green]
          >> 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.[/color]
          >
          > 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.[/color]


          Doesn't like it? What the hell does that mean? Just do it like this:

          <form method="post" action="stop_su bscription.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@bhg byrzcv.arg)


          Comment

          Working...