代码:
<table width="100%" cellspacing="0" cellpadding="0" border="0" style="line-height: 1.7;">
<tbody>
<?php
$this->db->select('*');
$this->db->from('cm_options');
$where = "qid = '$qid'";
$this->db->where($where);
$sql = $this->db->get();
//echo $this->db->last_query();
$res = $sql->result_array();
foreach($res as $rows)
{
$option = $rows['q_option'];
?>
<tr>
<ol type="A">
<td width="5%">
<li><a href="javascript:void(0)"><input type="radio" name="radio_btn"></a></li>
</td>
</ol>
<td width="99%"><?php echo $option; ?></td>
</tr>
<?php
}
?>
</tbody>
</table>
在这段代码中,我创建了客观类型问题表单,其中选项显示完美。现在,我想以字母顺序显示所有选项,如A,B,C,D,但现在,它显示点而不是A,B,C,D。那么,我如何按字母顺序显示我的选项呢?请帮帮我。
谢谢
答案 0 :(得分:1)
这是在CSS中使用list-style-type
upper-alpha
列表元素完成的。
https://developer.mozilla.org/en-US/docs/Web/CSS/list-style-type
你还应该知道,<ol>
(或<ul>
的唯一有效直接后代)是<li>
,所以你的表与你的表混杂在一起没有好的标记。
例如:
ol {
list-style-type: upper-alpha;
}
&#13;
<ol>
<li>Answer 1</li>
<li>Answer 2</li>
<li>Answer 3</li>
</ol>
&#13;
您还需要确保您的开始和结束有序列表标签不在您的foreach循环之内,否则您将在循环的每次迭代中以新列表结束,并且所有项目都将具有&#39; A&#39 ;因为从技术上讲,你会有一堆列表,每个列表都包含一个项目。
<ol>
<?php foreach($res as $rows) { ?>
<li>...</li>
<?php } ?>
</ol>
答案 1 :(得分:0)
如何使用order by(也更改了$this->db->where()
以避免sql注入):
<table width="100%" cellspacing="0" cellpadding="0" border="0" style="line-height: 1.7;">
<tbody>
<?php
$this->db->select('*');
$this->db->from('cm_options');
$this->db->where('qid', $qid);
$this->db->order_by('q_option', 'ASC');
$sql = $this->db->get();
//echo $this->db->last_query();
$res = $sql->result_array();
foreach($res as $rows)
{
$option = $rows['q_option'];
?>
<tr>
<ol type="A">
<td width="5%">
<li><a href="javascript:void(0)"><input type="radio" name="radio_btn"></a></li>
</td>
</ol>
<td width="99%"><?php echo $option; ?></td>
</tr>
<?php
}
?>
</tbody>
</table>