วิธีทำ dropdown โดยการ ดึงข้อมูลมาจาก database ทำยังงัยหรอคะ


วิธีทำ dropdown โดยการ ดึงข้อมูลมาจาก database ทำยังงัยหรอคะ


ขอความช่วยเหลือหน่อยค่ะ ติดปัญหาที่ dropdown อ่าค่ะ

พอดีว่าจะทำ dropdown โดยดึง ข้อมูลจาก database มาแสดงค่ะ


เขียน code ไว้แบบนี้ค่ะ


controller
********************
public function search_skill()
{
$sql = "select * from technical_skill";


$rs = $this->db->query($sql);
$data = $rs->result_array();
$this->load->view('booking',$data);
}




view
********************
<?php echo form_open('booking_control/search_skill'); ?>
<table width="800" border="0">
<tr>
<td>Skill :</td>
<td>
<select name "skill" id="skill" width="600"
<option selected="selected" value="-1">-- Please Select --</option>
<?php
foreach($rs as $r)
echo "<option value=".$r. ">".$r."</option>";
?>
</select>
<td>
<td><button type="submit" name="search" id="search">Search</button></td>
</tr>
</table>

จากนั้น รันบน localhost แล้ว ในหน้า view จะไม่แสดงรายการใน dropdown ค่ะ ต้องกดปุ่ม search ก่อน ถึงจะมีรายการค่ะ

ไม่ทราบว่าจะต้องใช้วิธีไหนที่จะให้แสดงรายการใน dropdown ขึ้นมาก่อนค่ะ





โพสเมื่อ : 2013-09-07 21:11:32 | 5 ปี , 1 เดือน, 1 สัปดาห์, 6 วัน , 4 ชั่วโมง ผ่านมา
แนะนำให้เขียนตามนี้น่าจะดีกว่านะครับ

controller

$this->db->select('field1,field2');
$data['selectbox'] = $this->db->get('technical_skill');
$this->load->view('booking',$data);


view

<select name "skill" id="skill" width="600">
<option selected="selected" value="-1">-- Please Select --</option>
<?php
foreach($selectbox->result() as $r)
echo "<option value=".$r->field1. ">".$r->field2."</option>";
?>
</select>

field1,field2 คือคอลั่มข้อมูลของ database นะครับ

ลำดับ : 1 | ตอบเมื่อ : 2013-09-08 00:46:22 | 5 ปี , 1 เดือน, 1 สัปดาห์, 6 วัน ผ่านมา

ลองแล้วนะคะ

มันยังติด error

Fatal error: Call to a member function result() on a non-object

ที่ บรรทัดนี้ อ่าค่ะ ---> foreach($selectbox->result() as $r)

ลำดับ : 2 | ตอบเมื่อ : 2013-09-08 14:13:07 | 5 ปี , 1 เดือน, 1 สัปดาห์, 5 วัน , 11 ชั่วโมง ผ่านมา

$query = $this->db->query("YOUR QUERY");

foreach ($query->result() as $row)
{
echo $row->title;
echo $row->name;
echo $row->body;
}
โคดนี้ของคุณทำงานได้รึปล่าวครับ
คุณใช้ database อะไรหรอครับ ปรกติ result() จะตั้งทำงานได้นะครับ

ลำดับ : 3 | ตอบเมื่อ : 2013-09-08 17:23:26 | 5 ปี , 1 เดือน, 1 สัปดาห์, 5 วัน , 7 ชั่วโมง ผ่านมา

ฝากเว็บไซต์หางาน part time งาน event งานห้างสรรพสินค้า Mc Donald งานสำหรับนักศึกษา งานฝีมือทำที่บ้าน ฯลฯ เรารวมไว้ให้คุณแล้วที่นี่ >> http://www.parttimepantip.com/

ลำดับ : 4 | ตอบเมื่อ : 2016-02-19 12:26:44 | 2 ปี , 5 เดือน , 2 สัปดาห์ , 12 ชั่วโมง ผ่านมา

//controller
public function search_skill()
{

$skills = array();
$rs = $this->db->get('skill_table');

foreach ($rs->result() as $row)
$skills = $row->skill_name;

$this->load->view('booking',array('skills' => $skills));
}


/// view
<?php echo form_dropdown('skill', $skills, '', ''); ?>

ลำดับ : 5 | ตอบเมื่อ : 2016-02-24 12:52:57 | 2 ปี , 5 เดือน , 1 สัปดาห์, 2 วัน , 12 ชั่วโมง ผ่านมา

//controller
public function search_skill()
{

$skills = array();
$rs = $this->db->get('skill_table');

foreach ($rs->result() as $row)
$skills = $row->skill_name;

$this->load->view('booking',array('skills' => $skills));
}


/// view
<?php echo form_dropdown('skill', $skills, '', ''); ?>


ค่า Array โดนตัดออกครับ
//$skills = $row->skill_name;
ความจริงคือ $skills เป็น Array เก็บรายการ skill โดยใช้ skill_id เป็น index_key และ skill_name เป็น Value

ลำดับ : 6 | ตอบเมื่อ : 2016-02-24 12:56:39 | 2 ปี , 5 เดือน , 1 สัปดาห์, 2 วัน , 12 ชั่วโมง ผ่านมา
เข้าสู่ระบบ
คงสถานะการเข้าระบบ