如何动态地以字母顺序显示订单列表?

时间:2017-11-17 12:23:26

标签: php css mysql codeigniter

代码:

<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。那么,我如何按字母顺序显示我的选项呢?请帮帮我。

谢谢

2 个答案:

答案 0 :(得分:1)

这是在CSS中使用list-style-type upper-alpha列表元素完成的。

https://developer.mozilla.org/en-US/docs/Web/CSS/list-style-type

你还应该知道,<ol>(或<ul>的唯一有效直接后代)是<li>,所以你的表与你的表混杂在一起没有好的标记。

例如:

&#13;
&#13;
ol {
  list-style-type: upper-alpha;
}
&#13;
<ol>
  <li>Answer 1</li>
  <li>Answer 2</li>
  <li>Answer 3</li>
</ol>
&#13;
&#13;
&#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>