מחיקת רשומות
הרבה פעמים, בעיקר במערכות ניהול, אני רוצים להציג לגולש רשימה של כל הרשומות בטבלה מסויימת,
ולתת לו אפשרות למחוק כמה מהן במכה אחת.
זאת ניתן לעשות ע"י יצירת סדרה של תיבות סימון בעלות שם זהה, אך ערך ייחודי לכל אחת מהן.
מבנה הטבלה
לצורך הדוגמא, נשתמש בטבלה בשם myFriends , בעלת השדות הבאים:
- ID – שדה מסוג מספור אוטומטי
- Friend_Name – שדה מסוג טקסט המכיל את שם החבר
- Friend_Age – שדה מסוג מספר המכיל את גילו של החבר
- Friend_Address – שדה מסוג טקסט המכיל את כתובתו של החבר
הצגת הרשימה
נגדיר את אובייקט החיבור ואת הרקורדסט, ונפתח את החיבור לבסיס הנתונים:
1 2 3 4 5 6 |
|
נשלוף, בעזרת אובייקט חיבור ורקורדסט שהגדרנו קודם, את כל החברים בטבלה:
1 2 3 |
|
נפתח טופס ששמו myForm , וכ-action ניתן לו את הדף delete.asp.
1 |
|
בתוך הטופס, נבנה טבלה המכילה את כל פרטי החברים. לצד כל חבר, נציג תיבת סימון, בעלת השם toDel, ובערך, ניתן לה את מספר ה-ID של החבר.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
בסופו של דבר, נוסיף כפתור Submit, ונסגור את הטופס.
1 2 |
|
התוצאה תראה כך (שים לב שזו דוגמא בלבד, והטופס לא פועל) :
משה כהן | 13 | השקמה 21 | |
מה נחום | 45 | אליהו 12 | |
משה דוד | 67 | הנשיא 789 | |
משה לוי | 22 | עזה 89 | |
משה שמעון | 21 | יפו 61 | |
משה רחמיאלי | 17 | ירוחם 99 | |
משה שמוליק | 34 | תל אביב 56 | |
משה רחל | 15 | חיפה 45 | |
משה קרקוב | 45 | ישראל 2000 |
כדי למחוק רשומות, כל מה שעל הגולש לעשות, הוא לסמן את הרשומות שברצונו למחוק, וללחוץ על הכפתור. לאחר שליחת הטופס, נגיע לדף delete.asp
הדף list.asp בשלמותו:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
|
דף המחיקה
כאשר אנו מסמנים יותר מתיבת סימון אחת, ה-Request שלנו מכיל את כל הערכים של התיבות שסומנו (אלו שהן בעלות אותו שם) מופרדים בפסיקים. כלומר, אם סימני את התיבות שהערכים שלהם הם 1,4 ו- 6, אם נכתוב את השורה:
1 |
|
התוצאה תהיה 1,4,6.
קודם כל, נבדוק אם בכלל סומנה תיבה כלשהי (ניתן לעשות זאת גם בצד לקוח, לפני שהטופס נשלח):
1 |
|
אם הוא לא ריק, נגדיר את אובייקט החיבור, ונפתח את החיבור לבסיס הנתונים.
1 2 3 4 5 |
|
ניצור משתנה שיכיל את שאילת, המחיקה שלנו. בשאילתה נשתמש באופרטור IN, המקבל מספר ערכים מופרדים בפסיקים (בדיוק מה שה-Request שלנו מכיל):
1 2 3 |
|
אם נדפיס את השאילתה, היא תראה כך:
1 |
|
מה בעצם אומר: "תמחק את כל הרשומות מהטבלה myFriends, שה-ID שלהן הוא 1,4 או 6.
נפעיל את השאילתה באמצעות אובייקט החיבור (לאחר ביצוע שורה זו, הרשומות כבר נמחקו מבסיס הנתונים).
1 |
|
לאחר המחיקה, נעביר את הגולש חזרה לדף list.asp
1 |
|
הקובץ delete.asp בשלמותו:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
בהצלחה!
תגובות בפייסבוק