RE: [PHP] Selecting what's for deletion

From: Date: Thu, 26 Dec 2002 21:31:49 +0000
Subject: RE: [PHP] Selecting what's for deletion
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-129386@lists.php.net to get a copy of this message
> I'm making the administration part of a site which handles categories, > sub categories and products. Inside the "Categories" part, there's a > "List categories" button which gives a list of the categories and sub > categories when pressed. Along with each category, there's a "Delete" > button that, when pressed, it's supposed to delete that category from > the DB. The problem here is that the lists is made dynamically using a > FOR loop and is being placed inside a FORM so the action is handled > through an ACTION="" tag. > > Now, the ACTION tag points to a php file which deletes the desired row > in the DB. The question is how to tell that php file (through GET or > POST) which row to delete... My first shot was to name each "Delete" or > submit button inside form like "delcategory?catid=0001" but then the > POST wasn't reading that... > > Any thoughts? Thanks in advance, You could use a bunch of forms, if you want to use a button. Since you're using a while() loop, it wouldn't be a big deal... While(fetching_from_db) { <form> <hidden cat_id> Other data <submit button> </form> } Then the delete button on each row is for it's own form with a hidden cat_id element that you can use to tell which row to delete. Even better would be to use checkboxes, so you can delete multiple rows at one. Name them <input type="checkbox" name="delete[]" value="<?=$cat_id?>"> And when it's submitted all of the checked boxes will be in $_POST['delete'], so you can do this: $delete_ids = implode(",",$_POST['delete']); $query = "DELETE FROM table WHERE ID IN ($delete_ids)"; Add in your own validation, of course... ---John W. Holmes... PHP Architect - A monthly magazine for PHP Professionals. Get your copy today. http://www.phparch.com/

« previous php.general (#129386) next »