בניית דפי חיפוש ותוצאות

עודכן לאחרונה בתאריך 25 באפריל 2024
פתק

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

אודות דפי חיפוש ותוצאות

אתם יכולים להשתמש ב-Dreamweaver כדי לבנות קבוצה של דפים שתאפשר למשתמשים לחפש במסד הנתונים ולהציג את תוצאות החיפוש.

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

הדף השני שאתם זקוקים לו הוא דף התוצאות, המבצע את רוב העבודה.דף התוצאות מבצע את המשימות הבאות:

  • קריאת פרמטרי החיפוש שנמסרו על-ידי דף החיפוש

  • התחברות למסד הנתונים וחיפוש רשומות

  • בניית ערכת רשומות הכוללת את הרשומות שנמצאו

  • הצגת התוכן של ערכת הרשומות

    אפשר גם להוסיף דף פרטים.דף פרטים נותן למשתמשים מידע נוסף על רשומה מסוימת בדף התוצאות.

    אם יש לכם רק פרמטר חיפוש אחד, Dreamweaver מאפשר לכם להוסיף יכולות חיפוש ליישום האינטרנט שלכם מבלי להשתמש בשאילתות SQL ובמשתנים.פשוט עיצבו את הדפים שלכם והשלימו כמה תיבות דיאלוג.אם יש לכם יותר מפרמטר חיפוש אחד, אתם צריכים לכתוב משפט SQL ולהגדיר מספר משתנים עבורו.

    Dreamweaver מוסיף את שאילתת ה-SQL לדף שלכם.כשהדף פועל בשרת, כל רשומה בטבלת מסד הנתונים נבדקת.אם השדה המצוין ברשומה עונה על תנאי שאילתת ה-SQL שלכם, הרשומה כלולה במערך רשומות. שאילתת ה-SQL למעשה בונה מערך רשומות שמכיל רק את תוצאות החיפוש.

    לדוגמה, לצוות מכירות בשטח עשויים להיות נתונים על לקוחות באזור מסוים שהכנסתם גבוהה מרמה מסוימת. בטופס בעמוד חיפוש, נציג המכירות מזין אזור גיאוגרפי ורמת הכנסה מינימלית, ואז לוחץ על לחצן השלח כדי לשלוח את שני הערכים לשרת. בשרת, הערכים מועברים להצהרת ה-SQL של עמוד התוצאות, שאז יוצרת מערך רשומות שמכיל רק לקוחות באזור המצוין עם הכנסות מעל הרמה המצוינת.

בניית דף חיפוש

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

להוספת טופס HTML לעמוד חיפוש, בצעו את התהליך הבא.

פתחו את עמוד החיפוש או עמוד חדש, ובחרו Insert > Form > Form.

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

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

אובייקטי טופס כוללים שדות טקסט, תפריטים, אפשרויות ולחצני רדיו. תוכלו להוסיף כמה אובייקטי טופס שרוצים כדי לעזור למשתמשים לחדד את החיפושים שלהם. עם זאת, זכרו שככל שיש יותר פרמטרי חיפוש בעמוד החיפוש, כך הצהרת ה-SQL שלכם תהיה מורכבת יותר.

הוסיפו לחצן שליחה לטופס (Insert > Form > Button).
(אופציונלי) שנו את התווית של לחצן השליחה על ידי בחירת הלחצן, פתחו את Property inspector (Window > Properties), והזינו ערך חדש בתיבת Value.

כעת תגידו לטופס לאן לשלוח את פרמטרי החיפוש כשהמשתמש לוחץ על לחצן השליחה.

בחרו את הטופס על ידי בחירת התג <form> בבורר התגים בתחתית חלון Document, כפי שמוצג בתמונה הבאה:
תג טופס

