Да, это один из тех вопросов формы флажка. Я стараюсь, чтобы мой вопрос был коротким и простым для понимания. У меня есть форма с 25 флажками, разделенными на 3 группы. Каждая группа дает разные баллы за каждую отмеченную ячейку. Группа1 = 5 баллов/чек | Группа 2 = 8 баллов/чек | Группа 3 = 12 очков/чек. Что я хочу сделать, так это подсчитать количество проверок при отправке, а затем добавить все к общему баллу. Простой? Новые флажки можно установить в любое время, что означает, что общий балл может увеличиться, и, чтобы упростить задачу, флажки нельзя снять, поэтому общий балл не может уменьшиться. Затем общий балл будет сохранен в таблице базы данных. Это то, что у меня есть прямо сейчас, это немного, но мне нужен новый взгляд на мою проблему. Уравнение кажется простым в моей голове, но я не могу представить его на бумаге.
....5points
<label for="first_name">first point</label>
<input type="checkbox" name="five[]" value="1" <?php if(isset($_POST['five'])) echo 'checked="checked"'; ?> />
<label for="first_name">sec point</label>
<input type="checkbox" name="five[]" value="1" <?php if(isset($_POST['five'])) echo 'checked="checked"'; ?> />
<label for="first_name">n point</label>
<input type="checkbox" name="five[]" value="1" <?php if(isset($_POST['five'])) echo 'checked="checked"'; ?> />
................8points
<label for="first_name">first point</label>
<input type="checkbox" name="eight[]" value="1" <?php if(isset($_POST['eight'])) echo 'checked="checked"'; ?> />
<label for="first_name">sec point</label>
<input type="checkbox" name="eight[]" value="1" <?php if(isset($_POST['eight'])) echo 'checked="checked"'; ?> />
....12points and so on
также я сохраняю поля как отмеченные с помощью кода Isset = checked. Это мое уродливое добавление общего балла:
$a =0;
$b =0;
$total;
if(isset($_POST['submitted']))
{
if (isset($_POST['five'])) {
foreach ($_POST['five'] as $five) {
$a + 5;
}
if (isset($_POST['eight'])) {
foreach ($_POST['eight'] as $eight) {
$b + 8;
}
$total=$total+$a+$b;
}
Но, конечно, это не помогает, а просто дает эхо-результат в виде 5555555 и 888888. Кроме того, я не хочу, чтобы моя сумма добавляла один и тот же результат дважды, как сейчас. Может ли кто-нибудь помочь мне разобраться с этой головоломкой?