הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   עזרה בבניית עגלת קניות בסשין.. (https://hosts.co.il/forums/showthread.php?t=78703)

servil 03-10-09 23:23

עזרה בבניית עגלת קניות בסשין..
 
שלום...
אני בונה עגלת קניות למערכת שאני בונה.
העגלת קניות תעבוד עם סשין.

הוספת מוצרים לעגלה כבר עשיתי...שזה בעצם מערך...
אצלי זה בנוי כמערך של ID...אני מאמין שאפשר לייעל את זה אבל זה כרגע מה שעשיתי..

ז"א שאם מוסיפים 4 פעמים מוצר לסל(אותו המוצר) אז המערך ייראה ככה:
2,2,2,2

2 = ID של המוצר.

השאלה שלי היא בעמוד שמציג בעצם את העגלת קניות...איך אני שולף מהמערך רק את הערכים השונים...

מה הכוונה? אני רוצה להציג ללקוח משהו כזה:

שם המוצר - כמות
שם המוצר - כמות

ז"א שאם יש מערך כזה:
3,2,3,3,3,4,5,4,4,4,8

אז זה אמור להיראות ככה בערך:
שם המוצר - 4
שם המוצר - 1
שם המוצר - 4
שם המוצר - 1
שם המוצר - 1

מקווה שהסברתי את עצמי נכון...

נ.ב
אשמח לשמוע עצות יותר טובות לבניית העגלה בסשין..


תודה רבה,
מתן

Slash 03-10-09 23:51

למה לא בצורת מילון ?
המוצר יהיה המפתח , והערך יהיה הכמות .

servil 04-10-09 08:37

תוכל להסביר קצת יותר למה כוונתך ואם אפשר דוגמת קוד סימלית שאבין בדיור את כל הפרוצדורה.
תודה רבה

sholaman 04-10-09 13:18

הכוונה שתסדר את המערכך שלך בצורה כזאת:


PHP קוד:

$arr[ID] = COUNT 

ואז הID של המוצר יהיה המפתח שישב בתוך הסוגריים המרובעות והכמות תיהיה הערך עצמו שיושב בפנים.

eilon11 04-10-09 13:35

אני מקווה שהבנתי אותך ואנסה לעזור לך.
שים לב מה אני מציע אם אתה עושה את זה בעזרת מערך.
כל מקום במערך ישמש לך מוצר לדוגמא מקום 0 במערך ישמש למוצר מס' 1.
אני בחרתי במוצר מס' 1 ומוצר מס' 3 ומוצר מס' 1 אז בקלות אתה עובד רק עם Count של +1 ומכניס פעמיים למקום 0 ואז יש בו 2 ופעם אחת למקום 2(בגלל שזהו מוצר מס' 3) וככה כל פעם מוסיף במקום הרצוי.
ואז לאחר מכן ההדפסה של המוצרים פשוטה מאוד, מקווה שהבנת בהצלחה.

Slash 04-10-09 15:16

קוד:

$arr['tv'] = 2
$arr['pc']= 4

יש הרבה שיטות , אין נכונה או לא נכונה .
יש פשוט שיטה נוחה ופחות נוחה .

servil 04-10-09 15:23

אוקיי חבר'ה לפי התגובות פה וקריאה קצת בתגובות מאתרים מחו"K בנושא הזה נראה לי שאלך על העניין של KEY ו VALUE...
עכשיו השאלה היא איך בעצם אני מגדיר KEY חדש?(למוצר שעדיין לא הוכנס לעגלת הקניות של הגולש).
איך ניתן לדעת בכלל אם קיים KEY כזה או שעוד לא?

תודה רבה על התגובות,
מתן.

shimlash 04-10-09 23:17

אתה יכול לתת לו ערך עם =+ ואז הוא מוסיף את הערך הקיים, ואם לא קיים אז הוא מוסיף 0.

Slash 05-10-09 02:08

כדי לבדוק אם KEY כבר קיים , אז יש את הפונקציה array_key_exists :
http://www.php.net/array_key_exists

ואם לא קיים אז אתה פשוט פותח אותו , נותן לו שם וערך לפי ההגדרות שלך מהDB או מהטופס .

servil 05-10-09 08:33

תודה רבה.
סיימתי את עגלת הקניות.

yard2010 05-10-09 13:38

אל תכעסו, אבל אפשר גם בכלל להתחרפן ולעשות אובייקט שיחזיק לך את כל הנתונים על קנייה, ואז לשמור הפניות שלו במערך... אני לא ממש בטוח כמה מקום הסשן יכול להחזיק, אבל מה שציינתי כאן טוב אם יש לך הרבה מידע שאתה רוצה לשמור.

עריכה: זאת לא הצעה לבעיה הספציפית שלך, סתם לידע כללי =]

Slash 05-10-09 13:49

ציטוט:

נכתב במקור על ידי yard2010 (פרסם 740945)
אל תכעסו, אבל אפשר גם בכלל להתחרפן ולעשות אובייקט שיחזיק לך את כל הנתונים על קנייה, ואז לשמור הפניות שלו במערך... אני לא ממש בטוח כמה מקום הסשן יכול להחזיק, אבל מה שציינתי כאן טוב אם יש לך הרבה מידע שאתה רוצה לשמור.

עריכה: זאת לא הצעה לבעיה הספציפית שלך, סתם לידע כללי =]

תסבך אותו עוד יותר ... מתחילים מפשוט ואז עוברים ליותר מורכב .

yard2010 05-10-09 13:53

ציטוט:

נכתב במקור על ידי Slash (פרסם 740949)
תסבך אותו עוד יותר ... מתחילים מפשוט ואז עוברים ליותר מורכב .

אמרתי אל תכעסו, ואמרתי שזה לא פתרון בשבילו, אלא סתם לידע כללי. המטרה הייתה שהוא יתעניין ויקרא על זה, וירחיב את הידע שלו. הוא ממילא סיים כבר את העגלה, כך שמה שאמרתי לא סיבך אותו בכלל.


כל הזמנים הם GMT +2. הזמן כעת הוא 18:29.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