בתיבת Action ב-Property inspector של הטופס, הזינו את שם הקובץ של עמוד התוצאות שיבצע את החיפוש במסד הנתונים.
בתפריט הקופץ Method, בחרו אחת מהשיטות הבאות כדי לקבוע איך הטופס שולח נתונים לשרת:
  • GET שולח את נתוני הטופס על ידי הוספתם לכתובת ה-URL כמחרוזת שאילתה.מכיוון שכתובות URL מוגבלות ל-8192 תווים, אל תשתמשו בשיטת GET עם טפסים ארוכים.

  • POST שולח את נתוני הטופס בגוף ההודעה.

  • Default משתמש בשיטת ברירת המחדל של הדפדפן (בדרך כלל GET).

    עמוד החיפוש מוכן.

בניית דף תוצאות בסיסי

כשהמשתמש לוחץ על לחצן החיפוש של הטופס, פרמטרי החיפוש נשלחים לעמוד תוצאות בשרת.עמוד התוצאות בשרת, ולא עמוד החיפוש בדפדפן, אחראי לאחזר רשומות ממסד הנתונים.אם עמוד החיפוש שולח פרמטר חיפוש יחיד לשרת, תוכלו לבנות את עמוד התוצאות ללא שאילתות SQL ומשתנים.אתם יוצרים recordset בסיסי עם מסנן שמוציא רשומות שלא עומדות בפרמטר החיפוש שנשלח על ידי עמוד החיפוש.

פתק

אם יש לכם יותר מתנאי חיפוש אחד, עליכם להשתמש בתיבת הדו-שיח המתקדמת של Recordset כדי להגדיר את ה-recordset שלכם (ראו בניית עמוד תוצאות מתקדם).

צרו את ה-recordset שיכיל את תוצאות החיפוש

פתחו את עמוד התוצאות שלכם בחלון Document.

אם עדיין אין לכם עמוד תוצאות, צרו עמוד דינמי ריק (File > New > Blank Page).

צרו recordset על ידי פתיחת לוח Bindings (Window > Bindings), לחיצה על לחצן הפלוס (+), ובחירת Recordset מהתפריט הקופץ.
ודא שתיבת הדו-שיח Recordset הפשוטה מוצגת.
תיבת הדו-שיח Recordset

פתק

אם תיבת הדו-שיח המתקדמת מופיעה במקום, עברו לתיבת הדו-שיח הפשוטה על ידי לחיצה על לחצן Simple.

הזן שם עבור ערכת הרשומות, ובחר חיבור.

החיבור צריך להיות למסד נתונים שמכיל נתונים שאתם רוצים שהמשתמש יחפש.

בתפריט הקופץ "Table", בחרו את הטבלה שברצונכם לחפש במסד הנתונים.
פתק

בחיפוש עם פרמטר יחיד, תוכלו לחפש רשומות בטבלה אחת בלבד.כדי לחפש ביותר מטבלה אחת בכל פעם, עליכם להשתמש בתיבת הדו-שיח המתקדמת Recordset ולהגדיר שאילתת SQL.

כדי לכלול רק חלק מהעמודות של הטבלה ברשומות, לחצו על Selected ובחרו את העמודות הרצויות על ידי לחיצה תוך כדי החזקת Control (Windows) או Command (Macintosh) עליהן ברשימה.

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

השאירו את תיבת הדו-שיח Recordset פתוחה לעת עתה.תשתמשו בה בהמשך כדי לאחזר את הפרמטרים שנשלחו על ידי עמוד החיפוש וליצור מסנן recordset להוציא רשומות שאינן עומדות בפרמטרים.

יצירת המסנן עבור ערכת הרשומות

מהתפריט הקופץ הראשון באזור Filter בחרו עמודה בטבלת מסד הנתונים שבה לחפש התאמה.

לדוגמה, אם הערך שנשלח על ידי עמוד החיפוש הוא שם עיר, בחרו את העמודה בטבלה שמכילה שמות ערים.

מהתפריט הקופץ ליד התפריט הראשון, בחרו את סימן השווה (זה אמור להיות ברירת המחדל).
מהתפריט הקופץ השלישי, בחרו Form Variable אם הטופס בעמוד החיפוש שלכם משתמש בשיטה POST, או URL Parameter אם הוא משתמש בשיטה GET.

