ถามเรื่อง SQL หน่อยครับ รูปประกอบ ในรูปจะมีข่าว 2 ฝั่ง คือ ซ้าย กับขวา แล้วก็ใช้ query คนละตัว
รูปประกอบ
ในรูปจะมีข่าว 2 ฝั่ง คือ ซ้าย กับขวา แล้วก็ใช้ query คนละตัว แต่ table เดียว กัน
คือผมต้องการ ถ้าข่าวไหนที่โชว์ที่ด้านซ้าย 3 อัน แล้วไม่ต้องโชว์ด้านขวา
ต้อง query ยังไงครับ ด้านขวา คือ ไม่อยากให้ซ้ำซ้อนกันครับ
sql ด้านซ้าย
Code (PHP)
SELECT news_id, news_title, news_short, news_cat, news_thumb FROM content_data WHERE news_cat in ('2', '3', '4', '5') ORDER BY news_id DESC, news_date DESC LIMIT 0,3
sql ด้านขวา
Code (PHP)
SELECT news_id, news_title, news_date, news_cat, news_thumb FROM content_data WHERE news_cat in ('2', '3', '4', '5') ORDER BY news_id DESC, news_date DESC LIMIT 0,10
ขอบคุณครับTag : - - - -
Date :
2010-03-24 12:07:49
By :
sap
View :
963
Reply :
4
เก็บ id ที่ได้จากด้านซ้าย แล้วเอามา not in ด้านขวา
Date :
2010-03-24 12:14:05
By :
plakrim
เก็บ id ก็ยังไงอ่ะครับ
นี่เป็น loop ด้านซ้าย
Code (PHP)
$sql = "SELECT news_id, news_title, news_short, news_cat, news_thumb FROM content_data WHERE news_cat in ('2', '3', '4', '5') ORDER BY news_id DESC, news_date DESC LIMIT 0,3 ";
$result = mysql_query($sql);
while($rs = mysql_fetch_array($result))
{
// แสดงข้อมูล
}
Date :
2010-03-24 13:17:26
By :
sap
Code (PHP)
$sql = "SELECT news_id, news_title, news_short, news_cat, news_thumb FROM content_data WHERE news_cat in ('2', '3', '4', '5') ORDER BY news_id DESC, news_date DESC LIMIT 0,3 ";
$result = mysql_query($sql);
$tmp = array();
while($rs = mysql_fetch_array($result))
{
array_push($tmp,$rs["news_id"]);
}
อันนี้เก็้บไว้ไปคิดต่อว่าจะต้องทำยังไง หวังว่าคงคิดได้
Code
if(count($tmp) > 0)
echo "'" . implode("','",$tmp) . "'";
Date :
2010-03-24 14:31:49
By :
plakrim
Code (PHP)
$sql = "SELECT news_id, news_title, news_short, news_cat, news_thumb FROM content_data WHERE news_cat in ('2', '3', '4', '5') ORDER BY news_id DESC, news_date DESC LIMIT 0,3 ";
$result = mysql_query($sql);
$tmp = array();
while($rs = mysql_fetch_array($result))
{
$id = $rs['news_id'];
$newsid[] = $id;
}
$news = implode(',',$newsid);
แล้วก็เอา $news ไปใช้ NOT IN ใน sql ด้านขวา
Date :
2010-03-24 17:24:21
By :
ICrazyMan
Load balance : Server 02