Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,038

HOME > PHP > PHP Forum > แจกเผื่อใครอยากใช้ อยากเอาไปปรับหรือ เอาไว้เป็นแนวทาง Class Connect Database แบบ mysqli


[PHP] แจกเผื่อใครอยากใช้ อยากเอาไปปรับหรือ เอาไว้เป็นแนวทาง Class Connect Database แบบ mysqli

 
Topic : 123485



โพสกระทู้ ( 1,150 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook


Code (PHP)
001.<?php
002. 
003.class clsConnect{
004.  public $table = '';
005. 
006.  public function __construct(){
007.    $this->db = mysqli_init();
008.    $this->db->options(MYSQLI_OPT_CONNECT_TIMEOUT, 3600);
009.    $this->db->real_connect('localhost', 'root', 'root', 'test');
010.    $this->db->set_charset('utf8');
011. 
012.    }
013.   
014.  public function SelectAll($table, $where=array(), $orderby='', $limit=''){
015. 
016.    if(!empty($where)){
017.      foreach((array)$where as $i => $item){
018.        $item = $this->db->real_escape_string($item);
019.        $qrywhere .= "$i = '$item' AND ";
020.      }
021.    }
022.    if(!empty($orderby)){
023.      $orderby = "ORDER BY $orderby";
024.    }
025.    if(!empty($limit)){
026.      $limit = "LIMIT $limit";
027.    }
028.        $sql="
029.      SELECT *
030.      FROM $table
031.      WHERE
032.        $qrywhere
033.        1
034.      $orderby
035.      $limit
036.    ";
037.     
038.    $result = array();
039.    $query = $this->db->query($sql);
040.    $result['num'] = $query->num_rows;
041.    while (($item = $query->fetch_assoc())) {
042.      $result['row'][] = $item;
043.    }
044. 
045.        return $result;
046.    $result->free();
047.  }
048.   
049.  public function SelectOne($table, $where=array(), $orderby=''){
050. 
051.    if(!empty($where)){
052.      foreach((array)$where as $i => $item){
053.        $item = $this->db->real_escape_string($item);
054.        $qrywhere .= "$i = '$item' AND ";
055.      }
056.    }
057.    if(!empty($orderby)){
058.      $orderby = "ORDER BY $orderby";
059.    }
060. 
061.        $sql="
062.      SELECT *
063.      FROM $table
064.      WHERE
065.        $qrywhere
066.        1
067.      $orderby
068.      LIMIT 0,1
069.    ";
070.     
071.    $result = array();
072.    $query = $this->db->query($sql);
073.    $result['row'] = $query->fetch_assoc();
074.    $result['num'] = $query->num_rows;
075.     
076.        return $result;
077.    $result->free();
078.  }
079.   
080.  public function Insert($table='', $data=array()){
081.    if(!empty($data)){
082.      $attribute_arr = array();
083.      $values_arr = array();
084.       
085.      foreach($data as $fields => $val){
086.        $attribute_arr[] = $fields;
087.        $values_arr[] ="'".$this->db->real_escape_string($val)."'";
088.      }
089.      $attribute = implode(',', $attribute_arr);
090.      $values = implode(',', $values_arr);
091.      $sql="
092.        INSERT INTO $table ($attribute)
093.        VALUES($values);
094.      ";
095.      $query = $this->db->query($sql);
096.      if($query){
097.        $result['success'] = 'OK';
098.        $result['code'] = $this->db->insert_id;
099.      }else{
100.        $result['success'] = 'FAIL';
101.        $result['error'] = $this->db->error;
102.      }
103.       
104.    }else{
105.            $result['success'] = 'FAIL';
106.      $result['error'] = 'NOT FOUND DATA';
107.    }
108.     
109.    return $result;
110.    
111.   
112.  public function Update($table='', $data=array(), $where=array()){
113.    if(!empty($data)){
114.      $attribute_arr = array();
115.      $where_arr = array();
116.       
117.      foreach($data as $fields => $value){
118.        $value = $this->db->real_escape_string($value);
119.        $attribute_arr[] = " $fields = '$value' ";
120.      }
121.      foreach($where as $fields => $value){
122.        $value = $this->db->real_escape_string($value);
123.        $where_arr[] = " $fields = '$value' ";
124.      }
125.      $attribute = implode(', ', $attribute_arr);
126.      $whereqry = implode(' AND ', $where_arr);
127.       
128.      $sql="
129.        UPDATE $table SET
130.          $attribute
131.        WHERE
132.          $whereqry
133.      ";
134. 
135.       
136.      $query = $this->db->query($sql);
137.      if($query){
138.        $result['success'] = 'OK';
139.      }else{
140.        $result['success'] = 'FAIL';
141.        $result['error'] = $this->db->error;
142.      }
143.    }else{
144.            $result['success'] = 'FAIL';
145.      $result['error'] = 'NOT FOUND DATA';
146.    }
147.     
148.    return $result;
149.    
150.   
151.  public function Delete($table='', $where=array()){
152.    if(!empty($where)){
153.      $where_arr = array();
154.       
155.      foreach($where as $fields => $value){
156.        $value = $this->db->real_escape_string($value);
157.        $where_arr[] = " $fields = '$value' ";
158.      }
159.      $whereqry = implode(' AND ', $where_arr);
160.       
161.      $sql="
162.        DELETE FROM
163.          $table
164.        WHERE
165.          $whereqry
166.      ";
167. 
168.      $query = $this->db->query($sql);
169.      if($query){
170.        $result['success'] = 'OK';
171.      }else{
172.        $result['success'] = 'FAIL';
173.        $result['error'] = $this->db->error;
174.      }
175.    }else{
176.            $result['success'] = 'FAIL';
177.      $this->error[] = 'NOT FOUND DATA';
178.    }
179.     
180.    return $result;
181.    
182. 
183.}
184. 
185.$db = new clsConnect();
186. 
187.?>




Tag : PHP, MySQL, HTML/CSS

Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2016-06-22 17:48:29 By : progamer2000 View : 5603 Reply : 31
 

 

No. 1



โพสกระทู้ ( 1,150 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

วิธีใช้งาน

การ Select แบบทั้งหมด

Code (PHP)
1.$result = $db->SelectAll('table',array('เงื่อนไข'=>'xxxx'));


การ insert

Code (PHP)
1.$db->Insert('table',array('ข้อมูล'=>'xxxx'));
2. 
3.หรือ
4.$data['field'] = 'ก';
5.$data['field2'] = 'ข';
6.$db->Insert('table',$data);


การอัพเดท
Code (PHP)
1.$db->Update('table',array('ข้อมูล'=>'xxxx'),array('code'=>xxx));



ลองใช้ดูสำหรับมือใหม่ครับ code ไม่ยาก ค่อนข้างจะพื้นฐาน สามารถไปปรับแต่ง ลองเขียนเพิ่ม ได้ง่าย


ประวัติการแก้ไข
2016-06-23 16:27:12
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-06-22 17:59:59 By : progamer2000
 

 

No. 2



โพสกระทู้ ( 1,096 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


เยี่ยมเหมาะสำหรับคนที่ไม่ชอบเฟรมเวิร์ค และเรียนรู้สำหรับการเขียนแบบ OOP แทนแบบโบราณๆ สักที
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-06-23 09:06:52 By : compiak
 

 

No. 3



โพสกระทู้ ( 5,105 )
บทความ ( 4 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

สถานะออฟไลน์


ว่าง ๆ เมื่อไร เขียนเป็น "บทความ" เลยครับ ขอชื่นชมและนับถือครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-06-23 09:12:24 By : apisitp
 

 

No. 4



โพสกระทู้ ( 74,059 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

ผมชอบเทคนิคแบบนี้แหละครับ ต่อยอดได้
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-06-23 09:16:15 By : mr.win
 

 

No. 5

Guest


อยากทำมั้ง แต่ยังทำไม่เสร็จ ง่วง

ขาด insert update delete transection

index.php
01.<?php
02. 
03.// autoload
04.spl_autoload_extensions(".php");
05.spl_autoload_register();
06. 
07.use classes\database;
08. 
09.$skins = database::table("colors")
10.    ->select(['id', 'name'])
11.    ->where('id', '=', 1)
12.    ->orWhere('id', '>', 5)
13.    ->get();
14. 
15.foreach ($colors as $color) {
16.    echo $colors->id . " - " . $colors->name . '<br />';
17.}
18. 
19.// output
20.// ================
21.// 1 - ฟ้า
22.// 6 - เหลือง
23.// 7 - ฟ้าสว่าง
24.// 8 - ขาวสว่าง
25.// 9 - เขียวสว่าง
26.// 10 - ม่วงสว่าง
27.// 11 - แดงสว่าง
28.// 12 - เหลืองสว่าง

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-06-23 14:11:36 By : ห้ามตอบเกินวันละ 2 กระทู้
 

 

No. 6

Guest


class ต่างๆ ที่ใช้

config.php
01.<?php
02. 
03.namespace classes;
04. 
05.trait config
06.{
07.    public function configuration() {
08.        return [
09.            'host' => 'localhost',
10.            'database' => 'mydatabase',
11.            'username' => 'root',
12.            'password' => 'mysql57',
13.        ];
14.    }
15.}


database.php
01.<?php
02. 
03.namespace classes;
04. 
05.class database
06.{
07.    public static function table($table) {
08.        return new table($table);
09.    }
10.}


table.php
001.<?php
002. 
003.namespace classes;
004. 
005.class table
006.{
007.    use config, query {
008.        query::__construct as private __queryConstruct;
009.    }
010. 
011.    protected $table;
012.    protected $commands;
013. 
014.    public function __construct($table) {
015.        $this->table = $table;
016.        $this->commands = [];
017.        $this->__queryConstruct($this->configuration());
018.    }
019. 
020.    public function all() {
021.        $this->add([
022.            'condition' => false,
023.            'command' => "select * from {$this->table};",
024.            'values' => []
025.        ]);
026. 
027.        return $this->get();
028.    }
029. 
030.    public function first() {
031.        $this->add([
032.            'condition' => false,
033.            'command' => "select * from {$this->table} limit 1;",
034.            'values' => []
035.        ]);
036. 
037.        return $this->get();
038.    }
039. 
040.    public function select(Array $fields) {
041.        $implode_fields = implode (', ', $fields);
042. 
043.        $this->add([
044.            'condition' => false,
045.            'command' => "select {$implode_fields} from {$this->table}",
046.            'values' => []
047.        ]);
048. 
049.        return $this;
050.    }
051. 
052. 
053.    public function where($field, $operator, $value) {
054.        $this->add([
055.            'condition' => true,
056.            'command' => "{$field} {$operator} ?",
057.            'values' => [$value]
058.        ]);
059. 
060.        return $this;
061.    }
062. 
063.    public function orWhere($field, $operator, $value) {
064.        $this->add([
065.            'condition' => false,
066.            'command' => "or {$field} {$operator} ?",
067.            'values' => [$value]
068.        ]);
069. 
070.        return $this;
071.    }
072. 
073.    public function whereBetween($field, Array $values) {
074.        $this->add([
075.            'condition' => true,
076.            'command' => "{$field} between ? and ?",
077.            'values' => $values
078.        ]);
079. 
080.        return $this;
081.    }
082. 
083.    public function whereNotBetween($field, Array $values) {
084.        $this->add([
085.            'condition' => true,
086.            'command' => "{$field} not between ? and ?",
087.            'values' => $values
088.        ]);
089. 
090.        return $this;
091.    }
092. 
093.    public function whereIn($field, Array $values) {
094.        $implode_values = implode (', ', array_map(
095.            function () {
096.                return '?';
097.            },
098.            $values
099.        ));
100. 
101.        $this->add([
102.            'condition' => true,
103.            'command' => "{$field} in ({$implode_values})",
104.            'values' => $values
105.        ]);
106. 
107.        return $this;
108.    }
109. 
110.    public function whereNotIn($field, Array $values) {
111.        $implode_values = implode (', ', array_map(
112.            function () {
113.                return '?';
114.            },
115.            $values
116.        ));
117. 
118.        $this->add([
119.            'condition' => true,
120.            'command' => "{$field} not in ({$implode_values})",
121.            'values' => $values
122.        ]);
123. 
124.        return $this;
125.    }
126. 
127.    public function whereNull($field) {
128.        $this->add([
129.            'condition' => true,
130.            'command' => "{$field} is null",
131.            'values' => []
132.        ]);
133. 
134.        return $this;
135.    }
136. 
137.    public function whereNotNull($field) {
138.        $this->add([
139.            'condition' => true,
140.            'command' => "{$field} is not null",
141.            'values' => []
142.        ]);
143. 
144.        return $this;
145.    }
146. 
147.    public function join($table, $field1, $operator, $field2) {
148.        $this->add([
149.            'condition' => false,
150.            'command' => "inner join {$table} on {$field1} {$operator} {$field2}",
151.            'values' => []
152.        ]);
153. 
154.        return $this;
155.    }
156. 
157.    public function leftJoin($table, $field1, $operator, $field2) {
158.        $this->add([
159.            'condition' => false,
160.            'command' => "left join {$table} on {$field1} {$operator} {$field2}",
161.            'values' => []
162.        ]);
163. 
164.        return $this;
165.    }
166. 
167.    public function groupBy(Array $fields) {
168.        $implode_fields = implode (', ', $fields);
169. 
170.        $this->add([
171.            'condition' => false,
172.            'command' => "group by {$implode_fields}",
173.            'values' => []
174.        ]);
175. 
176.        return $this;
177.    }
178. 
179.    public function having($field, $operator, $value) {
180.        $this->add([
181.            'condition' => false,
182.            'command' => "having {$field} {$operator} ?",
183.            'values' => $value
184.        ]);
185. 
186.        return $this;
187.    }
188. 
189.    public function orderBy($field, $order) {
190.        $this->add([
191.            'condition' => false,
192.            'command' => "order by {$field} {$order}",
193.            'values' => []
194.        ]);
195. 
196.        return $this;
197.    }
198. 
199.    public function get() {
200.        $command = $this->builder();
201. 
202.        return $this->runQuery($command[0], $command[1]);
203.    }
204. 
205.    public function insert(Array $fields) {
206.    }
207. 
208.    public function update(Array $fields) {
209.    }
210. 
211.    public function delete() {
212.    }
213. 
214.    protected function add($command) {
215.        $this->commands[] = [
216.            'condition' => $command['condition'],
217.            'command' => $command['command'],
218.            'values' => $command['values']
219.        ];
220.    }
221. 
222.    protected function builder() {
223.        $query = '';
224.        $values = [];
225.        $first_condition = false;
226. 
227.        foreach($this->commands as $command) {
228.            if ($command['condition'] == false) {
229.                $query .= "{$command['command']} ";
230.            }
231.            else {
232.                $condition = ($first_condition) ? 'and' : 'where';
233.                $query .= "{$condition} {$command['command']} ";
234.                $first_condition = true;
235.            }
236. 
237.            $values = array_merge($values, $command['values']);
238.        }
239. 
240.        return [$query, $values];
241.    }
242.}


query.php
01.<?php
02. 
03.namespace classes;
04. 
05.use PDO;
06. 
07.trait query
08.{
09.    protected $pdo;
10. 
11.    public function __construct(Array $config) {
12.        $this->pdo = new PDO("mysql:host={$config['host']};dbname={$config['database']};",
13.            $config['username'],
14.            $config['password']);
15.    }
16. 
17.    protected function runQuery($query, $values) {
18.        $stmt = $this->pdo->prepare($query);
19.        $stmt->execute($values);
20. 
21.        return $stmt->fetchAll(PDO::FETCH_OBJ);
22.    }
23. 
24. 
25.    protected function runNoneQuery($query, $values) {
26.    }
27.}

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-06-23 14:12:06 By : ห้ามตอบเกินวันละ 2 กระทู้
 

 

No. 7

Guest


สรุปคือ ถ้าจะเอา function ขนาดนี้

ใช้ framework เถอะ จะได้ไม่เป็นภาระกับการเขียน
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-06-23 14:15:47 By : ห้ามตอบเกินวันละ 2 กระทู้
 

 

No. 8



โพสกระทู้ ( 484 )
บทความ ( 3 )



สถานะออฟไลน์


Doctrine, Propel ดีกว่าไหม
Eloquent ก็ไปกับ Framework ล่ะ
ส่วน Active Record ก็นิ่ง ไม่พัฒนาต่อ
ถ้าแนะนำก็ Propel ตัวเล็ก API ก็ง่ายด้วย
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-06-23 14:38:51 By : fossil31
 

 

No. 9

Guest


แต่เรามองว่ามันเป็นแบบฝึกหัดในการฝึก oop อย่างดีเลยนะ

ถ้าไม่รู้จะเอา oop ไปใช้กับอะไรก็ลองเขียน class ติดต่อ database นี่แหละ

พอมองภาพออกแล้วก็ค่อย ต่อยอดไปศึกษาอย่างอื่นต่อ

เพราะจริงๆ แล้วคนเป็น oop มักจะไม่เขียน class พื้นฐานเองหรอก

มุ่งไป framework กันหมดแล้ว ประหยัดเวลา
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-06-23 15:22:14 By : ห้ามตอบเกินวันละ 2 กระทู้
 

 

No. 10



โพสกระทู้ ( 1,150 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

55555 บาง คห class แบบจัดเต็มมาก ><

ผมก็เห็นด้วยนะ ใช้ framework ส่วนตัวผมใช้ codeigniter อยู่ เหมือนกัน

ส่วน class ที่แจก เอาไว้ ใช้กับงานที่ เพื่อนๆ ถามมา เวลา เอา code มาเทสเขียนให้ >< เพราะ code การทำงานเกี่ยวกับ DB มันค่อนข้างจะพื้นฐาน ดี เหมาะกับมือใหม่ ที่ กำลังหัดเขียน หรือ พวก โปรเจคส่งอาจารย์ งานเล็กๆ ที่คนทำยังไม่ค่อยเป็น เพราะตัว code มันง่ายๆ ค่อนข้างแก้ได้ง่าย ไม่ได้ใช่ อะไรยุ่งยากมากมาย


ประวัติการแก้ไข
2016-06-23 16:28:30
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-06-23 16:23:33 By : progamer2000
 

 

No. 11



โพสกระทู้ ( 5,149 )
บทความ ( 26 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

สถานะออฟไลน์


น่าจะมีพวก bind_param สักหน่อยไหมครับ.
เพราะเขียนแบบนี้ ผมว่ามน
คือ ถ้าแนะนำ ผมแนะนำเล่น PDO ไปเลยน่ะครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-06-24 07:12:26 By : deawx
 

 

No. 12

Guest


เสร็จแระ

select all
1.$colors = database::table('colors')
2.    ->all();


select first row
1.$colors = database::table('colors')
2.    ->first();


select with condition
01.// ใช้ where หลายอันโค้ดจะใส่ and ให้เอง ยกเว้น orWhere จะเป็น or
02.$colors = database::table('colors')
03.    ->select(['*'])
04.    ->where('id', '=', 1)
05.    ->where('id', '>', 3)
06.    ->get();
07. 
08.$colors = database::table('colors')
09.    ->select(['id', 'name'])
10.    ->where('id', '=', 2)
11.    ->orWhere('id', '>', 5)
12.    ->get();
13. 
14.$colors = database::table('colors')
15.    ->select(['id', 'name'])
16.    ->whereBetween('id', [1, 3])
17.    ->get();
18. 
19.// method อื่นๆ
20.// - whereNotBetween($var, $array)
21.// - whereIn($var, $array)
22.// - whereNotIn($var, $array)
23.// - whereNull($var)
24.// - whereNotNull($var)


==================

insert
1.$affected = database::table('colors')
2.    ->insert(['code' => 'gold', 'name' => 'ทอง']);
3. 
4.// $affected คือ จำนวน row ที่ insert


การ update delete สามารถใช้ where แบบเดียวกับ select ได้

update
1.$affected = database::table('colors')
2.    ->where('id', '=', 13)
3.    ->update(['code' => 'silver', 'name' => 'เงิน']);
4. 
5.// $affected คือ จำนวน row ที่ update


delete
1.$affected = database::table('colors')
2.    ->where('id', '=', 13)
3.    ->delete();
4. 
5.// $affected คือ จำนวน row ที่ delete

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-06-24 09:15:58 By : ห้ามตอบเกินวันละ 2 กระทู้
 

 

No. 13

Guest


โค้ดเพิ่มเติม

table.php
01.public function insert(Array $fields) {
02.    $implode_fields = implode(', ', array_map(
03.        function ($v, $k) {
04.            return $k;
05.        },
06.        $fields,
07.        array_keys($fields)
08.    ));
09. 
10.    $implode_values = implode (', ', array_map(
11.        function () {
12.            return '?';
13.        },
14.        $fields
15.    ));
16. 
17.    $this->add([
18.        'condition' => false,
19.        'command' => "insert into {$this->table} ({$implode_fields}) values ({$implode_values})",
20.        'values' => array_values($fields)
21.    ]);
22. 
23.    $command = $this->builder();
24. 
25.    return $this->runNoneQuery($command[0], $command[1]);
26.}
27. 
28.public function update(Array $fields) {
29.    $implode_fields = implode(', ', array_map(
30.        function ($v, $k) {
31.            return "{$k} = ?";
32.        },
33.        $fields,
34.        array_keys($fields)
35.    ));
36. 
37.    $this->unshift([
38.        'condition' => false,
39.        'command' => "update {$this->table} set {$implode_fields}",
40.        'values' => array_values($fields)
41.    ]);
42. 
43.    $command = $this->builder();
44. 
45.    return $this->runNoneQuery($command[0], $command[1]);
46.}
47. 
48.public function delete() {
49.    $this->unshift([
50.        'condition' => false,
51.        'command' => "delete from {$this->table}",
52.        'values' => []
53.    ]);
54. 
55.    $command = $this->builder();
56. 
57.    return $this->runNoneQuery($command[0], $command[1]);
58.}
59. 
60.protected function unshift($command) {
61.    array_unshift($this->commands, [
62.        'condition' => $command['condition'],
63.        'command' => $command['command'],
64.        'values' => $command['values']
65.    ]);
66.}


query.php
1.protected function runNoneQuery($query, $values) {
2.    $stmt = $this->pdo->prepare($query);
3.    $affected = $stmt->execute($values);
4. 
5.    return $affected;
6.}

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-06-24 09:18:10 By : ห้ามตอบเกินวันละ 2 กระทู้
 

 

No. 14



โพสกระทู้ ( 1,150 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

ตอบความคิดเห็นที่ : 11 เขียนโดย : deawx เมื่อวันที่ 2016-06-24 07:12:26
รายละเอียดของการตอบ ::
จะลองดูครับ



ประวัติการแก้ไข
2016-06-24 09:19:40
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-06-24 09:18:31 By : progamer2000
 

 

No. 15

Guest


ลืมแนะนำมี join, group by, having อีก

join
01.$provinces = database:table('provinces')
02.    ->select('provinces.name', 'regions.name')
03.    ->join('regions', 'provinces.region_id', '=', 'regions.id')
04.    ->where('regions.id', '=', 2)
05.    ->whereBetween('provinces.id', [10-16])
06.    ->get();
07. 
08.- อื่นๆ
09.- leftJoin($table, $field1, $operator, $field2)


group by & having
1.$provinces = database:table('provinces')
2.    ->select(''regions.name')
3.    ->groupBy(['regions.id'])
4.    ->having('regions.id', '>', 3)
5.    ->get();


การนำข้อมูลที่ query ไปใช้ จะใช้ foreach

Code (PHP)
1.foreach ($provinces as $province) {
2.    // $province จะเป็น object เวลาเรียกชื่อฟิลด์ใช้ $province->name, $province->population ฯลฯ
3.}

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-06-24 09:33:06 By : ห้ามตอบเกินวันละ 2 กระทู้
 

 

No. 16



โพสกระทู้ ( 4,170 )
บทความ ( 7 )

Hall of Fame 2012

สถานะออฟไลน์


Code ดีๆทั้ง อ่านเพลิน
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-06-24 09:52:38 By : dudesaranyu
 

 

No. 17

Guest


มีความสุขกับการ query มาก

Code (PHP)
01.<?php
02. 
03.// autoload
04.spl_autoload_extensions(".php");
05.spl_autoload_register();
06. 
07.use classes\database;
08. 
09.$provinces = database::table('provinces')
10.    ->select(['provinces.id', 'provinces.name', 'regions.name as region'])
11.    ->join('regions', 'provinces.region_id', '=', 'regions.id')
12.    ->where('provinces.id', '>', 2)
13.    ->whereNotIn('provinces.id', [7, 8, 10])
14.    ->orderBy(['provinces.region_id asc', 'provinces.name desc'])
15.    ->take(10)
16.    ->skip(3)
17.    ->get();
18. 
19.foreach ($provinces as $province) {
20.    echo "{$province->id} - {$province->region} - {$province->name}<br />";
21.}
22. 
23.echo '<br />';
24.echo '====================';


Quote:
6 - เขตที่ 2 - อ่างทอง
9 - เขตที่ 2 - ชัยนาท
14 - เขตที่ 3 - สระแก้ว
12 - เขตที่ 3 - ปราจีนบุรี
13 - เขตที่ 3 - นครนายก
11 - เขตที่ 3 - ฉะเชิงเทรา
17 - เขตที่ 4 - สุพรรณบุรี
15 - เขตที่ 4 - ราชบุรี
18 - เขตที่ 4 - นครปฐม
16 - เขตที่ 4 - กาญจนบุรี

====================

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-06-24 13:15:38 By : ห้ามตอบเกินวันละ 2 กระทู้
 

 

No. 18

Guest


คชสาร Framework ที่คนไทยทำเองล่ะคับ ดีไหม มีใครลองแล้วบ้าง เหนเขาบอกว่าเร็วมาก

http://www.kotchasan.com
https://github.com/goragod/kotchasan
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-06-25 17:33:22 By : chai
 

 

No. 19

Guest


ตอบความคิดเห็นที่ : 18 เขียนโดย : chai เมื่อวันที่ 2016-06-25 17:33:22
รายละเอียดของการตอบ ::
php มี framework เป็นร้อย

ปัจจัยสำคัญในการเลือกไม่ใช่แค่คนไทยเขียน

ต้องดู performance ด้วย และที่สำคัญที่สุดคือมี comunity ที่ใหญ่ๆ

เวลามีปัญหาติดขัดจะได้ search หาได้ง่าย

ส่วนตัวใช้ laravel (เป็นหลัก)

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-06-27 06:31:30 By : ห้ามตอบเกินวันละ 2 กระทู้
 

 

No. 20



โพสกระทู้ ( 1,096 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


อ่านเพลินเลย

ผมชอบนะ มีอะไรก็เอามาแบ่งปันแบบนี้

ยิ่งบทความ oop ยิ่งชอบ

ปกติผมใช้ framework ผมใช้ codeigniter โปรเจกผม เป็น codeigniter 100 %

ปล.ขอบคุณ ห้ามตอบเกินวันละ 2 กระทู้ และ progamer2000 มากๆ ครับผม
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-06-27 08:50:11 By : compiak
 

 

No. 21

Guest


ตอบความคิดเห็นที่ : 19 เขียนโดย : ห้ามตอบเกินวันละ 2 กระทู้ เมื่อวันที่ 2016-06-27 06:31:30
รายละเอียดของการตอบ ::

performance หมายถึงความเร็วป่ะคับ

เหนเขาบอกว่าคชสารเร็วมากๆนะคับ ผลทดสอบความเร็วบอกว่าเร็วกว่า Laravel 30 เท่า
http://www.kotchasan.com/comparison.html

ไม่น่าลองใช้หรอคับ



แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-06-27 09:25:22 By : chai
 

 

No. 22

Guest


ตอบความคิดเห็นที่ : 21 เขียนโดย : chai เมื่อวันที่ 2016-06-27 09:25:22
รายละเอียดของการตอบ ::
จ้า ใช้เลยจ้า สุดยอดมาก

Quote:
ต้องดู performance ด้วย และที่สำคัญที่สุดคือมี comunity ที่ใหญ่ๆ


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-06-27 09:56:42 By : ห้ามตอบเกินวันละ 2 กระทู้
 

 

No. 23

Guest


ตอบความคิดเห็นที่ : 22 เขียนโดย : ห้ามตอบเกินวันละ 2 กระทู้ เมื่อวันที่ 2016-06-27 09:56:42
รายละเอียดของการตอบ ::
ดูถูกเขา ทำได้อย่างเขาป่าวคับ

แล้ว comunity ของไทยเราเมื่อไรจะใหญ่อ่ะคับ ถ้าคนไทยไม่สนับสนุนและดูถูกกันเองอย่างนี้

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-06-27 10:17:14 By : chai
 

 

No. 24

Guest


ตอบความคิดเห็นที่ : 23 เขียนโดย : chai เมื่อวันที่ 2016-06-27 10:17:14
รายละเอียดของการตอบ ::
จะใช้อะไรก็ใช้ไปสิ เราไม่ได้ว่าอะไรเลยนะ

community ใหญ่ๆ เป็นคำแนะนำเฉยๆ มันง่ายสำหรับคนเพิ่งเริ่ม

แทนที่จะต้องไปศึกษาเอง อาจจะ search หาโค้ดได้ง่ายๆ จากในเน็ต

เราแค่เบื่อคนอ่านภาษาไทยไม่แตกเฉยๆ

แล้วที่บอกว่าทำได้ไหม เราทำได้สบายๆ

หัดเขียน php มาตั้งแต่ v5.3.14 แล้ว framwork แค่นี้หมูๆ ไม่อยากคุย

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-06-27 10:34:57 By : ห้ามตอบเกินวันละ 2 กระทู้
 

 

No. 25

Guest


Quote:
หัดเขียน php มาตั้งแต่ v5.3.14 แล้ว framwork แค่นี้หมูๆ ไม่อยากคุย


ผมหัดพิมพ์ดีดตั้งแต่ราคา 1,00,000 บาท จนถึงทุกวันนี้ราคาของมัน == ขอผมจ่ายบ้างสักเล็กน้อยก็ยังดี (กลัวให้ฟรี)
--- คุณพอมีเวลาว่างหรือเปล่า?


ปล. ผมเหนื่อยเหลือเกิน
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-06-28 21:45:39 By : หน้าฮี
 

 

No. 26

Guest


@เจ้าของกระทู้ "แจกเผื่อใครอยากใช้ อยากเอาไปปรับหรือ เอาไว้เป็นแนวทาง Class Connect Database แบบ mysqli"

ถ้าคุณโกรธผมก็ต้องขอโทษด้วยครับ
--- ผมเอาทิ้งถังขยะหมด เพราะมันไม่มีประโยชน์สำหรับผม +55555
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-06-28 21:53:07 By : หน้าฮี
 

 

No. 27



โพสกระทู้ ( 9,590 )
บทความ ( 2 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 23 เขียนโดย : chai เมื่อวันที่ 2016-06-27 10:17:14
รายละเอียดของการตอบ ::
มันไม่ได้อยู่ที่การสนับสนุนคนไทยด้วยกัน


มันอยู่ที่ เขาโปรโมทยังไง ให้คนเข้าไปใช้ของเขามากกว่าครับ
บอกตรงๆ ผมเพิ่งได้ยินชื่อ ก็ตรงนี้เอง 55555 แล้วใครจะไปสนับสนุนได้ใช้กันล่ะเนี่ย

database คชสาร จะลองเข้าไปดูซักหน่อย แต่ถ้าต้องเสียตังคงต้องรอไฟต์บังคับก่อน 55555
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-06-28 22:29:19 By : Chaidhanan
 

 

No. 29



โพสกระทู้ ( 4,170 )
บทความ ( 7 )

Hall of Fame 2012

สถานะออฟไลน์


บัฟกันแหลกลาน "ใจเยนนนเราเพื่อนกานน"
แต่ผม +1นะ #ทีมLaravel :) แต่ ตัวอื่นก็น่าสนใจไม่แพ้กัน
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-06-28 23:11:38 By : dudesaranyu
 

 

No. 30

Guest


ตอบความคิดเห็นที่ : 24 เขียนโดย : ห้ามตอบเกินวันละ 2 กระทู้ เมื่อวันที่ 2016-06-27 10:34:57
รายละเอียดของการตอบ ::
ไม่ต้องมาทำหน้ามึน ที่มึงโพสควายที่ไหนอ่านก็รู้สึกได้ว่ามึงดูถูกเขา

ขี้โม้ขี้อวดชิบหาย เห็นหลายทู้แระ ถ้ามึงเก่งจริงก็โชว์ผลงานหน่อยดิ๊

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-06-30 15:46:43 By : แสน
 

 

No. 31

Guest


ตอบความคิดเห็นที่ : 30 เขียนโดย : แสน เมื่อวันที่ 2016-06-30 15:46:43
รายละเอียดของการตอบ ::
@แสน แล้วนอกจากอ่านภาษาไทยไม่แตกแล้วนายทำอะไรได้บ้างล่ะ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-06-30 16:34:42 By : ห้ามตอบเกินวันละ 2 กระทู้
 

 
ผมใช้ Class Medoo ลองใช้จะติดใจ
Compatible
Supports all SQL databases, including MySQL, MSSQL, SQLite, MariaDB, PostgreSQL, Sybase, Oracle and more
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-12-23 12:15:48 By : Tj
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : แจกเผื่อใครอยากใช้ อยากเอาไปปรับหรือ เอาไว้เป็นแนวทาง Class Connect Database แบบ mysqli
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)





ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2025 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่