הנה שאלה...

קיפוש

New member
הנה שאלה...

עדין בקשר לשלוש הטבלאות... הדרך הכי יעילה כללה סימון צקבוקס לכל קהל יעד של הארוע.. השאלה שלי.. איך אני מבצע את ההכנסה לDB אם אני לא יודע מה מספר הצקבוקסים?
 

rmarko

New member
למה אתה לא יודע? ../images/Emo17.gif

אין לך מספר קבוע של קהלי יעד? או שאתה מדבר על במקרה שתרצה להוסיף/להוריד בעתיד?
 

rmarko

New member
אם כן ../images/Emo17.gif

כשאתה מציג את הצ´קבוקסים של הבחירה, תעשה משהו כזה:
strSql = "select * from tblAudience order by intID" objRecset.Open strSql, objConn, 1, 1 while not objRecset.EOF Response.Write "<input type=´checkbox´ name=´aud & objRecset("intID") & "´>" & objRecset("strName") & "<br>" objRecset.MoveNext wend​
עכשיו כדי להכניס את זה למסד, תפתח רקורדסט של הטבלה השלישית ו-:
dim objItem, intTemp for each objItem in Request.Form intTemp = CInt(Mid(Item, 4, Len(objItem))) ´ you can write 3 instead of Len(objItem) because you´ll never have more than 999 audiences objRecset.AddNew objRecSet("intEventID") = intEventID objRecSet("intAudienceID") = intTemp objRecset.Update next​
 

rmarko

New member
אה רגע, שכחתי if ../images/Emo17.gif

זה הקוד השני:
dim objItem, intTemp for each objItem in Request.Form if Left(Item, 3) = "aud" then intTemp = CInt(Mid(Item, 4, 3)) end if objRecset.AddNew objRecSet("intEventID") = intEventID objRecSet("intAudienceID") = intTemp objRecset.Update next​
 

rmarko

New member
אההה... יותר מדי טעויות

dim objItem, intTemp for each objItem in Request.Form if Left(objItem, 3) = "aud" then intTemp = CInt(Mid(objItem, 4, 3)) end if objRecset.AddNew objRecSet("intEventID") = intEventID objRecSet("intAudienceID") = intTemp objRecset.Update next​
 

rmarko

New member
%#%!&%!@$&%#$%$#@

dim objItem, intTemp for each objItem in Request.Form if Left(objItem, 3) = "aud" then intTemp = CInt(Mid(objItem, 4, 3)) objRecset.AddNew objRecSet("intEventID") = intEventID objRecSet("intAudienceID") = intTemp objRecset.Update end if next​
 

rmarko

New member
../images/Emo46.gif תן ת´כסף ות´ ../images/Emo54.gif האלקטרוני!

 

rmarko

New member
משתנה זמני

עשיתי לו אפילו dim אם שמת לב. הוא רק מכיל את כל החלקים ב- collection של ה- request.form. כל חלק כזה הוא... דומה לאובייקט, לכן קראתי לו objItem, אבל השם לא משנה. זה כולה משתנה.
 

rmarko

New member
בעצם כשאני חושב על זה,

זה בכלל מחרוזת, זה לא דומה לאובייקט.
 

rmarko

New member
הפורם, לא הפורום, בוש לך

בערך. כשעושים for each item in request.form אז אתה מקבל את כל השמות name שהועברו בטופס. כדי לאחזר את הערך של אותו name, אתה עושה (request.form(item.
 

קיפוש

New member
סליחה ומחילה..

אגב, יש כבר בעיה חדשה.. מה עושים במסך העריכה, כלומר אני צריך גם לשלוף את כל הסוגים וגם את מה מסומן ומה לא...
 

rmarko

New member
../images/Emo17.gif זה כבר אחרי שזה במסד?

אם כן, אני מקווה שזה עובד:
strSql1 = "select * from tblAudienceTypes order by intID" strSql2 = "select intAudienceID from tblEventsAudiences where intEventID = " & EventID & " order by intAudienceID" objRecset1.Open strSql1, objConn, 1, 1 objRecset2.Open strSql1, objConn, 1, 1 while not objRecset1.EOF Response.Write "<input type=checkbox name=´aud" & objRecset1("intID") & "´" if objRectset1("intID") = objRecset2("intAudienceID") Response.Write " checked" objRecset2.MoveNext end if Response.Write ">" & objRecset1("strName") & "<br>" objRecset1.MoveNext wend​
tblEventsAudiences זה הטבלה השלישית. עשיתי שני רקורדסטים כי מצד אחד אנחנו רוצים את כל הרשימה בין אם הקהל הספציפי סומן ובין אם לא (or) ומצד שני רוצים גם את החיתוך של הקהלים שכן סומנו (and). אלא אם כן אני מתעלם ממשהו - לא נראה לי שאפשר לעשות inner join.
 

rmarko

New member
שתי טעויות

1. ב- open השני כתבתי strSql1 2. שכחתי שוב if
strSql1 = "select * from tblAudienceTypes order by intID" strSql2 = "select intAudienceID from tblEventsAudiences where intEventID = " & EventID & " order by intAudienceID" objRecset1.Open strSql1, objConn, 1, 1 objRecset2.Open strSql2, objConn, 1, 1 while not objRecset1.EOF Response.Write "<input type=checkbox name=´aud" & objRecset1("intID") & "´" if not objRecset2.EOF if objRectset1("intID") = objRecset2("intAudienceID") Response.Write " checked" objRecset2.MoveNext end if end if Response.Write ">" & objRecset1("strName") & "<br>" objRecset1.MoveNext wend​
זהו, עכשיו אני לא בודק את זה יותר! מצידי שתכשל !!
 

קיפוש

New member
מזמן ההודעה הזאת לא קיבלה קפיצה !!

אבל כרגע יצא לי להתעמק מה... אם הבנתי נכון אני שולף את כל סוגי הקהילם האפשריים.. ומצד שני את כל סוגי הארועים הנוכחיים, לא הבנתי איך המידע מצטלב...
 
למעלה