ساختار جدولتون چی هست دوست عزیز.
آیا کلیه اطلاعات کاربر در یک جدول هست؟
یا اطلاعات اصلی کاربران در یک جدول و اطلاعات مربوط به ارتباط و لیست دوستان در جدولی دیگر؟
نمونه جدولی بدین.
فرض میگیریم جدول بر اساس اطلاعاتی که شما دادین، اینطور باشه :
id |
username |
friend_id |
1 |
shoma |
,3,4,2 |
2 |
ghader |
1,9 |
3 |
hosein |
1,7,8 |
4 |
behzad |
1,5,6 |
5 |
mohammad |
4 |
6 |
ali |
4 |
7 |
amir |
3 |
8 |
naser |
3 |
9 |
reza |
2 |
هر کدوم از دوستان در ستون friend_id ، بر اساس آیدی کاربریشون معلوم شده.
شما کوئری میدین، که انتخاب کنه از جدول، بعد مقدار friend_id بصورت یک آرایه دریافت میشه.
مثلا :
کد:
SELECT * FROM TABLE ORDER BY id DESC
در یک حلقه while یا for خروجی میگیرید کوئری رو.
مقدار friend_id رو دریافت میکنید، مثلا :
کد:
$friend_id = $result['friend_id];
اکسپلود میکنید ( جداسازی آیدیها ) ، مثلا :
کد:
$friends_id = explode(",",$friend_id);
foreach($friends_id as $fid){
// code baraye arzyabie inke un user dar ertebat ba shoma hast ya na, IF (agar bud) neshun bede, else, nothing !
}
میاید یا اون آرایه رو explode میکنید، یا در یک حلقه قرار میدید.
میگید که هر جا id دوستان من، در لیست دوستان کاربران دیگه بود، اسمشون یا آیدیشون رو نمایش بده.
همین.
اینا همه فرضی بود و قطعا عینا این کدها کار نمیکنه و قصد این بود که یه راه ساده و معمولیش رو بهتون بگم.
چون تا وقتی که نبینیم ساختار دیتابیس و جدول مرتبط با اون چطور هست، نمیشه دقیقش رو گفت.
موفق باشید.