ช่วยทีครับ ทำระบบเสิทแล้วแบบ จอยเทเบิ้ล แต่ค้นได้แต่หัวข้อครับ
ทำ คอมโพเน้นขึ้นมาใหม่ในจูมลา แล้วลองทำระบบเสิทครับ เป็นการเสิทจาก เทเบิ้ลสองตัว แต่มันออกแค่
หัวข้อของสองตารางเองครับ เช่นค้นหาคำว่า ประเทศไทย มันขึ้น แต่หัวข้อหลักและรองจากสองตาราง
แต่มันไม่ค้นหาทั้งเวปอ่ะครับ พวกเนื้อหา หรือ บทความ แบบ Search All
คือผมสับสนตรงนี้อ่ะครับ
Code (SQL)
FROM tb_k2_categories
LEFT JOIN tb_k2_items ON tb_k2_categories.id=tb_k2_items.catid
WHERE title LIKE '%".$kw."%'
ORDER BY tb_k2_categories.id";
อยากแค่แบบค้นหาคำทั้งหมดจาก
Code (SQL)
tb_k2_categories.id,
tb_k2_categories.name,
tb_k2_categories.description,
tb_k2_items.id,
tb_k2_items.catid,
tb_k2_items.title,
tb_k2_items.introtext,
tb_k2_items.`fulltext`
ในสองตางรางคือ แคทตาลอต กับ ไอเทมอ่ะครับ
Code (PHP)
public function getKMSearchList() {
$kw = JRequest::getVar('keyword');
$db = JFactory::getDbo();
$sql = "SELECT
tb_k2_categories.id,
tb_k2_categories.name,
tb_k2_categories.description,
tb_k2_items.id,
tb_k2_items.catid,
tb_k2_items.title,
tb_k2_items.introtext,
tb_k2_items.`fulltext`
FROM tb_k2_categories
LEFT JOIN tb_k2_items ON tb_k2_categories.id=tb_k2_items.catid
WHERE title LIKE '%".$kw."%'
ORDER BY tb_k2_categories.id";
$db->setQuery($sql);
$rs = $db->LoadObjectList();
return $rs;
}
ขอทราบถามเพิ่มหน่อยครับว่า ถ้าต้องการแบ่งหน้าเพจเช่น โชว์ที่ละ ห้าแถว แล้วที่เหลือแบ่งหน้าไปต้องทำไงอ่ะครับ
คือพอเสิทแล้วออกมาหมดเลยครับ มีกี่หน้า
ขอบคุณครับผมTag : PHP
ประวัติการแก้ไข 2014-11-22 00:32:20 2014-11-22 00:32:47 2014-11-22 00:50:26
Date :
2014-11-22 00:29:05
By :
sarut14
View :
726
Reply :
5
Code (PHP)
$sql_count="SELECT count(id) FROM tb_k2_items WHERE title LIKE '%$kw%';
$db->setQuery($sql_count);
$rs = $db->LoadObjectList();
$per_page=5;
$count = $rs[0][0];
$all_page=ceil( $count / $per_page );
$page = 1; // แล้วแต่กำหนด ส่งค่ามาเซท
$start_row = ($page - 1) * $per_page;
$qr="
SELECT cate.id, cate.name, cate.description
, item.id item_id, title, introtext, `fulltext`
FROM (
SELECT id, catid, title, introtext, `fulltext`
FROM tb_k2_items
WHERE title LIKE '%".$kw."%'
) as item
LEFT JOIN tb_k2_categories cate
ON cate.id=item.catid
limit $start_row, $per_page
";
ประวัติการแก้ไข 2014-11-22 09:01:53
Date :
2014-11-22 08:52:24
By :
Chaidhanan
ขอบพระคุณมากครับ เอาโค๊ดตัวนี้ไปแทนตัวเก่าเลยใช่ไหมครับ
มันติดเออเร่อ Fatal error: Call to a member function setQuery() on a non-object
จาก ค่านี้ครับ หมายถึง
$db->setQuery($sql_count);
$rs = $db->LoadObjectList();
ประวัติการแก้ไข 2014-11-22 09:47:30
Date :
2014-11-22 09:28:57
By :
sarut14
เอาไปแปลงครับ โค๊ดคุณมันเป็น คลาส ผมไม่รู้ คำสั่งทั้งหมดครับ นี่ก็เดาเอา 5555
$db->setQuery();ลอกมาจาก ตัวอย่าง อันสุดท้ายครับ
ศึกษารูปแบบ แล้วไปประยุกต์ใช้ครับ
ปล. ต้องประกาศ $db = JFactory::getDbo(); ก่อนครับ
ประวัติการแก้ไข 2014-11-22 09:59:00
Date :
2014-11-22 09:56:56
By :
Chaidhanan
อ๋อครับผม ใช่ๆผมลืมว่าไปว่ามันเเป็นคราสครับ เดี๊ยวจะลองผิดลองถูกดูครับ มีอีกคำถามหน่อยนึงได้ไหมครับ
การตัดแถวไม่อยากเป็นแนวตั้ง คือ ตัวเป็นแนวนอนนี่ใช้คำสั่งอย่างไรครับ
พอดีผมลีส เช็คบ๊อคออกมามด มันยาวพรืดเลย เลยอยากให้มัน เป็นแนวนอน
น่าจะดูสั้นกว่าครับ เช่นคำสั่งพื้นๆที่ผมเขียนมา
Code (PHP)
<?php
foreach ($this->FullSearchListLv1 as $item):
$db = JFactory::getDbo();
$sql = "SELECT * FROM tb_menu
WHERE menutype='ttdmainmenu'
AND level='2'
AND parent_id='".$item->id."'
ORDER BY id ";
$db->setQuery($sql);
$rs = $db->loadObjectList();
?>
<input name="cat" type="checkbox" value="<?php ?>"> <?php echo $item->title; ?><br>
<?php foreach ($rs as $item2): ?>
<input name="cat" type="checkbox" value="<?php ?>"> <?php echo $item2->title; ?><br>
<?php endforeach; ?>
<?php endforeach; ?>
Date :
2014-11-22 10:27:54
By :
sarut14
เอา <br> ออก ก็ต่อกันเป็น แถวเดียวแล้วครับ
Date :
2014-11-22 10:42:36
By :
Chaidhanan
Load balance : Server 02