|
Posted by Jerry Stuckle on 04/19/07 04:28
sgottenyc@yahoo.com wrote:
> Hello,
> If you could assist me with the following situation, I would be very
> grateful.
>
> I have a table of data retrieved from database displayed on screen.
> To each row of data, I have added action buttons, such as "Edit",
> "Add", and "Comment". Since I do not know how many rows of data will
> be retrieved - and therefore how many buttons I need - I am using
> button arrays for each button, like so:
> echo "<input type=\"submit\" value=\"Comment\" name=\"Comment[]\" />";
>
> In the php file that processes the input from this form, I have the
> following code, which I was under the impression would give me the
> index in the Comment array of the button that was fired.
> if (isset($_POST['CommentMedicalHistory']))
> {
> $indexOfComment = each($_POST['CommentMedicalHistory']);
> echo "index = {$indexOfComment['key']}";
> }
> Unfortunately, it is returning 0 as the index all the time, even when
> I do not click on the Comment button in the first row.
> Do you know by any chance how I could get the correct index of the
> button that was pressed from the array?
>
> Thank you, once again, for any assistance that you can provide,
> Simon Gottesman
>
Simon,
Since you can only press one button to submit your form, you will only
get one button back - and it's index will always be zero. In the case
of a submit button, the brackets in 'name="Comment[]"' are superfluous -
you can't get back more than one button.
What you want is to get the id of the row (you do have a unique ID for
each row, right?) and use it in your name, i.e.
" ... name=\"comment[$id]\" ... "
Now you can get the $_POST['comment'] array and check your key to get
the id of the row.
No javascript or DOM needed.
Of course, there are other ways, but I like this one.
--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstucklex@attglobal.net
==================
[Back to original message]
|