Re: first Array value duplicating..

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



An "Real World" example of how I do a similar thing might help:

My list with checkboxes (since this is dynamic, I don't know what 
numbers are assigned) $itemID is the id of the record from the mysql 
table, so the check box name is 'chk_12' for id=12. $checkAll is a flag 
if the user selected the "Check All" button, echos("selected") to check 
all the checkboxes.

  <td><input type='checkbox' name='chk_$itemID' value='$itemID' 
$checkAll></td>

The in my process code I switch the submit button and test for delete. 
$maxID is the max(id) from the list of items. I walk through the 
possible list of items and see if any were checked and if so append 
them to my list of deletes. Note that I use "where id in ()" to gather 
all the items at once.

         case "Delete Selected Records":
             for($x=0;$x<=$maxID;$x++){
                 $varname="chk_$x";
                 $value=$$varname;
                 if($value) {
                     $events[] = $value;
                 }
             }
             if($events) $events_IDs = implode("','", $events);
             $sql= "delete from $tableName where id in ('$events_IDs')";
             mysql_query($sql) or die($sql . mysql_error());
	  $message_str="Record(s) deleted";
             break;

HTH
Terry

On Thursday, November 7, 2002, at 09:24 AM, Aaron Wolski wrote:

> Hi All,
>
>
> In a form I have checkboxes associated with order records. The
> checkboxes are for deleting order records (should a client choose to do
> so).
>
> It looks like this:
>
> <form name="form" action="process_bank.php" method="POST">
>     <input type="hidden" name="order_index[0]" value="1">
>     <td class="cartlink" align="center"><input type="checkbox"
> name="delete[0]" value="1"></td>
>     <input type="hidden" name="order_index[1]" value="3">
>     <td class="cartlink" align="center"><input type="checkbox"
> name="delete[1]" value="1"></td>
>     <input type="hidden" name="order_index[2]" value="8">
>     <td class="cartlink" align="center"><input type="checkbox"
> name="delete[2]" value="1"></td>
>     <input type="hidden" name="order_index[3]" value="12">
>     <td class="cartlink" align="center"><input type="checkbox"
> name="delete[3]" value="1"></td>
> </form>
>
> Now.. when the process button is pressed the information is carried off
> to the process_bank.php script.
>
> Lets assume for this example.. I selected the checkbox delete[0] (which
> equals value 1) and delete[3] (which equals value 12).
>
> In the script I have this code:
>
> for ($i=0;$i<sizeof($order_index);$i++) {
>
>    $orderQuery = db_query("SELECT id FROM TestOrderTable WHERE
> id=".$order_index[$i]);
>    $orderResult = db_fetch($orderQuery);
>
>    if ($delete[$i] == 1) {
>
>     $ids .= $orderResult["id"];
>
>     echo $ids;
>
>
>    }
> }
>
> The echo'd value that I get is 1,1,12 when it should be 1,12.
>
> When only ONE checkbox is selected I just get the one value displayed
> (i.e. if I selected the first checkbox the echo'd value would be 1).
>
> Does anyone know why the first value is being duplicated on a multiple
> select but not on a single select?
>
> Sorry if this sounds confusing :(
>
> Aaron


-- 
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [PHP Users]     [Postgresql Discussion]     [Kernel Newbies]     [Postgresql]     [Yosemite News]

  Powered by Linux