On 3/11/2011 12:03 PM, Shawn McKenzie wrote:
> On 03/11/2011 01:28 PM, Danny wrote:
>> Hi guys,
>>
>> I have a form that has a long list of radio-bottons inside of it. The
>> radio-buttons are dynamically created via php and MySQL.
>>
>> Here is an example of one of the radio buttons:
>>
>> <input type="radio" name="<?php print ("radio_".$result_from_mysql) ; ?>" 
>> value="0">
>> <input type="radio" name="<?php print ("radio_".$result_from_mysql) ; ?>" 
>> value="1">
>>
>> Now, when I submit this form to another page for processing, how would I 
>> "catch"
>> the above radio-button's $_POST name since I do not know the name, only that 
>> it
>> starts with "radio_" ?
>>
>> Thank You
>>
>> Danny
> 
> The most common and flexible way to do this sort of thing is to use
> arrays instead:
> 
> <input type="radio" name="radio[<?php echo $result_from_mysql; ?>]"
> value="0">
> <input type="radio" name="radio[<?php echo $result_from_mysql; ?>]"
> value="1">
> 
> 
> Then:
> 
> foreach($_POST['radio'] as $key => $value) {
>    echo "radio for $key is $value";
> }

Your example would be good if the OP wanted checkbox'es.  But with radio
buttons, the whole point (most of the time) is to have the form only allow you
to have one of the radio input fields selected at any given time.  How you
showed it, it would not see the uniqueness of the radio button names, and
therefor allow more than one of the radio input fields to be selected at a time.

I would try something like this:

As long as this is correct:

<input type="radio" name="radio_<?php echo $result_from_mysql; ?>" value="0" 
/>Zero
<input type="radio" name="radio_<?php echo $result_from_mysql; ?>" value="1" 
/>One

Then I would do the following:

foreach ($_POST as $k => $v) {
  if ( strpos(trim($k), 'radio_') === 0 ) {
    echo $k.' is a match, and it\'s value is '.$v.'.<br/>'.PHP_EOL;
  }
}

Jim Lucas

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

Reply via email to