У меня есть три элемента (радиокнопки), каждый из которых имеет свой идентификатор и классы.
Проще говоря, их всего 1, 2, 3, но на одной странице больше групп радиокнопок, я зацикливаю их, поэтому мне нужно, чтобы в следующей группе было 4 5 6, а затем 7 8 9.
Я пытался сделать это с помощью следующего кода: "
$een = 1;
$twee = 2;
$drie = 3;
$getcats = 'SELECT * FROM questioncat WHERE tid = "'.$conn->real_escape_string($gettemplate['id']).'" ORDER BY id';
$getcatscon = $conn->query($getcats);
while($getcats = $getcatscon->fetch_assoc()){
$werkplekinspectie .= '
<label class = "categorytitle">'.$getcats['title'].'</label>
<div class = "row">';
$getquestions = 'SELECT * from questions WHERE catid = "'.$getcats['id'].'"';
$getquestionscon = $conn->query($getquestions);
while($getquestions = $getquestionscon->fetch_assoc()){
$werkplekinspectie .= '
<div class = "col-md-8">
<p class = "questionclass">'.$getquestions['question'].'</p>
</div>
<div class = "col-md-4">
<div class = "container text-right">
<input type = "radio" name = "group'.$een.'" id = "radio-'.$een.'" value = "ok">
<label class = "radiotoggle" for = "radio-'.$een.'"><span class = "radio">Ok</span></label>
<input type = "radio" name = "group'.$een.'" id = "radio-'.$twee.'" value = "fout">
<label class = "radiotoggle" for = "radio-'.$twee.'"><span class = "radio">Fout</span></label>
<input type = "radio" name = "group'.$een.'" id = "radio-'.$drie.'" value = "nvt">
<label class = "radiotoggle" for = "radio-'.$drie.'"><span class = "radio">N.v.t</span></label>
</div>
</div>';
$een++;
$twee++;
$drie++;
}
$werkplekinspectie .= '
</div>';
}
Но радиокнопки, расположенные ниже, запускают первую группу радиокнопок. Что я делаю неправильно?






Вам было бы лучше с 1 счетчиком и каждый раз добавлять соответствующее смещение ...
$offsetID = 1;
а потом
<div class = "container text-right">
<input type = "radio" name = "group'.$een.'" id = "radio-'.$offsetID.'" value = "ok">
<label class = "radiotoggle" for = "radio-'.$een.'"><span class = "radio">Ok</span></label>
<input type = "radio" name = "group'.$een.'" id = "radio-'.($offsetID+1).'" value = "fout">
<label class = "radiotoggle" for = "radio-'.$twee.'"><span class = "radio">Fout</span></label>
<input type = "radio" name = "group'.$een.'" id = "radio-'.($offsetID+2).'" value = "nvt">
<label class = "radiotoggle" for = "radio-'.$drie.'"><span class = "radio">N.v.t</span></label>
</div>
затем добавляйте к нему 3 каждый раз ...
$offsetID+=3;
С вашей текущей настройкой - вы должны добавить 3 к каждому счетчику, а не просто увеличивать их ...
$een+=3;
$twee+=3;
$drie+=3;
Мой PHP довольно ржавый, но вы можете справиться с этим с помощью одной переменной счетчика, не беспокоясь об увеличении по разделам ...
$counter = 0;
$arr = array(1, 2, 3, 4);
foreach ($arr as &$value) {
print '<h2>'. $value . '</h2>'. $counter++ . ' ' . $counter++ . ' ' . $counter++;
}
как насчет создания счетной переменной вне цикла (ов), в котором вы генерируете HTML? будет менее привлекательно, если вы будете увеличивать его перед каждым использованием; однако вы сможете управлять только одной переменной.