357
צפיות
צפיות
4
תשובות
תשובות
בעייה בכתיבת פורום
שלום,
אני בונה פורום, ובו כל משתמש כותב את הודעתו, וזו נכנסת לשדה מסוג "תזכיר" ב-DB של ACCESS.
הבעיה היא שגם אם המשתמש כותב בכמה שורות, כל ההודעה נכנסת כשורה אחת ל-DB, ואח"כ יוצאת כהודעה בפורום כאילו כתבו את הכל בשורה אחת.
אשמח לקבל עזרה בפיתרון הבעייה.
תודה,
תומר.
4 תשובות
ככה:
msgtext = Replace(msgtext,chr(13),"<br />")
תוסיף את זה לפני שאתה מציג את ההודעה וזה יציג רווחים בין שורות.
הערה קטנה על יעילות…
עדיף לבצע את ההחלפה בזמן הכנסת ההודעה, ולא בזמן ההצגה שלה.
תחשוב על זה שכל הודעה מוכנסת למסד הנתונים פעם אחת, אבל מוצגת המון פעמים, ומדובר כאן על שדה מסוג "תזכיר", שאין לו ממש בעיה של אורך מחרוזת.
אני יודע…
בניתי פורום ועשיתי איך שאמת…
אבל אם מתכנת רוצה לשמור על הDB שלו בדיוק כפי שהמשתמש הכניס את ההודעה…?
למרות שאני לא רואה סיבה שמשהו ירצה בזאת.
צודק…
לילה טוב.
טל.
אם זה VBS אז לא בטוח
כי ההחלפה שם כ"כ איטית שזה מאד מעמיס על השרת, ראה מה שקורה בתפוז. זאת הסיבה שהם התנגדו להוספת אמוטיקונים הרבה זמן.
בכל מקרה, צריך ואף חובה לחשוב גם על שלמות הנתונים: מה יקרה, למשל, אם אני אחפש באחת ההודעות :- ) – זה בשום אופן לא ימצא לי הודעה שיש בה את האייקון הזה. אפשר גם לחשוב ההפך: אם אני אחפש img src אני אקבל את כל ההודעות שיש בהן אמוטיקונים, גם אם סתם חיפשתי קוד עם המילים הללו.
עוד בעייה היא שאם יש לך שדה טקסט שהקיבולת שלו היא 400 תווים, החלפת הודעה שארכה 350 תווים אבל יש בה כמה אמוטיקונים תגרום לשגיאה כי עברתי את מכסת התווים של השדה.
אילו הסיבות שאני, לפחות, עושה את זה בקליינט. פונקציה שתחליף לי את התווים תיקח אפס זמן. דרך אגב, כך גם נכון לגבי כל דבר כמו למשל החלפת תווים בעיתיים.