עמוד החיפוש משתמש במשתנה טופס או בפרמטר URL כדי להעביר מידע לעמוד התוצאות.

בתיבה הרביעית, הזינו את השם של אובייקט הטופס שמקבל את פרמטר החיפוש בעמוד החיפוש.

השם של האובייקט משמש גם כשם של משתנה הטופס או פרמטר ה-URL.תוכלו לקבל את השם על ידי מעבר לעמוד החיפוש, לחיצה על אובייקט הטופס בטופס כדי לבחור אותו, ובדיקת שם האובייקט ב-Property inspector.

לדוגמה, נניחו שברצונכם ליצור recordset שכולל רק נסיעות הרפתקאות למדינה מסוימת.אם הטבלה כוללת עמודה שנקראת TRIPLOCATION כמו כן, נניחו שטופס ה-HTML בעמוד החיפוש שלכם משתמש בשיטה GET ומכיל אובייקט תפריט בשם Location שמציג רשימה של מדינות.הדוגמה הבאה מציגה איך אמור להיראות חלק ה-Filter שלכם:

פרמטרים של אובייקט טופס

(אופציונלי) לחצו על Test, הזינו ערך בדיקה ולחצו על OK כדי להתחבר למסד הנתונים וליצור מופע של ה-recordset.

ערך הבדיקה מדמה את הערך שהיה מוחזר אחרת מעמוד החיפוש.לחצו על OK כדי לסגור את recordset הבדיקה.

אם אתה מרוצה מערכת הרשומות, לחץ על OK.

תסריט בצד השרת מוכנס לעמוד שלכם ובודק כל רשומה בטבלת מסד הנתונים כשהוא רץ בשרת.אם השדה המצוין ברשומה עומד בתנאי הסינון, הרשומה נכללת ב-recordset.התסריט בונה recordset שמכיל רק את תוצאות החיפוש.

הצעד הבא הוא להציג את ה-recordset בעמוד התוצאות.למידע נוסף, ראו הצגת תוצאות החיפוש.

בניית דף תוצאות מתקדם

אם עמוד החיפוש שולח יותר מפרמטר חיפוש אחד לשרת, עליכם לכתוב שאילתת SQL לעמוד התוצאות ולהשתמש בפרמטרי החיפוש במשתני SQL.

פתק

אם יש לכם רק תנאי חיפוש אחד, תוכלו להשתמש בתיבת הדו-שיח הפשוטה של Recordset כדי להגדיר את ה-recordset שלכם (ראו בניית דף תוצאות בסיסי ).

פתחו את דף התוצאות ב-Dreamweaver, ולאחר מכן צרו recordset על ידי פתיחת לוח ה-Bindings (Window > Bindings), לחיצה על לחצן הפלוס (+), ובחירת Recordset מהתפריט הקופץ.
ודא שתיבת הדו-שיח Recordset המתקדמת מוצגת.

תיבת הדו-שיח המתקדמת כוללת אזור טקסט להזנת הצהרות SQL. אם תיבת הדו-שיח הפשוטה מופיעה במקום זאת, עברו לתיבת הדו-שיח המתקדמת על ידי לחיצה על לחצן Advanced.

הזן שם עבור ערכת הרשומות, ובחר חיבור.

החיבור צריך להיות למסד נתונים המכיל נתונים שאתם רוצים שהמשתמש יחפש.

הזן הצהרת Select באזור הטקסט SQL.

וודאו שההצהרה כוללת סעיף WHERE עם משתנים להכיל את פרמטרי החיפוש.בדוגמה הבאה, המשתנים נקראים varLastName ו-varDept:

SELECT EMPLOYEEID, FIRSTNAME, LASTNAME, DEPARTMENT, EXTENSION FROM EMPLOYEE ¬

WHERE LASTNAME LIKE 'varLastName' ¬

AND DEPARTMENT LIKE 'varDept'

