我想要发生的是......我知道如果进入了foreach,但我似乎无法开始工作。请帮我。
GDESCRIP
代码,描述
代码,描述
代码,描述
GDESCRIP
代码,描述
代码,描述
代码,描述
$query = "Select gdescrip, code, descrip from sometable group by gdescrip order by code";
$result = $conn->query($query);
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_array())
{
$rows[$row['gdescrip']][] = $row['code'];
}
foreach($rows as $key => $category)
echo '<strong>' .$key. '</strong><br />';
foreach($category as $item)
{
echo '<input type="radio" name="'.$item.'">' . $item .' </input><br/>';
}
}
else {
echo "0 results";
}
答案 0 :(得分:1)
您没有将$row['descrip']
放入$rows
。最简单的方法是向$rows
添加另一个维度,并将查询返回的整行放入该维度。
while ($row = $result->fetch_array()) {
$rows[$row['gdescrip'][] = $row;
}
第二个foreach
循环需要嵌套在第一个循环中。
foreach ($rows as $key => $category) {
echo "<strong>$key</strong><br/>";
foreach ($category as $item) {
echo "<input type='radio' name='{$item['code']}'>{$item['code']} {$item['descrip']}<br/>";
}
}
并没有</input>
这样的东西; <input>
是自动关闭的,它不包含其他元素。
答案 1 :(得分:0)
这是我能够工作的。显然它不是mysqli但显然我只是不太了解mysqli来改变这个脚本以便它确实有效。有人请随时指出我错过了mysqli转换的地方。提前感谢您的知识。
$categories = array();
$result = select statement;
while($row = mysql_fetch_assoc($result)){
$categories[$row['gdescrip']][] = $row;
}
foreach($categories as $key => $category){
echo '<strong>' .$key. '</strong><br/>';
foreach($category as $item){
$key = str_replace(' ',"_",$key);
echo '<input type="radio" name="'.$key.'" value="'.$item['code'].'">' .$item['code'] . $item['DESCRIP'] . '<br/>';
}
}