02-05-2008, 11:11
|
|
|
חבר מתאריך: 15.08.06
הודעות: 1,561
|
|
בילבלת את כל מה שאמרתי
הסיבה שזה עובד כשאתה מעביר את המערך בדרך שלך (מחלק אותו ל3 שדות) זה שהשאילתת SQL שלך משתמשת רק בשדה הראשון. אם תסתכל טוב ותדבג תראה שאתה מקבל טעויות לוגיות.
קצת סדר:
קוד:
function FTMS($friends) {
$friendsString = buildStringFromArray($friends);
$sql = "SELECT MAX(`points`) AS nummberUWant FROM `users` WHERE `user_id` IN ($friendString)";
....
}
function buildStringFromArray($arr) {
$res = array();
foreach ($arr as $v) {
$res[] = "'" . $v . "'";
}
return implode(", ", $res);
}
כאשר פשוט הכנסת את ה$friends לתוך מחרוזת, זה הכניס אותו בתור מחרוזת, לא בתור מערך (אם תעשה echo $sql, אתה תקבל שזה הכניס לתוכו Array ולא את הערכים).
מה שאני עשיתי זה להוסיף לך פונקציה שבונה מחרוזת מופרדת בפסיקים, ומוסיפה מרכאות מסביב לכל ערך.
וכמו בהודעה הקודמת שהשארתי לך, כשאתה כותב function fSTM($friends = "new array") אתה מכניס מחרוזת לתוך $Frienxs ולא מערך!
_____________________________________
!!אזהרה!!
ההודעה עלולה להכיל שברי אגוזים ו/או איברי דגים כלשהם
!!אזהרה!!
|