שלח תשובה

זירת השאלות

534
צפיות
13
תשובות

תהליך החיפוש…

,‏ 3 בינואר, 2004

שמעו עשיתי חיפוש שמציב בפתיחת השליפה מהמסד נתונים שהכניס הגולש

select * from table where message like '%" & request.form("message") & "%'",oConn

השתמשתי גם בשיטת ה-getRows לחלוקה לדפים
עכשיו עולה השאלה אצלי …
איך אני עושה כמו בחיפוש בגוגל שהם מקצרים את התוכן מתוף החיפוש???

תודה לכל העונים

תגיות:

13 תשובות

  1. אממ… תן יותר פרטים…
    כמו למשל: ההודעה כולה, מחרוזת החיפוש הספציפית, הבנתי ש request.form("messeage") זה המחרוזת תקן אותי אם אני טועה… אבל מהו הטור של ההודעה כולה?

  2. אוקיי ניר…
    הנה קוד:

    <%=mid(rs("message"),instr(request.form("message") – 10,instr(request.form("message") + 10)%>

    מקווה שזה יעבוד כי כרגע המצאתי את זה…

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

    זה לא עובד…
    זה נותן לי שגיאה כזאת :::


    Wrong number of arguments or invalid property assignment: 'instr'

    יש למישהו/י פיתרון אחר ?

  4. סליחה!!


    <%=mid(rs("message"),instr(rs("message"),request.form("message") – 10,instr(rs("message"),request.form("message") + 10)%>

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

    גם זה לא עובד…
    ועכשיו זו השגיאה :::


    Type mismatch: '[string: "ב<b>ר&#1"]'

    למישהו יש אולי עוד פיתרון???

  6. זה בגלל שהדטא בייס לא מעביר את העבר
    שים בראש הדף

    <%@codepage=1255%>

  7. mrmistory הגיב:

    אולי ככה….
    אתה רוצה למשוך נגיד מטקסט שיש בו 1500 תווים רק 60 תווים ראשונים אז תנסה אולי ככה.

    dim TempString
    TempString=mid(rs.fields("YouField"),1,CountChars)
    response.write TempString

    CountChars=כמות תווים שאתה רוצה למשוך ממחרוזת

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

    תודה רבה אבל…
    בגוגל זה גם מראה את את המילה שחיפשתי בתוך התוכן המקוצר
    איך אני מבסס את זה על הקוד הזה ?
    יענו יש 1500 תווים ואני שולף 60 אבל מבין ה-60 תווים האלו אין הערך שחיפשתי
    אז איך אני מחפש בתוך התוכן ומציג את התוצאות כמו בגוגל ?

  9. ל-nirtheking
    הנה קוד מתוקן (סופי)


    <%
    wherefound = instr(cstr(rs("message")), cstr(request.form("message")))
    if wherefound < 10 then
    countfrom = wherefound
    else
    countfrom = 10
    end if

    if wherefound > len(rs("message") – 10 then
    countto = len(rs("message") – wherefound
    else
    countto = 10
    end if

    <%=mid(cstr(rs("message")),wherefound – countfrom,wherefound + countto)%>

    גם זה אני לא בטוח שיעבוד, תנסה…

  10. יאו גם כן אני…


    <%
    wherefound = instr(cstr(rs("message")), cstr(request.form("message")))
    if wherefound < 10 then
    countfrom = wherefound
    else
    countfrom = 10
    end if

    if wherefound > len(rs("message") – 10 then
    countto = len(rs("message") – wherefound
    else
    countto = 10
    end if
    %>

    <%=mid(cstr(rs("message")),wherefound – countfrom,wherefound + countto)%>

    שכחתי לסגור ב%> חחחחח

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

    שמע…
    אלון שמע אני עובד עם getRows וגם הכנסתי את השדה Message לתוך משתנה כדי לבצע רפלייס
    ולבסוף הקוד לא עובד כי ה-len לא מצליח לקרוא לי את המשתנה Meesage
    את השורה הזאת :::


    countto = len(rs("message") – wherefound)

    הפכתי לזה :::


    countto = len(message – wherefound)

    וגם היה חסר לך : (

    ותודה רבה (למרות שזה לא עובד)

  12. Bsdm הגיב:

    הנה הרעיון
    הקוד יעבוד רק אם הGETROWS הוא מערך(אני לא יודע כל כך ASP אני בעיקר עובד בPHP).
    בWHILE או הFOR של ההדפסה אתה מציב משתנה עם התוכן.
    אחר כך אתה עושה FOR למשתנה עד נגיד למספר 7 ואז מדפיס בתוך הFOR מהמערך של המשתנה את המספר הנה דוגמה:


    while
    i=0
    messege = rs("messege")'אתה יכול לשנות את הRS לכל משתנה או מערך שבא לך
    FOR i >100'מספר התווים
    response.write messege[i]
    LOOP
    end while

    אני די בטוח שהסיטקס לא נכון אבל אתה תמיד יכול לשנות אותו.
    בהצלחה

שלח תשובה