|
|
|
การดึงข้อมูลจากฐานข้อมูลออกมาโชว์โดยใช้ Codeigniter |
|
|
|
|
|
|
|
Code (PHP)
$this->load->database();
$this->db->where("id", $id);
$query = $this->db->get("table");
if ( $query->num_rows() > 0 ) {
$row = $query->row();
echo $row->field;
}
$query->free_result();
ประมาณนี้ครับ
http://codeigniter.com/user_guide/database/index.html
document ของมัน
|
|
|
|
|
Date :
2011-09-24 11:15:55 |
By :
mr.v |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณค่ะ
อันนี้ส่วนของ Controller ใช่ป่ะค่ะแล้วส่วนของ views จะประมาณไหนค่ะ คือข้อมูลที่ต้องการจะดึงออกมาฐานข้อมูลต้องการดึงเฉพาะบางคอลัมเท่านั้นค่ะและโชว์ออกมาเป็นตารางค่ะ
|
|
|
|
|
Date :
2011-09-24 11:20:22 |
By :
Yarindaaa |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ตรง $row->field ก็เลือกเอาครับว่าจะดึงฟิลด์ไหนในตารางออกมา
ในตัวอย่างของผมมันใช้ได้ทั้งใน controller และ model
อยู่ที่การส่งตัวแปรด้วยครับ
ถ้าสมมุติว่าเอาไปใช้ใน controller แล้วจะเอาแบบรวบรัด ประหยัดตัวแปรแล้วส่งเข้า views ก็แบบนี้
Code (PHP)
$this->load->database();
$query = $this->db->get("table");
if ( $query->num_rows() > 0 ) {
$output['dbrow'] = $query->result();
} else {
$output['dbrow'] = null;
}
$query->free_result();
$this->load->view("page", $output);// ส่งค่า $output['dbrow'] ออกไปทางตัวแปร $output รวดเดียวเลย
ข้างบนนี้คือใช้ใน controller และดึงข้อมูลมาแบบวนลูปเอาทีหลังนะครับ ($query->result()) ถ้าดึงข้อมูลมาแถวเดียวก็ใช้ ->row();
Code (PHP)
<?php if ( isset($dbrow) && is_array($dbrow) ): ?>
<?php foreach ( $dbrow as $key ): ?>
<?php echo $key->id . " - " . $key->field_name . "<br />"; ?>
<?php endforeach; ?>
<?php else: ?>
ไม่มีข้อมูล
<?php endif; ?>
ข้างบนนี่ใช้ใน views ครับ
|
|
|
|
|
Date :
2011-09-24 11:29:28 |
By :
mr.v |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณมากนะค่ะ
คือมือใหม่จริงๆค่ะ ไม่รู้ไรเลย ถ้าต้องเอามาใช้ในฐานข้อมูลของเราเองไอ้โค้ดที่ให้มาต้องเปลี่ยนตรงไหนบางค่ะหรือเอามาใช้ได้เลยและเราต้องเรียกผ่าน url ประมาณไหนค่ะ...รบกวนด้วยนะค่ะที่จะออกแสดงได้อ่ะค่ะ
|
|
|
|
|
Date :
2011-09-24 11:58:45 |
By :
Yarindaaa |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ก็ใช้ได้เลยนี่ครับ เพราะนั่นมันโค้ดจริงทำงานจริง แต่แค่เปลี่ยนพวกชื่อฟิลด์กับตารางเท่านั้น
แล้วจะมีเงื่อนไขอะไรก็ใส่ ->where() เข้าไปอ้างอิงตามคู่มือน่ะครับ
|
|
|
|
|
Date :
2011-09-24 14:00:30 |
By :
mr.v |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณค่ะ
ตรง table ชื่อ ตาราง ใช่ป่ะค่ะ
แล้วตรง dbrow ชื่อฟิลใช่ป่ะค่ะ
และถ้าเราจะแสดงทุกแถวในคอลัมที่เราเลือกนี้โค้ดตรงนี้ก็ใช้ได้เลยใช่ป่าวค่ะ
|
|
|
|
|
Date :
2011-09-24 14:11:57 |
By :
Yarindaaa |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
dbrow เป็นตัวแปรที่ส่งจาก controller ไปยัง view ครับ
field_name คือชื่อฟิลด์ครับ
ทดลองเขียนอย่างง่ายๆให้ตัวเองเข้าใจก่อนดีกว่าครับ เวลาทำจริงจะได้ไม่ยากเกินไป
|
ประวัติการแก้ไข 2011-09-24 14:23:55
|
|
|
|
Date :
2011-09-24 14:23:18 |
By :
mr.v |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองสร้าง folder demo สักอันใน localhost แล้วทดลองละเลงในนั้นให้เข้าใจหลักการแล้วการนำไปพลิกแพลงจะไม่ยากเลยครับ
|
|
|
|
|
Date :
2011-09-24 14:24:50 |
By :
mr.v |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ค่ะขอบคุณมากค่ะ
|
|
|
|
|
Date :
2011-09-24 14:27:10 |
By :
Yarindaaa |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ถ้าจะแสดงทุกแถว โดยไม่มีเงื่อนไขในการ query ก็เอาตามข้างบนนี้ได้เลย แก้ชื่อตาราง
แล้วในหน้า view ก็แก้ตรง $key->id กับ $key->field_name ไปตามชื่อฟิลด์ในตารางครับ จริงๆมันก็แก้แค่นิดเดียวแค่นั้น และมันก็มาพร้อมใช้อยู่แล้ว ไม่ได้มากมายเลยครับ
เช่นมีฟิลด์ id, name, phone ก็เขียนในหน้าview ภายใน foreach
echo $key->id." ".$key->name." ".$key->phone; ก็แค่นี้เองครับ มันมีเท่านี้แหละ
|
|
|
|
|
Date :
2011-09-24 14:59:06 |
By :
mr.v |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณมากค่ะ
|
|
|
|
|
Date :
2011-09-24 15:08:20 |
By :
Yarindaaa |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เดี๋ยวนี้มีคนเล่น Codeingniter กันเยอะจัง ไม่มีใครเล่น Zend กันบ้างเหรอครับ
|
|
|
|
|
Date :
2011-09-24 15:09:13 |
By :
adaaugusta |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ค่ะ..รับทราบค่ะ
ขอบคุณนะค่ะ
|
|
|
|
|
Date :
2011-09-24 15:11:52 |
By :
Yarindaaa |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
คุณ rin เรียนรู้ข้ามขั้นไปมันก็เลยติดขัดอย่างงี้อะครับ แรกๆต้องเรียนรู้การเรียก controller, model, view ให้เข้าใจก่อน เพราะมันคือพื้นฐานของ framework เลยนะครับ ถ้าไม่เข้าใจแล้วทำข้ามขั้นมันจะงงมากๆในแทบทุกขั้นตอน
งานเสร็จแล้วอย่าลืมเปิด document อ่านและทำเล่นๆดูนะครับ
พอคล่องจริงๆแล้วมันทำงานได้เร็วกว่าเขียน php ถึกๆหลายเท่าตัวเลยจริงๆ
|
|
|
|
|
Date :
2011-09-24 15:19:56 |
By :
mr.v |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ค่ะ..ขอบคุณค่ะสำหรับคำแนะนำดีๆ
|
|
|
|
|
Date :
2011-09-24 15:23:24 |
By :
Yarindaaa |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
มีเรื่องรบกวนถามอีกค่ะ..คือข้อมูลที่ได้มานะค่ะมันโชว์ได้แต่อย่างให้มันโชว์ในตารางค่ะ
มันจะโชว์ข้อมูลแบบนี้นะค่ะ
|
|
|
|
|
Date :
2011-09-27 10:05:13 |
By :
rin |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แต่อยากให้มันโชว์ในตารางแบบนี้พอจะทำได้ป่าวค่ะ
|
|
|
|
|
Date :
2011-09-27 10:07:17 |
By :
rin |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ช่วยแนะนำและขอโค้ดตัวอย่างด้วยนะค่ะ
ขอบคุณค่ะ
|
|
|
|
|
Date :
2011-09-27 10:08:53 |
By :
rin |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ก็เขียนผสมกับตารางสิครับ เหมือนกับการเขียนทั่วๆไปแหละ
<table>
<?php foreach ?>
<tr>
<td></td>
</tr>
<?php endforeach; ?>
</table>
|
|
|
|
|
Date :
2011-09-27 13:24:30 |
By :
mr.v |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
<?php if ( isset($dbrow) && is_array($dbrow) ): ?>
<table>
<?php foreach ( $dbrow as $key ): ?>
<tr>
<td><?php echo $key->id; ?></td>
<td><?php echo $key->field_name; ?></td>
</tr>
<?php endforeach; ?>
</table>
<?php else: ?>
ไม่มีข้อมูล
<?php endif; ?>
|
|
|
|
|
Date :
2011-09-27 14:44:12 |
By :
mr.v |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณค่ะ....เหมือนเดิมอ่ะค่ะไม่เปลี่ยนแปลง
|
|
|
|
|
Date :
2011-09-27 15:14:30 |
By :
Yarindaaa |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ใส่ border ให้ table ครับ
แวะมาแฮบ ความรู้ กำลังเล่นเหมือนกัน
|
|
|
|
|
Date :
2011-09-27 15:19:51 |
By :
ikikkok |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ทำขอบตารางแบบนั้นหรือว่ายังไงครับ? ตอนนี้ทำได้แบบไหนแล้ว?
ถ้าข้อมูลได้ถูกต้องแล้ว ก็ใส่ style เอาครับ
อย่างเช่น กำหนด class="datatable" ให้ตาราง
แล้วไปกำหนดใน css เอาประมาณนี้
.datatable {
border:1px solid;
border-collapse:collapse;
width:100%;
}
.datatable td {border:1px solid; padding:3px;}
|
|
|
|
|
Date :
2011-09-27 16:27:30 |
By :
mr.v |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณค่ะ..ทำได้แล้ว
|
|
|
|
|
Date :
2011-09-28 08:21:50 |
By :
Yarindaaa |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
คุณ mr.v ค่ะถ้าหน้าเว็บมันไม่ขึ้นภาษาไทยแบบนี้อ่ะค่ะ
จะแก้ให้เป็นภาษาไทยไงค่ะ
|
|
|
|
|
Date :
2011-09-29 08:37:22 |
By :
Yarindaaa |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
โค้ดมันเป็นอย่างนี้ค่ะ
|
ประวัติการแก้ไข 2011-09-29 08:40:17
|
|
|
|
Date :
2011-09-29 08:39:06 |
By :
Yarindaaa |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ส่วน view save encoding utf-8
|
|
|
|
|
Date :
2011-09-29 08:44:34 |
By :
kalamell |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ได้แล้วค่ะ..ขอบคุณค่ะ
|
|
|
|
|
Date :
2011-09-29 09:01:14 |
By :
Yarindaaa |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
mr.v ยอดเยี่ยมมากเลยครับ ขอบคุณ
|
|
|
|
|
Date :
2011-09-29 14:52:07 |
By :
ผ่านมาเก็บ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
คุณ mr.v ค่ะถ้าเราจะเพิ่มข้อมูลลงฐานข้อมูลล่ะค่ะจะเขียนโค้ดประมาณไหน
นี้คือแบบฟอร์มค่ะ
|
|
|
|
|
Date :
2011-10-04 15:15:41 |
By :
Yarindaaa |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
โดยใช้ Codeigniter นะค่ะ
ขอโค้ด search ด้วยก็ดีนะค่ะตอนนี้ยังทำเพิ่มข้อมูลกับ search ยังไม่ได้เลยค่ะ
ขอบคุณค่ะ
|
|
|
|
|
Date :
2011-10-04 15:19:10 |
By :
Yarindaaa |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ตัวอย่าโค้ด insert ลงฐานข้อมูล
Code (PHP)
$this->db->set("field_name1", "value");
$this->db->set("field_name2", "value");
$this->db->insert("table");
// รับค่า id ของฟิลด์ที่เป็น primary key มาเพื่อเอาไปใช้อย่างอื่นก็ต่อบรรทัดล่างนี้
$inserted_id = $this->db->insert_id();
ตัวอย่างโค้ด update
Code (PHP)
$this->db->set("field_name1", "value");
$this->db->set("field_name2", "value");
$this->db->where("id", 14);
$this->db->update("table");
ตัวอย่างโค้ด search
Code (PHP)
$this->db->like("field", "match");
$this->db->or_like("field2", "match");
$query = $this->db->get("table");
if ( $query->num_rows() > 0 ) {
$output['dbresult'] = $query->result();
}
การ search ด้วย like นั้นมันมีหลายวิธี มี like(), or_like(), not_like()
แล้วใน like() ก็มีทั้ง before('%match'), after('match%')
ลองเปิดลิ้งค์คู่มือดูรายละเอียดเพิ่มเติมครับ
|
|
|
|
|
Date :
2011-10-04 15:39:54 |
By :
mr.v |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แอบมาดูดความรู้ ขอบคุณมากนะคะ เยี่ยมเลย
|
|
|
|
|
Date :
2011-12-15 14:53:48 |
By :
uu |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Codeigniter
ขอโค้ด search หน่อยครับ
|
|
|
|
|
Date :
2013-12-25 13:43:11 |
By :
อาทร |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผมใช้แบบนี้ตลอด
$this->db->query('SELECT * FROM .... ');
|
|
|
|
|
Date :
2013-12-25 16:47:12 |
By :
numton |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 03
|