Seach ในหลายเทเบิลพร้อมๆ กัน โดยที่แต่ละเทเบิลไม่มี field ไหนที่ เกี่ยวข้องกันเลย เช่น
การใช้ UNION ต้องมี Column ที่เหมือนกันครับ
ผมคิดว่า
1.สร้าง table เชื่อม Article_table กับ Member_Table
2.หรือ เขียน Code Seach 2ครั้ง ใน PHP เอาครับ
ความคิดส่วนตัวนะครับ
Date :
2009-09-03 16:00:40
By :
taobsd
ตอนนี้ที่ทำคือ มี dropdown list ให้เลือกก่อน ว่าต้องการ search จาก table ไหน จากนั้นหน้าแสดงผล ก็ใช้ case ในการไปดึงแต่ละฟิลด์ของ table นั้นๆ มาแสดง ถึงจะพอใช้ได้ แต่ก็ดูไม่ค่อยสะดวกกับผู้ใช้งานเท่าไหร่น่ะค่ะ
Date :
2009-09-04 08:10:30
By :
nimporn
เป็นผม ทำแบบนี้อะ
ไม่รุ้ได้ป่าวนะ
Code (PHP)
<?php
/**
* @author Marosdee
* @copyright 2009
*/
$ARTICLE = $MEMBER = $SEARCH_RESULT = array();
$SQL1 = <<<SQL
SELECT * FROM Article_Table WHERE title LIKE '%{$searchword}%' OR desc LIKE '%{$searchword}%'
SQL;
$SQL2 = <<<SQL
SELECT * FROM Member_Table WHERE name LIKE '%{$searchword}%' OR lastname LIKE '%{$searchword}%'
SQL;
$RESULT1 = mysql_query($SQL1);
while ( $ROW = mysql_fetch_array($RESULT1) )
{
$ARTICLE[] = $ROW;
}
$RESULT2 = mysql_query($SQL2);
while ( $ROW = mysql_fetch_array($RESULT2) )
{
$MEMBER[] = $ROW;
}
$SEARCH_RESULT = array_merge($ARTICLE, $MEMBER);
foreach ( $SEARCH_RESULT AS $ROW )
{
//เจอบทความ
if ( $ROW['title'] )
{
echo 'บทความเรื่อง' . $ROW['title'] . '<br />';
}
//เจอผุ้ใช้
else
{
echo 'ผู้ใช้ชื่อ' . $ROW['name'] . '<br />';
}
}
?>
Date :
2009-09-04 08:49:35
By :
danya
Load balance : Server 02