![]() |
[PHP&SQL-שאלה] מחיקת פריטים
נגיד ויש לי טבלה עם פריטים, לכל אחד ID משלו, נניח 1-10.
ויצא ככה והחלטתי למחוק את פריט 5. אז מה אתם הייתם עושים? הרי אני לא רוצה שיהיה באמצע חור, גם אם אפשר להתגבר על התצוגה, המשתמש לא ידע שיש חורים כאלו [נניח שהוא מסתכל פריט פריט דרך הדפדפן]. אז האם כדאי לעדכן את כל הפריטים מחדש ולמספר אותם מחדש כל פעם שמוחקים פריט? ואם יש לי 10k, זה יהיה עומס ענקי לא? אשמח לקבל פתרונות :) תודה. |
לא הבנתי מה אתה רוצה לעשות...איזה חור בדיוק?
|
אל תשתמש ב AUTO_INCREMENT - ותעשה מיספור ידני...הרבה כאב ראש.
|
מה זה משנה אם ידני או לא? ככה או ככה זה עולה חח =]
וגם אמור להיות הגיון במיספור הזה, אני לא יכול לשים פריט אחרון [11] במקום 5 |
כשאתה עושה ידני...אתה מכניס את ה ID.
ככה שאחרי כל מחיקה אתה צריך לחשב מחדש את הטבלה 2 רעיונות נוספים שעלו לי... תנסה להעתיק את הטבלה בשלמותה ותצור טבלה חדשה נגיד temptable עם אותו מידע בדיוק ואז תמחק את הטבלה ואז תעתיק שוב לשם המקורי (אפשר לעשות את הכל דרך MYSQL) אבל שוב זה לא יעיל הרעיון השני... תנסה להשתמש ב REPLACE עוד רעיון..אתה יכול להשתמש ב TIME עבור ה ID.. |
אממ הלעתיק לא נשמע לי טוב חח.
נראה לי עדיף שהוא יסדר את זה לפי הID שבטבלה, ואת הID שאני מקבל מהשתמש אני עושה LIMIT. תודה רבה :) |
פשוט לדעתי
אם המשתמש נכנס ל: index.php?id=5 והרגע מחקת את 5 אז תיצור תנאי, שאם לא נמצא מידע בשורה "5" אז: PHP קוד:
או שפשוט, אם לא נמצאו נתונים, תן למשתמש הודעה שהכתבה נמחקה (או מה שזה לא יהיה) |
לפי דעתי הכי פשוט אך לא הכי נח זה מיספור ידני של הדפים , כי אז אתה יכול ליצור פונקציית בדיקה שרצה על פעם שמישהו נכנס לדפדפן והיא בודקת "חורים" ואז היא עושה הכנסה מחדש לטבלה בצורת מחסנית - פריט יוצא עובר קדימה פריט אחר בא במקומו ועובר קדימה ככה עד שכל המיספור של הדפים מתעדכן !
אם לא הבנת למה אני מכוון או שיש לך בעיה בלוגיקה של הדברים ואתה רוצה עזרה פנה אלי אני ישמח לעזור ! |
הכוונה היא שהמשתמש יכנס לדפים על פי ID שכל הזמן עולה באחד, והכל יהיה בסדר.
בקשר למחסנית, זה לא יעבוד, נניח שיש לי 10000 פריטים, לעדכן כל פעם את כל השאר יצור עומס גדול. תודה לכל מי שניסה לעזור, אני חושב שהשיטה של הLIMIT היא הכי יעילה. |
כל הזמנים הם GMT +2. הזמן כעת הוא 23:13. |
מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