הגדרת פונקציות חיוניות לתבנית
תבניות בדר"כ חוזרות מספר פעמים על פעולה מסויימת, לכן כדאי מאוד להגדיר פונקציות לפישוט התבנית. בדוגמא שלנו (שהיא דוגמא מאוד פשוטה) נסתפק ב-3 פונקציות: - פונקציה להתחברות לבסיס הנתונים של MySQL.
- פונקציה שמחזירה את כל המידע אודות דף תוכן מסויים במערכת.
- פונקציה שמחזירה מחרוזת קישור לדף תוכן מסויים.
file name: template_func.inc
<? /***** Global Variables: (change when needed) *****//* | משתנים גלובליים: שמכילים מידע על שרת ה-MySQL ועל בסיס הנתונים. | */ |
$mysql_host= "localhost"; $mysql_user= ""; $mysql_pass= ""; $mysql_db= "phpsite"; $mysql_table= "template_pages"; function ConnectMysql()/* | פונקציה להתחברות לבסיס הנתונים של MySQL. | */ |
{ global $mysql_host, $mysql_user, $mysql_pass, $mysql_db; @mysql_connect($mysql_host,$mysql_user,$mysql_pass) or die("ERROR: cannot connect to MySQL Server!");/* | מתחבר לשרת ה-MySQL, ובמקרה של כשלון הסקריפט נעצר. | */ |
@mysql_select_db($mysql_db) or die("ERROR: cannot connect to DB!");/* | בוחר את בסיס הנתונים, ובמקרה של כשלון הסקריפט נעצר. | */ |
} function GetPageInfo($f_id)/* | פונקציה שמחזירה את כל המידע אודות דף תוכן מסויים במערכת (לפי מספר הזיהוי). (המידע מוחזר בצורת מערך). | */ |
{ global $mysql_table; $result= @mysql_query("SELECT * FROM $mysql_table WHERE p_id='$f_id'")/* | בוחר את כל השדות בטבלת הנתונים מהשורה של דף התוכן המבוקש (לפי מספר הזיהוי). | */ |
or die( "ERROR: wrong SQL query!"); $inf= mysql_fetch_array($result);/* | הופך את תוצאת השאילתא למערך נתונים. במקרה ואין תוצאה מהשאילתא, מוחזר FALSE . | */ |
return $inf; } function PageLink($f_id)/* | פונקציה שמחזירה מחרוזת קישור לדף תוכן מסויים (לפי מספר הזיהוי). במידה והדף לא נמצא תתקבל מחרוזת ריקה. | */ |
{ global $mysql_table; $result= @mysql_query("SELECT title FROM $mysql_table WHERE p_id='$f_id'")/* | בוחר את כותרת הדף מהשורה של דף התוכן המבוקש (לפי מספר הזיהוי). | */ |
; if (!$result)/* | אם יש שגיאה בשאילתא, מחזירים מחרוזת ריקה. | */ |
return ""; $row_title= mysql_fetch_array($result)/* | הופך את תוצאת השאילתא למערך נתונים. | */ |
; if (!$row_title)/* | אם במקום מערך נתונים קיבלנו FALSE , אז סימן שדף התוכן עם מספר הזיהוי המבוקש לא נמצא, ולכן מחזירים מחרוזת ריקה. | */ |
return ""; return "<A href=\"".$_SERVER["PHP_SELF"]."?p_id=".$f_id."\">".$row_title["title"]."</A>"/* | בניית המחרוזת בקוד של HTML המקשר לדף התוכן המבוקש. | */ |
; } ?>
הודעת שגיאה בהרצת השאילתא | 08-12-02 20:01 אחיעד | #387 |
| ננתי לו את כל הנתונים נכון והוא מצליח להתחבר לבסיס הנתונים, אבל הוא רושם לי הודעת שגיאה בהרצת שאילתא.
ERROR: wrong SQL query!
מה יכולה להיות הבעיה? |
|
שגיאה בשאילתא | 09-12-02 00:01 אלי חן (מנהל) | #392 |
| אם אתה אומר שאתה מעביר פרמטר נכון, אז ככל הנראה המשתנה $mysql_table הוא ריק אצלך.. תבדוק את העניין. |
|
| ERROR: cannot connect to MySQL Server!
מייל:
shay@inbar.co.il |
|
|
|
|
|
ניווט האתר:
הגדרת פונקציות חיוניות לתבנית |
הוספה למועדפים:
|