[PHP-DB] first Array value duplicating..
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=centerinput type=checkbox name=delete[0] value=1/td input type=hidden name=order_index[1] value=3 td class=cartlink align=centerinput type=checkbox name=delete[1] value=1/td input type=hidden name=order_index[2] value=8 td class=cartlink align=centerinput type=checkbox name=delete[2] value=1/td input type=hidden name=order_index[3] value=12 td class=cartlink align=centerinput 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;$isizeof($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
Re: [PHP-DB] first Array value duplicating..
I would suggest doing a var_dump of $order_index and see what is in there. Plus, you should take out the values in the form arrays... Just do: name=order_index[] On Thu, 2002-11-07 at 15:24, 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=centerinput type=checkbox name=delete[0] value=1/td input type=hidden name=order_index[1] value=3 td class=cartlink align=centerinput type=checkbox name=delete[1] value=1/td input type=hidden name=order_index[2] value=8 td class=cartlink align=centerinput type=checkbox name=delete[2] value=1/td input type=hidden name=order_index[3] value=12 td class=cartlink align=centerinput 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;$isizeof($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 -- .: B i g D o g :. -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-DB] first Array value duplicating..
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. tdinput 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=centerinput type=checkbox name=delete[0] value=1/td input type=hidden name=order_index[1] value=3 td class=cartlink align=centerinput type=checkbox name=delete[1] value=1/td input type=hidden name=order_index[2] value=8 td class=cartlink align=centerinput type=checkbox name=delete[2] value=1/td input type=hidden name=order_index[3] value=12 td class=cartlink align=centerinput 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;$isizeof($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
Re: [PHP-DB] first Array value duplicating..
Ok, here's how I do it: =) Delete checkbox's (assuming this is being called recursively, once for each row in the db): input type=checkbox name=delete[] value=$row[id] And on submition: foreach($_POST[delete] AS $row) mysql_query(DELETE FROM tablename WHERE id = '$row';); Adam Voigt [EMAIL PROTECTED] 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=centerinput type=checkbox name=delete[0] value=1/td input type=hidden name=order_index[1] value=3 td class=cartlink align=centerinput type=checkbox name=delete[1] value=1/td input type=hidden name=order_index[2] value=8 td class=cartlink align=centerinput type=checkbox name=delete[2] value=1/td input type=hidden name=order_index[3] value=12 td class=cartlink align=centerinput 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;$isizeof($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 -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php