View Single Post
ישן 31-10-12, 16:43   # 5
אדיר
עסק רשום [?]
 
מיני פרופיל
תאריך הצטרפות: Mar 2008
מיקום: אשקלון
הודעות: 1,714

אדיר לא מחובר  

ציטוט:
נכתב במקור על ידי M.a.T.a.N צפה בהודעה
קודם כל למה שיהיו כפילויות? בכל פעם כשמשתמש נכנס למוצר מסויים זה יעשה חיפוש במסד אם המוצר כבר בעגלת הקניות שלו,
אם כן פשוט לא יהיה ניתן לרכוש עוד פעם את המוצר (אם הוא ירצה לקנות מס' פעמים את המוצר שיהיה את זה באפשרות נפרדת).

בקשר למחיקה - אני לא כ"כ הבנתי אם קיימת לך טבלה של המוצרים שמשתמש רכש, אם אין לך טבלה כזאת והכוונה שלך שכל המוצרים של המשתמש נמצאים בעמודה מסויימת בטבלה של המשתמשים אז ככה:
תעשה הפרדה במסד למשל של הסימן "|" שיפריד בין מוצר למוצר, ופשוט כשהוא ירצה למחוק מוצר מסויים תעשה לולאה שתריץ את הCOUNT של הEXPLODE של הסימן "|", בתוך תעשה תנאי אם המוצר הנוכחי שרץ בלולאה לא שווה למוצר שהוא רוצה למחוק שיעדכן לתוך משתנה את המוצר, אם זה המוצר שהוא רוצה למחוק אז הוא לא יעשה כלום.
בסוף תעדכן במסד את המשתנה שקיבלת (שהוא יהיה כמובן ללא הערך של של המוצר שהוא מחק).
לתת לך קצת כיוון הקוד יראה ככה +-:
PHP קוד:
$removeID $_POST['ID']; // המוצר שהמשתמש רוצה למחוק
$allProducts $row['productID']; //הערך של העמודה בה נמצאים כל המוצרים של המשתמש (מופרדים ב"|")
$ex explode("|"$allProduct); //מפצל ע"פ |
for($i=0;$<count($ex);$i++) //מתחיל לולאה שמריצה את כל המוצרים של המשתמש
    
if($ex[$i]!=$removeID//בודק אם המוצר שאני רוצה למחוק זה המוצר שרץ כרגע בלולאה
        
$updateProduct .= $ex[$i];    //אם לא פשוט לעדכן לתוך המשתנה כדי לשמור על המוצרים שלא נמחקו

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

איציק, תקרא על "many to many relationship" ותקח לדוג' את המבנה שהבאתי בתגובה הראשונה שלי.
  Reply With Quote