duang5049 2015-03-18 21:25
浏览 20
已采纳

返回结果表单查询 - 仅显示在一行上

it's simple, but I can't do it. I have a query and I want query result to be shown only once. In my code, name of the course is shown so many times as my rows are. I use Codeigniter. My code is:

foreach ($timetable as $row) {
    echo $row->course_name;  
} 

My query is:

public function select_timetable() {

        $this->db->select('sequence_num, topic, courses_specific_id, courses_common.course_name,
        courses_specific.course_place, courses_common.courses_common_id, timetable.timetable_id');
        $this->db->from('timetable');  
        $this->db->join('courses_common', 'courses_common.courses_common_id=timetable.courses_common_id');
        $this->db->join('courses_specific', 'courses_specific.courses_common_id=courses_common.courses_common_id');

        $this->db->where('courses_specific_id', $this->input->post('courses_specific_id'));
        $result=$this->db->get();
              return $result->result();
    }

And the result of var_dump($timetable[0]) is:

object(stdClass)#27 (7) { 
    ["sequence_num"]=> string(1) "1" 
    ["topic"]=> string(10) "HTML tags " 
    ["courses_specific_id"]=> string(1) "1" 
    ["course_name"]=> string(4) "HTML" 
    ["course_place"]=> string(6) "Center" 
    ["courses_common_id"]=> string(1) "1" 
    ["timetable_id"]=> string(1) "1" 
} 

HTMLobject(stdClass)#27 (7) { 
    ["sequence_num"]=> string(1) "1" 
    ["topic"]=> string(10) "HTML tags " 
    ["courses_specific_id"]=> string(1) "1" 
    ["course_name"]=> string(4) "HTML"
    ["course_place"]=> string(6) "Center"
    ["courses_common_id"]=> string(1) "1" 
    ["timetable_id"]=> string(1) "1" 
} 

HTMLobject(stdClass)#27 (7) { 
    ["sequence_num"]=> string(1) "1" 
    ["topic"]=> string(10) "HTML tags "
    ["courses_specific_id"]=> string(1) "1" 
    ["course_name"]=> string(4) "HTML" ["course_place"]=> string(6) "Center" ["courses_common_id"]=> string(1) "1" ["timetable_id"]=> string(1) "1" } HTML
  • 写回答

1条回答 默认 最新

  • doudang4857 2015-03-18 22:02
    关注

    To access the the results you have to do something like:

    <?php
    foreach ($timetable->result() as $row)
    {      
     echo $row->course_name;  
    } 
    ?>
    

    If you wanted to only show one row you would need to do something like:

    if ($timetable->num_rows() > 0)
    {
    $row = $timetable->row_array(); 
      echo $row['course_name'];
    }
    

    You can also walk through your different rows like:

    $row = $timetable->first_row()
    $row = $timetable->last_row()
    $row = $timetable->next_row()
    $row = $timetable->previous_row()
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 python的qt5界面
  • ¥15 无线电能传输系统MATLAB仿真问题
  • ¥50 如何用脚本实现输入法的热键设置
  • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
  • ¥30 深度学习,前后端连接
  • ¥15 孟德尔随机化结果不一致
  • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀
  • ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100