שלח תשובה

זירת השאלות

431
צפיות
9
תשובות

שאלה בקשר לבסיס נתונים

,‏ 9 במרץ, 2004

בניתי מנגנון שולח 3 מיילים מתוך רשימה של 20 בכל פעם שמישהו נרשם לאתר.
המנגנון עובד בצורה של שליחת 3 מיילים ואז הוספת המפסר 3 למשתנה כדי שבפעם הבאה שהוא יישלח את המיילים הם יישלחו מ 4 עד 6 (מספר circleID).

הבעייה היא כזו:
איך אני מחזיר את המחזוריות להתחלה אחרי שהמספר ה circleID גדול ממספר הרשומות. אם המספר הוא 21 ויש לי רק 20 רשומות אני רוצה שהוא ימשיך את השליחה על ידי "קפיצה" למקום הראשון שוב.

איך עושים את זה?

תודה

תגיות:

9 תשובות

  1. אחרי כל שליחה
    אתה בודק את מספר הרשומות, ואם המספר שלך גדול יותר – אתה מאפס אותו.

  2. mynameispepper הגיב:

    the thing is that I don't want to
    make the RS as YERO but I want it to continue…

  3. mynameispepper הגיב:

    ובעברית…
    אני לא רוצה לאפס את האינדקס אלא להמשיך את המחזוריות שלו.
    אם הוא נעצר על מספר 9 (מתוך 10) והוא צריך לשלוח עוד 3 מיילים נוספים אז הוא ישלח למספר 10, 1 ו 2 וייעצר על 2. זה מה שאני מחפש לעשות.

    יש איזה רעיון?

    תודה מהפפר

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

    רעיון
    תעשה כך (בגדר הרעיון):
    תבדוק בתנאי אם המשתנה שווה ל-10 (אחרי השליחה) ואם זה נכון החזר את המשתנה ל-1 ואם המספר לא שווה ל-10 הוסף לו אחד

  5. mynameispepper הגיב:

    זה לא מה שאני מתכוון…
    כל הקטע הוא שאני לא רוצה לאפס את ה RS אלא להמשיך אותו.
    אם ה RS הוא בעל מספר 35, אני רוצה שהוא ירוץ על 20 רשומות וייעצר על מספר 35 (רשומה מספר 15 בסופו של דבר).

    איך עושים את זה?

    תודה!

  6. mynameispepper הגיב:

    ההסבר שוב…
    יש לי בסיס נתונים של מיילים (כרגע, כ 19 מיילים). בכל פעם שמוזן מידע לאתר צריכים להישלח 3 מיילים מהבסיס נתונים של המיילים.

    אני שולח אותם בקבוצות של 3 וכל פעם שאני גומר לשלוח אותם אני מעדכן משתנה בבסיס הנתונים שסופר לי כמה רשומות נרשמו.
    זאת אומרת, המשתנה קופץ בקפיצות של 3. נשלחו 3, נשלחו 6, נשלחו 9 והלאה…

    הבעייה מתעוררת כשאני מגיע לסוף הרשימה אבל עדיין צריך לשלוח מיילים.
    לדוגמא:
    שלחתי 6 סיבובים של מיילים (עכשיו המפסר של המשתנה שלי הוא 18, 6X3) ועכשיו אני צריך לשלוח את הסיבוב הבא שיתחיל מאימייל מספר 19 ואז ה RS צריך לעבור למייל מספר 20 אבל הוא לא קיים אז הוא אמור לשלוח את מייל מספר אחד ואת מייל מספר 2, לעצור שם ולעדכן את המספר הזה ל מספר 21.

    בפעם הבאה שיישלחו המיילים ה RS (שיהיה מספר 21) צריך להתחיל ממספר 3 בעצם עד 5 (כולל).

    מקווה שזה מובן עכשיו, המון תודה –
    פפר

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

    הצעה
    תעבוד עם getRows זה יעזור לך יותר כי בגט-רואס אתה עובד עם מספרים בניגוד לרקורדסט שבו אתה עובד עם שמות. עכשיו בסוף כך לולאת FOR (שים לב) אתה בודק האם קיים המשתנה הבא במערך

    for (i=0;i<arr.length;i+=3){
    stateMents…

    if (!arr[i+3])
    exit;

    }

    כמובן שזה ב-JS ב-VBS תצטרך לשנות כמה דברים והכי חשוב כל פעם שהלולאה מתחילה שוב (כל אינטרציה) שה-i (לדוגמא) יעלה ב-3

  8. אוריקס הגיב:

    אני לא מבין מה הסיבוך פה….
    צריך להיות לך משתנה אפליקציה שמציין את מספר המייל האחרון ששלחת [נגיד 10] ואת מספר המיילים הכללי [נגיד 19].

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

שלח תשובה