ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น

ThaiSEOBoard.comพัฒนาเว็บไซต์Programmingphp function กำลังทำความเข้าใจ แบบงง
หน้า: [1]   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: php function กำลังทำความเข้าใจ แบบงง  (อ่าน 636 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
affsom
สมุนแก๊งเสียว
*

พลังน้ำใจ: 24
ออฟไลน์ ออฟไลน์

กระทู้: 501



ดูรายละเอียด
« เมื่อ: 24 กันยายน 2015, 20:51:09 »

   public function getProductRelated($article_id) {
   $this->load->model('catalog/product');
      $product_data = array();
      $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "news_related_product rp
      LEFT JOIN " . DB_PREFIX . "product p ON (rp.product_related_id = p.product_id)
      WHERE rp.article_id = '" . (int)$article_id . "' AND p.status = '1'");      
      foreach ($query->rows as $result) {
         $product_data[$result['product_related_id']] = $this->model_catalog_product->getProduct($result['product_related_id']);
      }      
      return $product_data;
   }


ช่วยอธิบายหน่อยครับ ว่าตรง WHERE rp.article_id = '" . (int)$article_id . "' AND p.status = '1'");

มันแปลว่าอะไรครับ wanwan011 wanwan011
บันทึกการเข้า
LostStars
Newbie
*

พลังน้ำใจ: 1
ออฟไลน์ ออฟไลน์

กระทู้: 18



ดูรายละเอียด
« ตอบ #1 เมื่อ: 25 กันยายน 2015, 03:30:47 »

เลือกข้อมูลจากตาราง  rp.article_id และ p.status
บันทึกการเข้า
amazegu
สมุนแก๊งเสียว
*

พลังน้ำใจ: 80
ออฟไลน์ ออฟไลน์

กระทู้: 875



ดูรายละเอียด
« ตอบ #2 เมื่อ: 25 กันยายน 2015, 08:17:50 »

news_related_product rp ก็คือ ให้ rp = news_related_product
product p ก็คือ ให้ p = product เป็นการแทนชื่อตารางที่เราต้องการให้สั้นลงเฉยๆครับ

ดังนั้น

WHERE rp.article_id = '" . (int)$article_id . "' AND p.status = '1'");

ก็คือ news_related_product.article_id ='". (int)$article_id ."' AND product.status = '1'
« แก้ไขครั้งสุดท้าย: 25 กันยายน 2015, 08:18:41 โดย amazegu » บันทึกการเข้า
nscyber
Verified Seller
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 50
ออฟไลน์ ออฟไลน์

กระทู้: 1,165



ดูรายละเอียด
« ตอบ #3 เมื่อ: 25 กันยายน 2015, 19:10:03 »

โค๊ด:
WHERE rp.article_id = '" . (int)$article_id . "' AND p.status = '1'");

จากคำสั่ง WHERE เขาต้องการ
- ดึงข้อมูลจากข้อมูลในคอลัมป์ article_id ที่มีค่าเท่ากับ $article_id ซึ่งปรับให้มีค่าเป็น integer หรือจำนวนเต็ม (int) ของตาราง news_related_product
- และเขาบอกว่า ต้อง ให้คอลัมป์ status ของตาราง product มีค่าเท่ากับ 1 ด้วย
- ก็คือถึง article_id  จะมีข้อมูลแต่ถ้า status ไม่มีค่าเป็น 1 ก็ไม่ดึงข้อมูลมาครับ

 Tongue
« แก้ไขครั้งสุดท้าย: 25 กันยายน 2015, 19:11:55 โดย nscyber » บันทึกการเข้า
chhopster
สมุนแก๊งเสียว
*

พลังน้ำใจ: 29
ออฟไลน์ ออฟไลน์

กระทู้: 514



ดูรายละเอียด เว็บไซต์
« ตอบ #4 เมื่อ: 25 กันยายน 2015, 21:12:27 »


ให้แปลเป็นภาษาคนที่เข้าใจง่ายครับ

" แสดงบทความของสินค้าที่ยังไม่ถูกเลิกใช้งาน (status = 1 ยังใช้งานได้อยู่, status = 0 เลิกขาย) ตามเลข ID " จบ

บันทึกการเข้า

p44n
Verified Seller
สมุนแก๊งเสียว
*

พลังน้ำใจ: 105
ออฟไลน์ ออฟไลน์

กระทู้: 676



ดูรายละเอียด
« ตอบ #5 เมื่อ: 25 กันยายน 2015, 21:31:15 »

CodeIgniter มาลงเรียน คอร์ส Workshop กับผมมั้ยครับ กำลังเปิดสอนกรุ๊ปเล็กๆ ใช้เวลาว่างให้เกิดประโยชน์ แง่มๆ

 wanwan017
บันทึกการเข้า

Python, PHP OOP, MVC CodeIgniter, MongoDB, MySQL, MsSQL ,CSS Tableless, Responsive Design, Cross-platform, Javascript, jQuery, AngularJS, NodeJS,  Fackbook API, Paypal API, Omise API, Google Map API, C# Window Applications, .NET Framework, JAVA (Android Developer, JSP), Hybrid Application with Cordova + Ionic Framework, ReactJS, React Native
หน้า: [1]   ขึ้นบน
พิมพ์