500
צפיות
צפיות
19
תשובות
תשובות
שאלה על מערכים
במאמר על מערכים ב VBS יש הסבר על FILTER אז חשבתי אם אפשר לעשות חיפוש עם הפילטר לבחור את המילים עם האות או הסטרינג שחיפשנו ולשים להם צבע BACKGROUNG ז"א לעשות את החיפוש עצמו עם WHERE או איך שאתם עושים לאחר שמוצאים את התוצאות מחפשים איפה הסטרינג שחיפשנו עם FILTER לסמן אותו ואז לחבר אותם עם פונקציית JOIN ואז יוצא שהמילים שחיפשנו יסתמנו בצבע וכל שאר המילים לא …
אז שאלתי היא… האם מה שאמרתי זה נכון , האם אפשר לעשות דבר כזה ?
19 תשובות
מה רע ברפלייס פשוט?
בלי להכביד עם מערכים.
דוגמא קטנה
<%
str = Request.Form("Search")
str = Replace(str,str,"<span style=""background-color:yellow;"">"&str&"</span>")
%>
הקוד מחליף את מילת החיפוש באותה המילה רק עם רקע בצבע צהוב.
שיטה פשוטה וקלה.
במקרה שהדגמת מספיק רק לשרשר אליו את
התגיות
<% str = "<span style=""background-color:yellow;"">"&Request.Form("Search")
&"</span>")
כן נכון אבל הפתרון שלך לא מתאים לו
הוא צריך לבצע החלפה בתוך כל תוכן הודעה או כל תוכן אחר כך שמה שכתבתי מתאים לו מאחר והוא מבצע החלפה בתוך תוכן מלא ושונה וצריך לבצע החלפה רק למילת החיפוש ולא לכל התוכן.
עדיין אתה טועה
כך צריך להיראות הריפלייס
strSearch = Request.Form("Search")
strMessage = Replace(strMessage,strSearch,"<b>"&strSearch&"</b>")
כן אני יודע
ראיתי שטעיתי בשורה הראשונה אבל חבל היה לכתוב עוד הודעה..
אהה אוקי ויש לי עוד שאלה
הוצאתי מידע עם GETSTRING והוא נראה ככה 1,2,3,3,4,8,97,5
(זה בשביל פורום רקורסיבי) אז איך אני יכול להגיד לו שלמשל ה5 נתונים הראשונים שייכים להודעה הראשונה וה 5 נתונים השניים שייכים לשנייה
איך עושים את זה ?
אז ככה…
עליך לפצל את המחרוזת למערך ע"י הפונקציה SPLIT
JS:
str = str.split(",")
VBS:
str = SPLIT(str,",")
לאחר מכן אתה מוזמן לקרוא את המאמר שלי על ה-getRows ב-JS כי המערך שאתה מקבל יהיה כמו מערך getRows של JS ובמאמר שלי על פורום רקורסיבי אני משתמש בטכניקה הזו
(מדור ASP מאמרים למתקדמים)
אני קראתי את המאמר שלך
אבל במאמר אתה משתמש בפונקציית GETSTRING
strRecArray = rs.getString(2,-1, ",", ",")
נכון ולאחר מכן
אני מעביר את המחרוזת ללקוח ומפרק אותה למערך חד מימדי (כמו מערך חד מימדי של GETROWS ב-JS)
אההה
ואז נגיד התא הראשון הוא השם משתמש
התא השני הוא ההודעה
ככה זה הולך ?
ואתה קורא להם ככה ?
INDEX+1
ולשני
INDEX+2
תא ראשון הוא רק INDEX
תא שני הוא INDEX+1
אתה יכול להתייחס אל INDEX כאילו הוא 0 ב-getRows שנפלט ב-VBS
לפי השיטה שלי כך פונים לאיבר במערך ה-getRows בכתיבת JS
INDEX = מספר השורה*מספר השדות+מס' השדה
כאשר שורה ראשונה היא 0 ומס' השדה הראשון ברשומה הוא 0
נגיד יש לנו 5 רשומות ובכל רשומה 7 תאים
אנו רוצים לפנות לשדה השני ברשומה 4 אז נעשה כך:
index = 4*6+1 = 25
הלוואי וזה היה כזה קל
אחרי כל הלמידה עדדין לא מצליח לי ניר סתכל מה עשיתי
ASP::
rs.open " SELECT top 5 * from Forum ", oConn, 3, 3
If Not rs.EOF Then
strRecArray = rs.getString(2,-1, ",")
cntFields = rs.fields.count
End If
JS::
<script type="text/javascript">
var recArray = "<% =strRecArray %>"
recArray = recArray.split(",")
</script>
הטעות היא קבוע מחרוזת לא גמור
הנה הקוד מקור של התוצאה
<script type="text/javascript">
var recArray = "1,13,0,3,3,13,08/06/04 17:06:55,08/06/04 15:28:59
1,2,0,1,1,2,08/06/04 15:28:59,08/05/04 15:28:59
1,4,2,2,2,4,08/06/04 15:41:13,11/06/04 15:41:13
1,14,0,123,123,14,08/06/04 17:10:53,08/06/04 17:10:53
1,15,4,נועם,נעופ
,4,08/06/04 17:17:32,
"
recArray = recArray.split(",")
</script>
עזרה, פליז…
נסה:
<script type="text/javascript">
var recArray = "<% =strRecArray %>"
recArray = recArray.substr(0, (recArray.length-1))
recArray = recArray.split(",")
</script>
ובשרת
strRecArray = rs.getString(2,-1, ",")
strRecArray = replace(strRecArray, vbCrLf, "")
עדיין
שגיאה " קבוע מחרוזת לא גמור"
ניר ניסיתי לרשום במקום הStr Rec Array
רק 5 וזה פעל אז אולי הבעייה בגאטסטרינג
( גאטסטרינג GET STRING AKA )
הנה הקוד ששמתי בגאטסטרינג
rs.open " SELECT * from Forum ", oConn, 3, 3
If Not rs.EOF Then
strRecArray = rs.getString( 2 ,-1 , ",")
End If
עכשיו שמתי לב…
לא הלכת לפי המאמר
strRecArray = rs.getString(2,-1, ",",",")
עובד אבל מתוסבך
מופיעות לי 2000 הודעות בעמוד אחד וזה נתקע לי אחרי כמה שניות !
וכאשר אני לוחץ על אחד מההודעות למטה זה פותח לי את ההודעה למעלה
וכאשר אני לוחץ שוב זה סוגר ז"א אני לוץ על הודעה בסוף הדף וזה פותח את ההודעה בתחילת הדף !
ניר אתה לא יכול לשלוח לי פורום רקורסיבי מוכן ז"א רק העמודים של הקודים
כי אני מנסה ומנסה אולי אם תביא ואני אקרא אני אראה איפה טעיתי !
בכל מקרה אם אתה רוצה לשלוח אז תעשה את זה בקובץ TXT הרי זה כי קל…
ZNX מראש נועם צברי
טוב שמע
לפני כמה זמן העלתי כאן קובץ תיקון (תעשה חיפוש)
בכל מקרה במהלך השבוע אני אשלח לילדה את התיקונים (היא לא מצאה הבדלים בין הקודים) והיא תשנה את הקודים