我试图从mysql数据库中获取结果以正确格式化为列,但无法弄清楚如何执行此操作。以下是我需要它的样子。
<div class="box">
<div class="row">
<input name="1" type="radio" id="1" class="radio" />
<label for="1">Result 1</label>
</div>
<div class="row">
<input name="3" type="radio" id="3" class="radio" />
<label for="3">Result 3</label>
</div>
<div class="box">
<div class="row">
<input name="2" type="radio" id="2" class="radio" />
<label for="2">Result 2</label>
</div>
<div class="row">
<input name="4" type="radio" id="4" class="radio" />
<label for="4">Result 4</label>
</div>
目前我只能使用以下内容进入一列:
<div class="box">
<?php
foreach($roles as $row){
echo '<div class="row">';
echo ' <input name="_'.$row->key.'" type="radio" id="'.$row->key.'" class="radio" />';
echo ' <label for="'.$row->key.'" style="text-transform: lowercase;">'.$row->name.'</label>';
echo '</div>';
}
?>
任何帮助都会很棒。
干杯
答案 0 :(得分:1)
您应该使用 if 语句检查键是奇数还是偶数。这不是一个非常干净的解决方案,但是:
<?php
foreach($roles as $row){
if($row->key%2 == 1) {
echo '<div class="row">';
echo ' <input name="_'.$row->key.'" type="radio" id="'.$row->key.'" class="radio" />';
echo ' <label for="'.$row->key.'" style="text-transform: lowercase;">'.$row->name.'</label>';
echo '</div>';
}
}
echo "</div><div class=\"box\">";
foreach($roles as $row) {
if($row->key%2 == 0) {
echo '<div class="row">';
echo ' <input name="_'.$row->key.'" type="radio" id="'.$row->key.'" class="radio" />';
echo ' <label for="'.$row->key.'" style="text-transform: lowercase;">'.$row->name.'</label>';
echo '</div>';
}
}
?>
答案 1 :(得分:0)
这是一个想法(没有考虑因素,我正在尝试编写最具说明性的代码......) 基本上,在每一行上,将$ i递增一。如果我们有两行,则关闭div,并在下一次迭代时打开一个新的div。
<?php
$i = 0;
$output = "";
foreach($roles as $row){
if($i > 1) {
$i = 0;
}
if($i == 0) {
// Open the div
$output .= "<div class='box'">;
}
$output .= '<div class="row">';
$output .= ' <input name="_'.$row->key.'" type="radio" id="'.$row->key.'" class="radio" />';
$output .= ' <label for="'.$row->key.'" style="text-transform: lowercase;">'.$row->name.'</label>';
$output .= '</div>';
if($i == 0) {
// Close the div
$output .= "</div>";
}
$i++;
}
if($i != 1) {
// We need an extra one here, just in case the loop finished on
// an odd number.
$output .= "</div>";
}
echo $output;
?>