כדי לצמצם את כמות ההקלדה, תוכלו להשתמש בעץ הפריטים של מסד הנתונים בחלק התחתון של תיבת הדו-שיח המתקדמת של Recordset.להוראות, ראו הגדרת recordset מתקדם על ידי כתיבת SQL.

לעזרה בתחביר SQL, ראו את המדריך הבסיסי ל-SQL ב-www.adobe.com/go/learn_dw_sqlprimer.

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

בדוגמת ASP הבאה, הטופס HTML בדף החיפוש משתמש בשיטת GET ומכיל שדה טקסט אחד הנקרא LastName ואחר הנקרא Department:

דוגמה ל-ASP

ב-ColdFusion, ערכי זמן הריצה יהיו #LastName# ו-#Department#.ב-PHP, ערכי זמן הריצה יהיו ‎$_REQUEST["LastName"]‎ ו-‎$_REQUEST["Department"]‎.

(אופציונלי) לחצו על Test כדי ליצור מופע של recordset בעזרת ערכי ברירת המחדל של המשתנים.

ערכי ברירת המחדל מדמים את הערכים שהיו מוחזרים אחרת מדף החיפוש.לחצו על OK כדי לסגור את ה-recordset של הבדיקה.

אם אתה מרוצה מערכת הרשומות, לחץ על OK.

שאילתת SQL נוספת לדף.

השלב הבא הוא להציג את ה-recordset בדף התוצאות.

הצגת תוצאות החיפוש

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

למידע נוסף על שיטות הצגת תוכן דינמי בדף מלבד הצגת תוצאות בטבלה דינמית, ראו הצגת רשומות מסד נתונים.

הציבו את נקודת ההכנסה במקום שבו אתם רוצים שהטבלה הדינמית תופיע בדף התוצאות, ובחרו Insert > Data Objects > Dynamic Data > Dynamic Table.
השלימו את תיבת הדו-שיח Dynamic Table, תוך בחירת ה-recordset שהגדרתם להכיל את תוצאות החיפוש.
לחץ על OK. טבלה דינמית המציגה תוצאות חיפוש מוכנסת לדף התוצאות.

צרו דף פרטים עבור דף תוצאות

מערך דפי החיפוש והתוצאות שלכם יכול לכלול דף פרטים כדי להציג מידע נוסף על רשומות ספציפיות בדף התוצאות. במצב זה, דף התוצאות שלכם משמש גם כדף הראשי בקבוצת דפי master-detail.

תוכלו ליצור קישור שפותח דף קשור ומעביר פרמטרים קיימים לדף זה. התנהגות השרת זמינה רק בעת שימוש במודל השרת ASP.

לפני הוספת התנהגות השרת Go To Related Page לדף, ודאו שהדף מקבל פרמטרי טופס או URL מדף אחר. התפקיד של התנהגות השרת הוא להעביר פרמטרים אלה לדף שלישי. לדוגמה, תוכלו להעביר פרמטרי חיפוש שהתקבלו על ידי דף תוצאות לדף אחר ולחסוך מהמשתמש את הצורך להזין את פרמטרי החיפוש שוב.

כמו כן, תוכלו לבחור טקסט או תמונה בדף כדי לשמש כקישור לדף הקשור, או שתוכלו למקם את הסמן בדף מבלי לבחור דבר, וטקסט הקישור יוכנס.

בתיבה Go To Related Page, לחצו על Browse ואתרו את קובץ הדף הקשור.

אם הדף הנוכחי שולח נתונים לעצמו, הזינו את שם הקובץ של הדף הנוכחי.

אם הפרמטרים שברצונכם להעביר התקבלו ישירות מטופס HTML באמצעות השיטה GET, או רשומים ב-URL של הדף, בחרו באפשרות URL Parameters.
אם הפרמטרים שברצונכם להעביר התקבלו ישירות מטופס HTML באמצעות השיטה POST, בחרו באפשרות Form Parameters.
לחץ על OK.

כשלוחצים על הקישור החדש, הדף מעביר את הפרמטרים לדף הקשור באמצעות מחרוזת שאילתה.