من چند وقته درگیر یک موضوع هستم
من از مثلا جدول استاتوس30 تا آخرین استاتوس ها رو میخونم .
حالا میخوام برای استاتوس هایی که کامنت دارن 5 تا از آخرین کامنت ها رو زیر همون استاتوس ها نمایش بده.
ولی نمیدونم چه جوری این کار رو بکنم
یه چیزی توی مایه های فرند فید.
مثلا
و الی آخر تا 30 تا توی یک صفحه
1 . جمشید: من دارم میرم
کامنت ها :
سارا: به سلامت
مسعود: خوش اومدی
هادی: کجا بابا بودی
قاسم: ها ها ها
2 . عباس: سرم درد میکنه
کامنت ها :
سید: به درک
الهام: الهی بمیرم برات
هدی: قربون سرت بشم
عباس: قربون همتون
3 . الهام: من خیلی نازم
کامنت ها :
عباس: اگه تو نازی پس دیگه چیز چیه
قاسم: ها ای که گفتی یعنی چه!
جمشید: نازی
محبوبه: خوب منم نازم
میدونی وقتی میخوام کامنت ها رو بخونم توی رکورد های بعدی متاسفانه کامنت های رکورد های قبلی تکرار میشه و وقتی میرسی به آخری کامنت های اولی تا آخری خودش توشه
نمونه کدم اینه البته این فقط برای خوندن استاتوس ها و شمردن کامنت هاست
حالا فرض کنید جدولی داریم ه نام status_comment و میخوایم کامنت های همون استاتوس رو بخونیم چه کار کنیم؟ که تکرار هم نشه
کد: انتخاب همه
DB::query("
SELECT * FROM status WHERE user_id IN (" . $sql . "".$me.") ORDER BY `status`.`id` DESC LIMIT 0,30
");
if (DB::num_rows() > 0)
{
while($row = DB::fetch_row())
{
$status = $row['status'];
$time = Date_Difference::getString($row['time']);
$html->setvar("id", $row['id']);
$html->setvar("status", $status);
$html->setvar("name", DB::result("SELECT name FROM user WHERE user_id=".$row['user_id']."", 0, 1));
$num_status_comment = DB::result("SELECT COUNT(cid) FROM status_comment WHERE status_id=" .$row['id']."", 0, 1);
$html->setvar("num_status_comment", $num_status_comment);
if ($i == DB::num_rows())
{
$html->parse("status_y", true);
}
else
{
$html->parse("status", true);
}
$i++;
}
$html->parse("status_ok", true);
}
else
{
$html->parse("no_status", true);
}