![]() |
[עזרה] מחיקה הצלחתי אבל למה ה id ממשיך לעלות?
שלום.
כבר פתחתי פה נושא או שניים שבהם קיבלתי עזרה ענקית. המשכתי ללמוד והייתה עצירה של שבועיים בערך, בימים האחורנים החלטתי להוסיף עוד פונקציה וזה מחיקת רשומה כלשהי. הצלחתי, זה פועל, יש לי רשימה של כל הרשומות, ליד כל רשומה מהטבלה יש לינק "מחק" שהלינק הזה שולח את המנהל לדף שנקרא delete=id. לא הבנתם הרבה אז הנה הדגמה: זה הדף שמראה את הכל, יש מתחת לכל רשומה לינק, לחצו עליו, זה ישלח אותכם לדף כלשהו ויכתוב שהמחיקה הצליחה, תחזרו לדף הקודם, תרעננו ואותה הרשומה נמחקה. הנה הדף: http://dorben123.awardspace.com/deleteshow.php לאחר שתעשו "מחק" אתם תעברו לדף השני. עכשיו, כאן באה הבעיה..נגיד הוספתי 10 רשומות: רושמה 1 רושמה 2 רושמה 3 רושמה 4 רושמה 5 רושמה 6 רושמה 7 רושמה 8 רושמה 9 רושמה 9 רושמה 10 לכל אחד יש id שונה, לרשומה 1 ה id=1 לרשומה 2 ה id=2 וכך הלאה. אם מחקתי את כולם, והוספתי עוד 10 רשומות, הם לא מקבלות id=1 ו id=2 אלא id=11 ו id=12, הבנתם? והנתונים במבד אכן נמחקו, אבל ה id ממשיך לעלות. השאלה שלי היא, האם זה אמור להיות ככה או שאם מחקתי רשומה כלשהי אז הרשומה הבאה תבוא על ה id של הרשומה הזו? מצד אחד אני לא חושב שיש לי בעיה, אבל מצד שני זה נראה לי קצת דפוק. זה נורמאלי מה שנוצר כאן? חפרתי אה? תודה :) |
ככה זה עובד, ככה כל מסד נתונים עובד.
|
ככה זה גם במערכות האחרות? של אתרים מתקדמים?
כי אני לא רוצה להתפשר.. בכל אופן הבנתי זה בסדר אז תודה רבה, פשוט חשבתי שמשהו בקוד שלי לא נכון כי אני עוד ממש מתחיל. אשמח לעוד תגובות כדי לוודאות, תודה. נ.ב שאני זה הולך לכתובת..למשל id=700 אני מקבל דף לבן. http://dorben123.awardspace.com/show.php?id=700 יש אפשרות לעשות שדף שלא נמצא יפנה לדף 404? זה לא אמור להות ריק, כי עדיין אין דף כזה, עדיין לו הכנסתי id=700. |
כן , כשאתה מקבל רשומות ממסד יש משתנה נלווה שמכיל את מספר הרשומות שנמצאו.
תבדוק את המספר שווה ל-0, אם כן, תעשה העברה לעמוד 404 . (אני לא נותן קודי מקור.. ) |
מה?
מה הכוונה שאני מקבל רשומות מהמסד? על איזה קוד להסתכל? לא ביקשתי קוד מקור אבל אם אתה יכול תכוון אותי יותר, זה לא נראה לי בעיה, רק if לא? תודה רבה. |
"מה הכוונה שאני מקבל רשומות מהמסד?"
כשאתה מפעיל קוד SQL עם המילה SELECT. "על איזה קוד להסתכל?" מי דיבר על קוד?! "לא ביקשתי קוד מקור אבל אם אתה יכול תכוון אותי יותר, זה לא נראה לי בעיה, רק if לא?" כן, בעיקרון זה רק IF, אבל צריך גם לקבל את מספר הרשומות שנמצאו, בעזרת פונקציה של php. ;P |
נו, אני שולף את הכל:
select * from table מה אני אמור לעשות פה? תודה.. |
בודק אם יש רשומה כזאת
select * from table WHERE id='700' ומשתמש בפונקציה mysql_num_rows לראות אם זה קיים.. |
רגע אז למטה אני צריך רק להוסיף:
PHP קוד:
רק את השורה הזאת? זה הקוד שלי כרגע, בלי השורה: PHP קוד:
רק להוסיף את השורה ההיא או שגם צריך להציב תנאי if כלשהו? קראתי על זה טיפה, בחלק יש if ובחלק לא.. השאלה היא האם רק הוספת השורה הזאת אמורה לעשות את זה.. אבל שאני חושב על זה חייב להיות פה תנאי if כי לפי מה שקראתי הפונקציה הזאת בודקת אם יש רשומות כאלה ואחרות במסד, אז אני צריך להגיד לו במקרה ויש תציג, במקרה ואין, תשלח לדף 404. תודה ושבוע טוב. |
תבדוק אם הערך של הפונקצייה mysql_num_rows מחזיר 0, אם כן תעביר את המשתמש לדף של לא נמצא או משהו.
|
כל הזמנים הם GMT +2. הזמן כעת הוא 22:14. |
מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