609
צפיות
צפיות
17
תשובות
תשובות
התנאיות בASP
היי,
אני מנסה ליצור תנאי בASP שיש בו כמה "and" וזה פשוט לא הולך….
אני חושבת שהבעיה היא ב"and" האחרון..
מישהו יודע מה אפשר לעשות…? זה די דחוף….
תודה
היי,
אני מנסה ליצור תנאי בASP שיש בו כמה "and" וזה פשוט לא הולך….
אני חושבת שהבעיה היא ב"and" האחרון..
מישהו יודע מה אפשר לעשות…? זה די דחוף….
תודה
17 תשובות
מספר דברים..
קראי אך מציגים שאלה..
וזה לא בפורום המתאים….
פורום צד שרת זה הפורום שאת צריכה..
להציג קוד רלוונטי, שגיאה….כרגיל..
קוד של הASP
חלק מהקוד מצורף. אין הודעת שגיאה, זה פשוט לא מראה כלום, כאילו לא קיימת רשומה כזו במסד הנתונים, למרות שקיימת. המשתנים מוגדרים נכון והבעיה היא לא איתם, כי אם אני שמה "or" במקום ה"and" האחרון זה עובד, אם אני מורידה את המשתנה האחרון (ושוב פעם יש רק and ) זה שוב לא מראה כלום, הוא מראה רק עם or (גם הרבה or) או עם and אחד…
עזרה…..בבקשה…..
אני טועה או שאת
קראת לשדות בטבלת מסד הנתונים בשמות בעברית??
הדפסת את המשתנים בצורה שניתן להשוות ביניהם, למשל:
<%
Response.Write azor&"="&rs("אזור")
וכך לראות אם השווים באופן ויזואלי (להשוות ערכים).
השוואת ערכים
אכן כתבתי את הערכים בעברית, אבל זה לא עושה שום בעיה שקשורה לזה….ניסיתי גם עם ערכים באנגלית והבעיה נשארה……
השוואתי את הערכים ויצא שכולם תואמים….
יש לך מושג מה עדיין יכולה להיות הבעיה???
צרפתי את כל הקוד, למקרה שזה יעזור….
בעמוד עצמו
למשל אם תבטלי את התנאי, המידע שנשלף מהמסד הוא בעברית?
הקוד עצמו נראה די תקין…
איך השוואת? לא ראיתי את הקוד של ההשואה שלך בקוד שצירפת.
ההשוואה
כשאני מבטלת את התנאי, אז המידע הוא בעברית.
השוואתי בדף אחר, העתקתי את כל המשתנים ואת הקישור למסד והשוואתי ויצא שהכל בסדר…..
אם אתה רוצה לראות את ההשוואה אז צרפתי את זה….
בכל אופן, ממש תודה על העזרה(:
בקוד השלם שלך
הלולאה עובדת אם את מסירה את משפט התנאי? האם מוצגים כל הרשומות?
ולמה את לא משתמשת בשאילתה שלמה (select…from…order by)?
הקוד עצמו נראה לי תקין.
אם אני מסירה את התנאי
הלולאה עובדת ומחזירה את כל הרשומות.
אני לא ממש מבינה בכל התנאים, ככה שאני לא מכירה את השאילתה שאתה מציע לי…
אם בא לך להסביר לי, מה טוב (מאוד!)
כנסי למדריך SQL
באתר, הוא מסביר היטב כיצד לכתוב שאילתות שליפה, עדכון, מחיקה ועוד.
אם יש בעיה, אנחנו כאן כדי לעזור
מצאתי את הטעות!
בדקתי שוב את כל הקוד…..
הבעיה הייתה שלא היה rs ליד אחד המשתנים בתנאי….
עכשיו זה עובד…..ושוב, תודה.
לאחר מציאת הטעות, יש לי שאלה נוספת
בניתי טופס ב html , עכשיו, אני רוצה ליצור מצב שאם לא כל השדות מלאים שיעשה
"וגם" בין אלה שכן מלאים…אני כאילו צריכה לכתוב תנאי שאם כל משתנים שהם ="" אז שיעשה "וגם" בין אלה שמלאים….
חיפשתי במדריך הsql ולא ראיתי משהו שדומה לזה…..
תיקון קטן
אני צריכה: אם כל משתנים שהם="" וגם כל משתנים שהם=למשהו שמופיע בטבלא באקסס, אז שיהיה "וגם" בין מה שמופיע באקסס. כלומר, המשתנים הממולאים לא יהיו סתם: <>"", אלא מופיעים באקסס.
אני חוששת שהשרשור שלי יהיה בקרוב הארוך מכולם…..
לא הבנתי
אנא נסי להסביר בצורה טובה יותר.
הסבר טוב יותר…
בניתי טופס בHTML שמכניסים בו נתונים, למשל אני רוצה בית בת"א וגם 5 חדרים וגם קומה 1 וגם בצפון העיר, ולפי מה שממלאים בטופס, מקבלים פלט של מה שמופיע באקסס ומתאים לנתונים שהכנסתי. מה שאני רוצה לעשות זה שאם לא ממלאים את כל השדות, שיהיה "וגם" בין כל שכן מילאתי, למשל אם לא מילאתי את שדה הקומה, אז שאני אקבל את כל הדירות בת"א, בצפון עם חמישה חדרים.
בתנאי שבניתי יש רק and בין כל המשתנים, אז במקרה שאני ממלאת רק שני שדות בטופס, אז הוא לא מחזיר כלום, כי יש שדות ריקים(="") ובתנאי מוגדר שאם
משתנה =("רשומה באקסס") אז שיציג את מה שמתאים.
מה שאני צריכה כביכול זה פקודה שאומרת שאם יש משתנה/ים כלשהם בטופס שלא מולאו, כלומר ="", אז שיהיה "וגם" בין כאלה שכן מולאו כלומר =("רשומה באקסס").
אפשר כמובן לרשום בקוד את כל האפשרויות שיש, כלומר אם משתנה X="" אז לעשות וגם בין כל הארבעה ששוים לרשומה באקסס, אבל יש מאות צירופים וזה לא ממש ריאלי….
מצטערת על האורך…..מקווה שזה באמת מסביר את מה שאני רוצה לעשות.
נראה לי שהבנתי אותך
כנסי למדור SQL ומדריך SQL באתר ותלמדי בנוגע לשאילתות שליפה עם WHERE.
תצטרכי לעשות שאילתה הדומה לזו:
SELECT [fields] FROM tbl WHERE [field1]='"&Request.Form("field1")&"' AND [field2]='"&Request.Form("field2")&"' AND [field3]='"&Request.Form("field3")&"' ORDER BY [field4] DESC"
השאילתה בעצם שולפת את כל הרשומות שהשדות שמוגדרים בשאילתה שווים לערכים שנשלחו בטופס.
אין צורך ומיותר בהחלט להשתמש במשפט תנאי שעשית אלא לעשות שאילתה בסגנון שכתבתי ולעשות לולאה על תוצאות הנתונים הרצויים מהטופס.
תודה
ושוב פעם, תודה רבה!!
אני אנסה את זה ואעדכן בנוגע למתרחש…