פורסם 2008 בינואר 2217 שנים שלום. יש לי בדף checkboxlist שמציג רשימת ערוצים, המשתמש מסמן באיזה ערוצים הוא רוצה שהמאמר שלו יעודכן(מספר המאמר ידוע למשל כמאמר מס' 1). כאשר הוא לוחץ על submit אני עובר על הערוצים שנבחרו וצריך לעדכן בטבלה ב database כאשר בכל שורה מופיע מספר המאמר מול אחד הערוצים שנבחרו (many to many). כמובן שצריך לבדוק האם המאמר מעודכן מקודם על ערוצים אחרים שלא נבחרו עכשיו ולעדכן זאת. יש למישהו מושג איך עושים את זה? :-\ אם מישהו הבין למה אני מתכוון ויוכל לעזור לי, אני אשמח לתשובה, במקרה שלא תשאלו ואני אנסה לפרט יותר או אולי להביא דוגמא... תודה
פורסם 2008 בינואר 2317 שנים תחזיק טבלה שיהיו בה 2 עמודות:1) קוד מאמר (מספרי, מקושר לקוד מאמר בטבלת המאמרים)2) קוד ערוץ (מספרי, מקושר לקוד הערוץ מטבלת הערוצים)שהמפתח הראשי יהיה השילוב של השניים.כל פעם שאתה רוצה להוסיף מאמר לערוץ מסויים, אתה מוסיף שורה חדשה, שבעמודה הראשונה אתה תחזיק את קוד המאמר, ובשניה את קוד הערוץ.וכדי לבדוק באילו ערוצים מאמר מסויים נמצא, אתה תריץ שאילתא שתבחר את כל הערוצים עם קוד המאמר המסויים.נגיד שהטבלה תראה כך:קוד מאמר - קוד ערוץ1 - 21 - 52 - 14 - 11 - 7
פורסם 2008 בינואר 2317 שנים מחבר תודה אבל התכוונתי למשהו אחר, דוגמא: נגיד ואדם עושה כתבה, והוא צריך לבחור באילו ערוצים לפרסם את הכתבה, אז יש לו לדוגמא 3 ceckboxs, ערוץ חדשות ספורט וכלכלה. נגיד והוא בחר כלכלה וספורט, אז אני יודע שהוא בחר, ויש לי את המידע ביד, הבעיה שלי היא איך להוסיף את זה בטבלה שכל ערוץ יהיה בשורה נפרדת, ואיך לעדכן את הטבלה במידה והוא ירצה לשנות את הערוצים אח"כ.... תודה שוב
פורסם 2008 בינואר 2317 שנים אם אתה יודע באילו קודים של ערוצים הוא בחר, אז שים אותם במערך, ואז רוץ על כל אברי המערך, ועל כל אחד מהם צור שאילתת sql.הכוונה שלי היא שתיצור משהו כזה:strSql = ""nArticle = 1for (nIndex = 0; nIndex < arrChannels.length; nIndex++){strSql = strSql + "INSERET INTO tblArticleInChannel VALUES ('" + nArticle + "', '" + arrChannels[nIndex] + "'); "}המשתנה nArticle מכיל בתוכו את קוד המאמר (אמרת שהוא נתון), והמערך arrChannels מכיל את הקודים של הערוצים שהוא בחר.הלולאה בעצם רצה על כל התאים במערך (בעצם על כל הערוצים שהוא בחר), וכותבת את השאילתת sql המתאימה.אחרי הריצה של הלולאה, פשוט תריץ את strSql בתוך מסד הנתונים, וזה.הסינטקס שכתבתי הוא בגדול הC#, אבל זה לא קוד מסובך, אני בטוח שתבין איך להעביר את זה לשפה שבה אתה מקודד.** עריכה **לא שמתי לב ששאלת גם איך לעדכן.עדכון יהיה קצת יותר מסובך בקטע הזה. כי אתה צריך להוציא את כל הערוצים שבהם המאמר מופיע, לבדוק מול העדכון של המשתמש אילו ערוצים הוא רוצה להוריד, ולפי זה לפעול.אני מציע דבר פשוט, תמחק את כל השורות בטבלת הקישור בין הערוצים למאמרים המקשרים בין המאמר המסויים, לבין הערוצים שבהם הוא מופיע, ואז תוסיף מחדש את המאמר לערוצים שאליהם הכותב רוצה לשייך אותו אליהם.ז"א, בהתחלה להריץ את השאילתאDELETE * FROM tblArticleInChannel WHERE ArticleCode = article_codeואז להריץ שוב את הלולאה שהצעתי מקודם.אני בטוח שכנראה יש דרך יותר יעילה, אני פשוט לא מכיר את העיצוב של המערכת שלך, וזה פתרון שפחות או יותר יעבוד עם כל עיצוב מערכת.
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.