ציטוט:
נכתב במקור על ידי ASTeam
אבל אני לא יודע כמה נתונים יש לי..
|
נתתי את ארבע בתור דוגמה... במקום ארבע תחליף את ככה
PHP קוד:
$len = count($arr);
for($i=0;$i<len;$i++)
שים לב לשמור את הגודל של המערך במשתנה מחוץ ללואה! אחרת כל פעם שהלולאה תרוץ הפונקציה count תופעל ואין שום סיבה לכך...
ציטוט:
נכתב במקור על ידי ASTeam
אני עושה סקר.
אני רוצה שהתשובות האפשריות יהיו ללא הגבלה.
לכן אני מציג את השאלות ע"פ לולאה, אחכ בעזרת קישור(או כל דבר אחר..לא משנה) מכניס לתא votes את מס' המבציעים באותה תבנית
ואז אני אציג
לתשובה 1 - ככה מצביעים וכד'(עם אחוזים כמובן)
וזה עבד מה שעשית..
אני אנסה להתשמש בזה..
השאלה היא, במצב של מס' נתונים לא מוגבל, כיצד אני הופך את התשובה להצבעה - כמו שאמרתי -
$answer = "a;b;c;d";
// אני רוצה שיהיה כך -
$vote = "0;0;0;0";
|
בוא נניח לרגע שיש לנו 3 תשובות אפשריות. התשובות האפשריות שלנו הם: a,b,c.
עכשיו נכניס את זה למשתנה answer שרצית (תלוי בשליפה שלך לכן אני לא אפרט את זה בקוד).
עכשיו יש לנו את answer עם התשובות האפשריות במבנה שרצית
PHP קוד:
$answer="a;b;c";
עכשיו נפצל את answer בעזרת הפונקציה explode, ונשמור את התוצאה.
PHP קוד:
$arr=explode(';',$answer);
עכשיו נבדוק איזה תשובה הוכנסה ונקח את התווית שלה (key). נניח שהתשובה שמורה במשתנה vote.
PHP קוד:
$key = array_search($vote,$arr);
עכשיו נכניס למשתנה votes את מה שאנחנו צריכים בעזרת לולאה
PHP קוד:
$len = count($arr);
for($i=0;$i<$len;$i++)
{
if($i!=0) $votes .= ";";
if($i==$key) $votes .= "1";
else $votes.="0";
}
אם אתה צריך אפשרויות יותר מ0 ו1 (יותר מהצבעה אחת למשל) מה שתעשה זה ליצור מערך נוסף וכל פעם שהתשובה שווה למשתנה i תגדיל אותו באחד.
זהו ההסבר הזה אמור להספיק לדעתי
ציטוט:
נכתב במקור על ידי Tomer
Kfir.G,
תתחכם, זה בטח יעזור לך בחיים.
|
מה בדיוק אתה רוצה ממני אני יכול להבין? אתה אמרת לפותח האשכול לעשות משהו שהוא לא חובה וגם לא הסברת לו באמת למה ככה שנראה לי הולם שהסברתי לו...