אתה נמצא כאן מדריכים  >>  יצירת תבניות - templates  >>  הגדרת פונקציות חיוניות לתבנית

הגדרת פונקציות חיוניות לתבנית

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

  1. פונקציה להתחברות לבסיס הנתונים של MySQL.
  2. פונקציה שמחזירה את כל המידע אודות דף תוכן מסויים במערכת.
  3. פונקציה שמחזירה מחרוזת קישור לדף תוכן מסויים.

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 הוא ריק אצלך.. תבדוק את העניין.

הודעת שגיאה 07-12-08 04:01
 שי מרגוליס
#2806

ERROR: cannot connect to MySQL Server!
מייל:
shay@inbar.co.il


לדף הקודםתכנון התבנית -הקודם
לתחילת הדףלתחילת הדף
הבא- עיצוב התבניתלדף הבא