Хорошо, я не уверен, как объяснить, что я хочу (возможно, почему я не могу понять, как это сделать), но в основном у меня есть следующая форма html:
<p class="ratingButtons">
<input type="radio" class="spacing" name="moRating1" value="1">1
<input type="radio" class="spacing" name="moRating1" value="2">2
<input type="radio" class="spacing" name="moRating1" value="3">3
<input type="radio" class="spacing" name="moRating1" value="4">4
<input type="radio" class="spacing" name="moRating1" value="5">5
<input type="radio" class="spacing" name="moRating1" value="6">6
</p>
То, что я хочу сделать, это какой-то цикл PHP для печати в зависимости от того, какой из них выбран, а затем превратить его в функцию, чтобы я мог повторно использовать его для разных вопросов (например, ниже), поэтому сокращение количества HTML используется..
<p class="ratingButtons">
<input type="radio" class="spacing" name="moRating2" value="1">1
<input type="radio" class="spacing" name="moRating2" value="2">2
<input type="radio" class="spacing" name="moRating2" value="3">3
<input type="radio" class="spacing" name="moRating2" value="4">4
<input type="radio" class="spacing" name="moRating2" value="5">5
<input type="radio" class="spacing" name="moRating2" value="6">6
</p>
Есть идеи? или подсказки, im довольно новый для php, так как новичок дружелюбный, насколько возможно, пожалуйста! Заранее спасибо!
Ваша функция может выглядеть примерно так:
function generateRadioButtons($name, $values = 6) {
$o = '<p class="ratingButtons">' . "\n";
for ($v = 1; $v <= $values; $v++) {
$selected = !empty($_POST[$name]) && $_POST[$name] == $v ? ' checked="checked"' : '';
$o.= '<input type="radio" class="spacing" name="' . $name . '" value="' . $v . '"' . $selected . '>' . $v . "\n";
}
$o.= '</p>' . "\n";
return $o;
}
И с помощью этой функции вы можете легко выводить свои параметры:
echo generateRadioButtons('moRating1');
echo generateRadioButtons('moRating2');
Демо.
Это так просто:
<?php
function radio_selected($selected,$array){
$len=count($array);
for($i=0;$i < $len;++$i){
$num=$i+1;
$class=($selected==$array[$i])?'checked="checked"':'';
$a.='<input type="radio" class="spacing" name="moRating'.$num.'" value="'.$num.'"'.$class.'> '.$num;
}
return $a;
}
// --- And you can use it now
$array=Array('a','b','c');
$selected=$_POST['b']; // For example b
echo radio_selected($selected,$array);
?>
$options- Нет параметров, которые вы хотите
$sel_val- Выбранное значение голосования для его выбора
$ name - Название, из которого вы хотите, чтобы значения в сообщении
function rating_buttons($options,$sel_value,$name)
{
$output ='<p class="ratingButtons">';
for($i=0;$i<$options;$i++)
{
$value=$i+1;
$output .= '<input type="radio" class="spacing" ';
if($sel_value==$value)
$output .='checked="Checked"';
else
$output .='';
$output .='name="'.$name.'" value="'.$value.'">'.$value;
}
$output .='</p>';
echo $output;
}
rating_buttons(5,3,'abc');
$v
- это переменная счетчика, используемая для цикла.$o
- это переменная, в которой хранится HTML.