in your SearchOrder() function change the for() to a foreach()
Jim
----- Original Message -----
From: "Carlos Fernando Scheidecker Antunes" <[EMAIL PROTECTED]>
To: "PHP-GENERAL" <[EMAIL PROTECTED]>
Sent: Wednesday, December 19, 2001 10:15 AM
Subject: [PHP] Help on dealing with arrays of HTTP_POST vars


> Hello All,
>
> I have developed a system to retrieve data from a table. The interface is
a
> dynamic list of orders created from a query on the database that shows all
> the new orders. Next to each is a checkbox. Each checkbox has as its value
> the order number and is called PED1, PED2, PED3,....PEDn,.... depending on
> how many new orders are available. If the user wants to access these
orders
> he has to check the orders he wants and click the submit button. Once it
is
> submited, it searches all the PED# variables on the HTTP_POST_VARS and
> builds an array called $Orders. The $Orders array contains order numbers
and
> is later used to query a different table.
>
> Ths code works almost great. But there is a problem, if the first
checkbox,
> say PED1 field is not checked, and some of the other checkboxes are (say
> PED2, PED4), the $Orders array ends being empty. So, say that the form has
5
> orders and the user selects orders 2, 4 and 5 and submit it. It does not
> work. But if he selects 1,2, 4 and 5 it works. It works only if the first
> checkbox is checked too.
>
> What I wonder is why this code does not work if PED1 checkbox is not
> checked. What if the user only wants other stuff but the first order PED1?
>
> Could you help me on this?
>
> Here's the code:
>
> This is a function that searches for variables called PED1, PED2, PED3
that
> are checkboxes on a submited form and have the order numbers. When this
> checkbox is checked, the ordernumber is saved on an Array $Orders that is
> later used to build a SQL statement.
>
> function SearchOrders() {
>     global $Orders;
>     global $HTTP_POST_VARS;
>
>  $index = count($HTTP_POST_VARS);
>
>  for($i=1; $i <= $index; $i++) {
>      if (isset($HTTP_POST_VARS["PED$i"]))
>      $Orders[] = $HTTP_POST_VARS["PED$i"];
>  }
>  $index = count($Orders);
>  return $index;
>
> }
>
> This is a function that retrieves the array values that are order numbers
> from the array $Orders and assembles a SQL statement $query.
> This will later retrieve data from a MySQL table;
>
> function MontarOrdRel() {
>     global $Orders;
>
>  $query = "SELECT  *  FROM tbl_Ord ";
>
> if (count($Orders) > 0)
>      $query .= "WHERE ";
>
>  for($index=0; $index < count($Orders); $index++) {
>
>      if ($index < (count($Orders)-1)) {
>   $query .="(NumPedido = '".$Orders[$index]."') OR ";
>      }
>      else {
>   $query .="(NumPedido = '".$Orders[$index]."') ";
>      }
>  } // for loop
>  $query .= "ORDER BY NumOrd";
>
> Then $query is used to query a table.
>
> Thank you for your help,
>
> Carlos Fernando Scheidecker Antunes.
>
>
> Linux User #207984
>
>
>
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> To contact the list administrators, e-mail: [EMAIL PROTECTED]
>
>


-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to