[PHP-DB] first Array value duplicating..

2002-11-07 Thread Aaron Wolski
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..

2002-11-07 Thread .: B i g D o g :.
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..

2002-11-07 Thread Terry Romine
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..

2002-11-07 Thread Adam Voigt
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