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,037

HOME > PHP > PHP Forum > ต้องการ select ข้อมูลมากกว่า 1 ตาราง OOP ผู้รู้ตอบทีครับ



 

ต้องการ select ข้อมูลมากกว่า 1 ตาราง OOP ผู้รู้ตอบทีครับ

 



Topic : 107504

Guest




ไฟล์ config.inc.php

<?php
define("DB_HOST","localhost");
define("DB_USER","root");
define("DB_PASS","root");
define("DB_NAME","test");
?>


ไฟล์ class_db.inc.php

Code (PHP)
<?php
class Class_DB 
{
	private $charset = "UTF8";
	private $rs;
	private $_fetch_array = array();

	public function __construct($host,$user,$pass,$db_name)
	{
		mysql_connect($host,$user,$pass) or die(mysql_error());
		mysql_query("SET NAMES ".$this->charset);
		mysql_query("USE $db_name");
	}
	public function query($strsql) //รับคำสั่ง sql เข้ามา query
	{
		$this->rs= mysql_query($strsql);
	}
	public function num_rows()	//เช็คจำนวนแถว
	{
		return mysql_num_rows($this->rs);
	}
	//---mysql fetch array()--//
	public function fetch_array()
	{
		if(count($this->_fetch_array)>0)
		{
			return $this->_fetch_array;
		}
		else
		{
			while($row=mysql_fetch_array($this->rs))
			{
				$this->_fetch_array[] = $row;
			}
			return $this->_fetch_array;
		}
	}
	//---End mysql fetch array() ---//

	public function fetch_row()
	{
		return mysql_fetch_row($this->rs);
	}
}
?>


ไฟล์ index.php

<?php
session_start(); //เพื่อใช้งาน session
include_once("lib/config.inc.php");
include_once("lib/class_db.inc.php");

$db = new Class_DB(DB_HOST,DB_USER,DB_PASS,DB_NAME);
$db->query("select banner_url from advertise");

echo "จำนวนแถวมของ tb_user คือ: ".$db->num_rows();

while(list($user_id)=$db->fetch_row()) {
	echo "<p>ข้อมูล: ".$user_id. "</p>";
}
?>



==========คำถามของผมก็คือ============
ผมต้องการ select ตารางที่ 2 หรือ ตารางที่ 3 ต้องทำยังไงคับ รบกวนผู้รู้ช่วยตอบทีนะครับ

เช่นตัวอย่างด้านบน มีการ select จาก advertise แล้ว หากผมต้องการใช้งานข้อมูลจากตารางอื่นต้องเขียนโค้ด หรือแก้โค้ดตรงไหนครับ

ขอบคุณมากๆ คับ



Tag : PHP







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2014-04-06 11:58:20 By : unknow_newbaby View : 743 Reply : 1
 

 

No. 1



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



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


[b]ลองศึกษาดูน่ะครับ[/b]

คำสั่ง sql Select ข้อมูลสองตาราง Mysql ใช้ได้ กับ Sql มาตรฐาน ใช้การ Joins Left Join, Right Join, Inner Join
ตัวอย่างมีตารางข้อมูล
ตาราง products;
+----+--------------+--------------+
| id | product_name | manufacturer |
+----+--------------+--------------+
| 1 | Shoes | Company1 |
| 2 | Laptop | Company2 |
| 3 | Monitor | Company3 |
| 4 | DVD | Company4 |
+----+--------------+--------------+

ตาราง buyers;
+----+------+------------+----------+
| id | pid | buyer_name | quantity |
+----+------+------------+----------+
| 1 | 1 | Steve | 2 |
| 2 | 2 | John | 1 |
| 3 | 3 | Larry | 1 |
| 4 | 3 | Michael | 5 |
| 5 | NULL | Steven | NULL |
+----+------+------------+----------+

การ Join ตารางแบบ Left Join เป็นการค้นหาข้อมูลจากสองตารางโดยยึดตาราง ทางซ้ายเป็นหลัก ในที่นี่ตารางซ้ายคือ buyers ต้องมีข้อมูล
SELECT buyer_name, quantity, product_name FROM buyers LEFT JOIN products ON
buyers.pid=products.id;ผล
+------------+----------+--------------+
| buyer_name | quantity | product_name |
+------------+----------+--------------+
| Steve | 2 | Shoes |
| John | 1 | Laptop |
| Larry | 1 | Monitor |
| Michael | 5 | Monitor |
| Steven | NULL | NULL |
+------------+----------+--------------+
การ Join ตาราง แบบ Right Join
เป็นการค้นหาข้อมูลจากสองตารางโดยยึดตาราง ทางซ้ายเป็นหลัก ในที่นี่ตารางขวาคือ products ต้องมีข้อมูล

SELECT buyer_name, quantity, product_name FROM buyers RIGHT JOIN products ON
buyers.pid=products.id;
+------------+----------+--------------+
| buyer_name | quantity | product_name |
+------------+----------+--------------+
| Steve | 2 | Shoes |
| John | 1 | Laptop |
| Larry | 1 | Monitor |
| Michael | 5 | Monitor |
| NULL | NULL | DVD |
+------------+----------+--------------+

การ Join ตารางแบบ Inner join ข้อมูลที่จะออกมาต้องมีทั้งในตาราง ซ้ายและขวา เครื่องหมาย= (buyers.pid=products.id)
SELECT buyer_name, quantity, product_name FROM buyers INNER JOIN products ON
buyers.pid=products.id;ลองเอาไปรันดูผล






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-04-06 12:36:50 By : new19121
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ต้องการ select ข้อมูลมากกว่า 1 ตาราง OOP ผู้รู้ตอบทีครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

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