Thanks John and Marek for your fast responses. I made the decision to
opt for the "hidden" tag option. Now, I'll show you the part of my code
that hangs when trying to make what I intend it to do.

========================

$query1 = "DELETE * FROM maracat WHERE catid = $catid";
$result1 = mysql_query($query1) or die (mysql_errno());

$query2 = "DELETE * FROM marasubcat WHERE catid = $catid";
$result2 = mysql_query($query2) or die (mysql_errno());

$query3 = "DELETE * FROM maraprod WHERE catid = $catid";
$result3 = mysql_query($query3) or die (mysql_errno());
                                                                
echo "Accion taken<br>";
echo "<a href=\"cat.php\" class=\"link2\">Back</a>";

========================

I know that it's very tedious to write 1 query for each action taking
place, but I think this is easier for me to change in the future. Now,
the page gets stuck when reaching this level and doesn't process what I
ordered... Any thoughts? Thanks in advance,

Cesar L. Aracena
[EMAIL PROTECTED]
[EMAIL PROTECTED]
(0299) 156-356688
Neuquén (8300) Capital
Argentina


-----Mensaje original-----
De: John W. Holmes [mailto:[EMAIL PROTECTED]] 
Enviado el: jueves, 26 de diciembre de 2002 18:32
Para: 'Cesar Aracena'; [EMAIL PROTECTED]
Asunto: RE: [PHP] Selecting what's for deletion

> 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/



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


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

Reply via email to