שלח תשובה

זירת השאלות

572
צפיות
26
תשובות

בעיה ב-If

,‏ 17 בינואר, 2004

שלום לכולם!
יש לי בעיה בתנאי הבא:

<%
for i=1 to 4
if not rs("a"&i) = "" then
%>
<input type="radio" name="hit" value="h<%=i%>"><%=rs("a"&i)%></input>
<br>
<%
end if
next
%>

* rs זה RecordSet והוא מוגדר
הבעיה:
התנאי מתקיים פעמיים, כלומר יש פעמים rs(a1) ו rs(a2) הם לא ריקים..
אך משום מה הוא לא כותב לי את הקטע האדום, שזה מה שיש ב- rs(a1) ו rs(a2)
הוא רושם רק את הכפתור הרדיו פעמיים…

מישהו יכול לעזור לי?

תודה לכל העוזרים, אלברט

תגיות:

26 תשובות

  1. albert הגיב:

    בבקשה
    מישהו יודע..?

    תודה לכ העוזרים, אלברט

  2. albert הגיב:

    עדיין לא עובד…
    מה עושים?

    תודה, אלברט

  3. albert הגיב:

    כן!
    וזה מה שמשגע אותי
    בלי if הוא מציג הכל יפה…
    רק שאם נגיד יש נתונים רק בa1 וa2? אז הוא סתם יציג לי כתי כפתורי רדיו ריקים…
    ובגלל זה עטפתי את זה בif…
    יש לך רעיון?

    תודה, אלברט

  4. albert הגיב:

    יש לך רעיון אחר?
    אשמח אם תציע לי משהו אחר שיעשה את העבודה הזאת…

    תודה, אלברט

  5. בטח
    לעבור על הרקורד בשיטה המקובלת…

    while(!oRs.EOF)

  6. albert הגיב:

    אבל:
    זה לא על כל הרשומות, זה על רשומה אחת שיש בה כמה שדות…
    כלומר באותו הID יש a1,a2,a3,a4 ולא בטוח שיש בכל בהשדות האלו נתונים…
    מה אני עושה?

    תודה, אלברט

  7. נסה את זה:


    <%
    for i=1 to 4
    if rs("a"&i) <> "" then
    %>
    <input type="radio" name="hit" value="h<%=i%>"><%=rs("a"&i)%></input>
    <br>
    <%
    end if
    next
    %>

  8. albert הגיב:

    ניסיתי את זה לפני
    שכתבתי את השאלה בפורום…
    וגם ניסיתי ככה:

    Len(rs("a"&i)) <> 0

    אבל עדיין זה לא עובד… מה אני יכול לעשות?

    תודה, אלברט

  9. לא מכניס לרקורד בכלל
    השאילתא עצמה תברור מתוך הטבלה את מה שאתה צריך בדיוק בעזרת WHERE.

    יש הסבר מפורט על השימוש בו במדריך SQL כאן באתר.

  10. albert הגיב:

    לא בדיוק הבנתי…
    מצטער אבל לא ממש הבנתי אותך…
    אתה יכול להסביר לי אחרת?

    תודה, אלברט

  11. ניר טייב הגיב:

    ממתי שמים…
    ערך לכתיבה בין תגית של input תעשה כך :::

    <% =rs("a" & i) %>
    <input type="radio" name="hit" value="h<%=i%>"></input>

  12. albert הגיב:

    ניסיתי…
    ניסיתי את זה גם…
    אבל עדיין לא עובד… אני לא מבין למה הוא לא כותב את rs("a1") ןrs("a2")?
    מה הבעיה שלו?

    תודה, אלברט

  13. ניר טייב הגיב:

    יכול להיות…
    שקוד הזה לא פועל כי זה לא מקבל את הכתיבה הזאת :::


    <% =rs("a" & i) %>

    נסה כך :::


    for i=1 to 4
    select case i
    case 1
    response.write rs.fields("a1")
    case 2
    response.write rs.fields("a2")
    case 3
    response.write rs.fields("a3")
    case 4
    response.write rs.fields("a4")
    end select
    %>
    <input type="radio" name="hit" value="h<%=i%>"></input>
    <% next %>
    <br>

    ובכל אחד מה-caseים תעשה if קצת מסורבל אבל לדעתי זה יעבוד

  14. albert הגיב:

    ככה:?
    אתה מתכוון לזה:?

    select case i
    case 1
    if rs.fields("a1") <> "" then
    response.write rs.fields("a1")
    end if
    case 2
    if rs.fields("a2") <> "" then
    response.write rs.fields("a2")
    end if
    case 3
    if rs.fields("a3") <> "" then
    response.write rs.fields("a3")
    end if
    case 4
    if rs.fields("a4") <> "" then
    response.write rs.fields("a4")
    end if
    end select

    תודה לך על העזרה… אבל עדיין זה לא עובד (לפי הקוד שכתוב למעלה) אני מתחיל להתשגע כבר….

  15. albert הגיב:

    אבל זה עדיין לא עובד?
    מה אני עושה?
    בבקשה…

    תודה, אלברט

  16. זהר פלד הגיב:

    טוף, הגיע הזמן להתערב בשרשור הזה…
    הוא כבר מתחיל להיות שרשורפלצת.

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

  17. ניר טייב הגיב:

    נסה לעשות דבר כזה
    במקום הבדיקה של ה-if שלך תעשה if אחר כזה :::


    if not isEmpt(rs.fields("a1")) then
    response.write rs.fields("a1")
    end if

    מקווה שזה יעבוד

  18. albert הגיב:

    הופה! סוף סוך אני מקבל הודעת שגיאה:
    זה לא שאני שמח, אבל עכשיו אפשר להבין מה הבעיה, הנה השגיאה:

    Microsoft VBScript runtime error '800a000d'

    Type mismatch: 'isEmpt'

  19. ניר טייב הגיב:

    שלא תטעה כי אני טעיתי
    שכחתי את האות Y ב-isEmpty

שלח תשובה