שלח תשובה

זירת השאלות

580
צפיות
21
תשובות

שליפת מספר מסויים של תווים

,‏ 24 בספטמבר, 2004

אני רוצה נגיד לשלוף מתוך אחת הרשומות שלי בתוך שדה המחרוזת infos
ומתוך השדה הזה שישלפו לדוגמא 22 תווים בלבד ומיד לאחר התו ה22 יהיה 3 נקודות .
כיצד זה אפשרי ?

תגיות:

21 תשובות

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

    עדיך לעשות זאת ברמת ה-SQL בד"כ

    SELECT (Right(msg,20) & "…") AS rgtField, … FROM tbl

  2. BuildHome הגיב:

    נכון אבל
    אני לא יודע אם הוא משתמש בתוכן ההודעה כולה או רק בתווים הראשונים.

    אם זה רק בתווים הראשונים אז כמובן שעדיף ברמת ה-SQL

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

    שכחתי לכתוב זאת כהערה
    רציתי לכתוב אבל שכחתי 😛

  4. prince01 הגיב:

    תודה לשניכם
    עקרונית אני משתמש בכך ב2 דפים שונים ,
    פעם ברמת הSQL ופעם רק לצורך הצגה חד פעמית
    כך ששניכם עזרתם לי :]

    חתימה טובה

  5. prince01 הגיב:

    בעיה בSQL שלי
    הנה הוא :


    "SELECT * FROM board WHERE p_id = "&strParam

    אני שיהיה מסודר כך שהרשומה החדשה ביותר תהיה בראש .
    ולכן אני צריך לצרף order by fid desc .
    אבל אני לא יודע איפה לצרף מאחר והמשפט SQL שלי מסתיים לאחר הstrParam ..
    כיצד אוכל לשלב ?

  6. BuildHome הגיב:

    ככה
    SQL = "SELECT * FROM board WHERE p_id = "&strParam&" ORDER BY id DESC"

  7. prince01 הגיב:

    עוד שאלה קטנטונת ..
    במשפט הSQL שלי אני רוצה שיכללו שני טבלאות ..
    בטבלה השנייה אני רוצה שזה יופנה לאיפה שp_id שווה ל18 .

    לפני העריכה :

    select * from  fcenter

    טבלאות :
    fcenter, pages

    ולהוסיף where p_id=18 שיקושר אך ורק לטבלה pages .
    מקווה שהייתי מובן

  8. BuildHome הגיב:

    INNER JOIN
    SQL = "SELECT fcenter.id,fcenter.field,pages.p_id FROM fcenter INNER JOIN pages ON fcenter.id=pages.p_pid WHERE pages.p_id=18"

    מקווה שהבנתי אותך נכון.
    ויש מאמר באתר על הסוגים של ה-JOIN.

  9. prince01 הגיב:

    עבודה עם קוקיז … למשהו ספציפי
    אני רוצה לבנות פונקצייה שתאפשר באמצעות תיבת Checkbox לא להציג יותר קובץ מסויים (הקובץ שאני רוצה הוא swf) .
    כך שאם המשתמש מסמן את התיבה ולוחץ על שליחה, איזור מוגדר של תגיות (שזה בעצם הobject וה embed של קובץ הswf שלי) – יוחלף בתגיות אחרות .

    בשפה יותר פשוטה, בהתאם למה שאני צריך :
    ישנה מצגת פתיחה בפלאש באתר (דף ראשי, default.asp) . אני רוצה לתת לגולשים בתוך דף אחר (index.asp) אופציית בחירה .
    אני רוצה שהמערכת תשאל את המשתמש אם הוא רוצה שהמצגת תופיע שוב בכניסה לאתר או לא (סימון התיבה – הכוונה היא לא) .
    במידה והמשתמש מסמן את התיבת בחירה (checkbox) , תושתל עוגייה אצלו במחשב שתדלג מהדף הראשי default לדף המשני index (באמצעות redirect) .

    – זה אפשרי ?
    – אם זה אפשרי, כיצד זה אפשרי ? מאיפה מתחילים ?

    תודה וחג שמח

  10. BuildHome הגיב:

    אולי אתה מתכוון למשהו כזה

    <form action="check.asp" method="post">
    <input type="checkbox" name="NoFlash" value="True"> אל תציג את מצגת האתר בכניסתי הבאה לאתר
    <input type="submit">
    </form>

    ———————————-
    <%
    NoFlash = Request.Form("NoFlash")
    If Len(NoFlash) = 0 Then NoFlash = False
    If NoFlash Then
          Response.Cookies("NoFlash") = True
          Response.Cookies("NoFlash").Expires = Now()+365
          Response.Redirect "default.asp"
    End If
    %>
    עכשיו על מנת לדעת אם להציג את המצגת פלאש או לא, תשתמש בערך הקוקיז:
    <%If Request.Cookies("NoFlash") Then%>
    אל תציג
    <%Else%>
    תציג
    <%End If%>

  11. prince01 הגיב:

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

    תודה ידידי … אשמח לצרף את השם שלך לרשימת ה"תודות" של האתר
    שאני פותח (השקעה מקצועית) . אתה מסכים ? אם כן, תחת איזה שם ? BuildHome או שם אחר ?

    אתה איש גדול .. ;-]

  12. BuildHome הגיב:

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

    תאריך התפוגה של הקוקיז שכתבתי בקוד הוא שנה מתאריך יצירתה.

    עדיף בכינוי BuildHome

  13. prince01 הגיב:

    OK , עובד .. אבל ישנה בעיה קטנה
    נגיד אני שולח את הטופס מבלי לסמן את התיבה … זה שולח בערך False נכון ?
    בכל אופן , לפני שסימנתי את התיבה ושלחתי הופיעה שגיאה שך String (type mismatch) המצביעה על שורת הif ..איך אפשר לתקן זאת ?

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

  14. BuildHome הגיב:

    אוקי
    נסה להוסיף את המשפט תנאי הזה (לפני משפט התנאי שבודק אם סימנת את התיבה):
    If NoFlash <> False or NoFlash <> True Then NoFlash = False
    על מנת למחוק עוגיה פשוט תגדיר לה תאריך תפוגה ישן:
    Response.Cookies("NoFlash").Expires = Now()-10

  15. prince01 הגיב:

    עדיין לא עובד ..הנה מה שדיברתי עליו
    מופיעה לי שגיאה בדף של הצגת הנתונים (Default) –
    השגיאה היא Type Mismatch והיא מצביעה על השורה :


    If Request.Cookies("NoFlash") Then

    במידה והתיבה סומנה ואושרה, השגיאה לא מופיעה והredirect פועל …
    איך אפשר לטפל בזה ?

  16. BuildHome הגיב:

    נסה כך
    If Request.Cookies("NoFlash") = "True" Then
    או
    NoFlash = If Request.Cookies("NoFlash") Then
    If NoFlash <> "True" and NoFlash <> "False" Then NoFlash = False
    If NoFlash Then

  17. prince01 הגיב:

    עובד מצויין ! תודה ידידי
    הכל עובד היטב …

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

    יש לך מושג אם אפשר לשלב את הסקריפט הזה בתוך פלאש ?

שלח תשובה