โดยผมต้องการที่จะเปลี่ยนค่า จำนวนโพสต์อขง userในหน้าแสดงรายชื่อสมาชิก ของ เว็บบอร์ด phpbb
- โดยผมทราบว่าถ้าหากจะเปลี่ยนได้จะต้องใช้ event memberlist_prepare_profile_data มาช่วยในการทำงาน ตรงนี้
- แล้วผมก็ได้ไปเก็บค่า Array ไว้ชุดหนึ่งเพื่อมาเที่ยบค่ากับ แล้วค่อยปรับเปลี่ยนค่าโพสต์ ตามภาพ
แต่ปัญหาคือว่า มีจำนวนการเทียบค่า หลายรอบ
เช่นตัวอย่างนี้
1. event memberlist_prepare_profile_data ให้ข้อมูล มา ชุดเเรก โดยใช้ชื่อว่า user_d มีดังนี้
โค้ด: เลือกทั้งหมด
Array
(
[AGE] =>
[RANK_TITLE] => Site Admin
[JOINED] => Sat Jun 22, 2019 10:42 am
[LAST_ACTIVE] => Mon Aug 05, 2019 3:24 pm
[POSTS] => 37
[WARNINGS] => 0
[USERNAME_FULL] => <a href="./memberlist.php?mode=viewprofile&u=2" style="color: #AA0000;" class="username-coloured">admin</a>
[USERNAME] => admin
[USER_COLOR] => #AA0000
[U_VIEW_PROFILE] => ./memberlist.php?mode=viewprofile&u=2
[A_USERNAME] => admin
[AVATAR_IMG] => <img class="avatar" src="./download/file.php?avatar=2_1561632309.jpg" width="100" height="100" alt="User avatar" />
[ONLINE_IMG] => <span class="imageset icon_user_offline" title="Offline">Offline</span>
[S_ONLINE] =>
[RANK_IMG] =>
[RANK_IMG_SRC] =>
[S_JABBER_ENABLED] =>
[S_WARNINGS] =>
[U_SEARCH_USER] => ./search.php?author_id=2&sr=posts
[U_NOTES] =>
[U_WARN] =>
[U_PM] =>
[U_EMAIL] =>
[U_JABBER] =>
[USER_JABBER] =>
[USER_JABBER_IMG] =>
[L_SEND_EMAIL_USER] => Send email to admin
[L_CONTACT_USER] => Contact admin
[L_VIEWING_PROFILE] => Viewing profile - admin
)
โค้ด: เลือกทั้งหมด
Array
(
[0] => Array
(
[count_post] => 25
[poster_id] => 2
[username] => admin
)
[1] => Array
(
[count_post] => 14
[poster_id] => 50
[username] => chompu
)
[2] => Array
(
[count_post] => 9
[poster_id] => 48
[username] => namuchaya
)
[3] => Array
(
[count_post] => 5
[poster_id] => 52
[username] => mintra
)
)
- ซึ่งข้อมูลจริงๆนั้น มีจำนวนที่มากมาย กว่าตัวอย่างมาก
- จึงอยากทราบว่า ควรจะปรับเปรียบได้อย่างไร บาง
ตัวอย่างการเทียบค่าที่ผมใช้งานอยู่
โค้ด: เลือกทั้งหมด
foreach ($user_data as $data) {
echo " ** ";
if ($user_d['USERNAME'] == $data['username']) {
$user_d['POSTS'] = $data['count_post'];
}
}