ABA


"התייעצות איך אני מתחיל לבנות את ''מערך'' הדוחות של האתר שלי"
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #21710 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 21710
Crazy Lion  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 1.7.02
19328 הודעות, 9 פידבק
   11:58   04.06.16   
אל הפורום  
  התייעצות איך אני מתחיל לבנות את ''מערך'' הדוחות של האתר שלי  
 
   אני עושה פרויקט גמר והגעתי שלב שצריך לתכנן את ענין הדוחות.
הציעו לי לבנות בעצם CLASS שיתחבר למסד נתונים ושם יהיו פונקציות שיבצעו את השאלתות השונות.

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

תודה מראש.

מילוי סקרים בתשלום למי שמעונין ,
משלם בזמן וקל להגיע ליעד :
https://goo.gl/EJh6V2


                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

  האשכול     מחבר     תאריך כתיבה     מספר  
  מכתב Deuce  04.06.16 14:11 1
     קודם כל ממש תודה על התשובה המהירה והמפורטת יש לי עוד שאלה קטנה Crazy Lion  04.06.16 14:18 2
         בגדול להשתמש ב-Prepared Statements ולבצע binding ל-parameters Deuce  04.06.16 14:38 3
             תודה רבה!!! Crazy Lion  04.06.16 15:54 4
                 חשוב שתלמד על זה אבל תוריד קלאס של mysqli או PDO Bonito  04.06.16 19:25 5
                     תודה רבה Crazy Lion  04.06.16 19:39 6

       
Deuce 
חבר מתאריך 1.9.08
6225 הודעות
   14:11   04.06.16   
אל הפורום  
  1. מכתב  
בתגובה להודעה מספר 0
 
בסופו של דבר אתה צריך לבנות שאילתות מתאימות שמקבלות פרמטרים ומחזירות לך את התוצאות. לדוגמה עבור דוח נוכחות אתה צריך לכתוב שאילתא שמקבלת שם משתמש ותאריך, ומחזירה לך דוח נוכחות של העובד.

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

יש שתי דרכים לבצע את זה:
1. לכתוב פונקציות ב-DB עצמו. ב-mysql ספציפית יש לך מנגנון שנקרא Functions - אתה יכול ליצור פונקציה שמקבלת את הפרמטרים, מריצה את השאילתא ומחזירה את התוצאות. דרך הקוד אתה יכול כמובן להתחבר ל-db ולהשתמש בפונקציות שכתבת.
2. לכתוב פונקציות בצד השרת.

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

בשני המקרים כדאי לממש CLASS ייעודי שדרכו אתה מבצע את התקשורת עם ה-DB. בז'רגון המקצועי זה נקרא Data Access Layer או בקיצור DAL - שווה לך להעמיק בזה באינטרנט. ודבר אחרון: שים לב לבצע את ה-binding בצורה בטוחה (ע"ע sql injection).






                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Crazy Lion  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 1.7.02
19328 הודעות, 9 פידבק
   14:18   04.06.16   
אל הפורום  
  2. קודם כל ממש תודה על התשובה המהירה והמפורטת יש לי עוד שאלה קטנה  
בתגובה להודעה מספר 1
 
   כרגע הקוד שלי לא מוגן בשיט מבחינת sql injection זה דבר שלקחתי בחשבון כדי להספיק את הפיצרים ואני מתכנן אחרי הכל להגן על הקוד. אולי אפילו אתחיל כרגע.
בגדול הגנה זה כל פעם לפני שאני שולח משהו ל DB לבצע לייצא למשתנה ואז לבצע נגיד את ה WHILE?

מילוי סקרים בתשלום למי שמעונין ,
משלם בזמן וקל להגיע ליעד :
https://goo.gl/EJh6V2


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Deuce 
חבר מתאריך 1.9.08
6225 הודעות
   14:38   04.06.16   
אל הפורום  
  3. בגדול להשתמש ב-Prepared Statements ולבצע binding ל-parameters  
בתגובה להודעה מספר 2
 
תקרא קצת פה:
http://www.w3schools.com/php/php_mysql_prepared_statements.asp

ויש הרבה מידע שתוכל למצוא באינטרנט. אני חושב שגם היום נפוץ להשתמש ב-PHP ב-PDO שנותנת לך בחינם הרבה הגנה מ-SQL INJECTIONS.

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






                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Crazy Lion  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 1.7.02
19328 הודעות, 9 פידבק
   15:54   04.06.16   
אל הפורום  
  4. תודה רבה!!!  
בתגובה להודעה מספר 3
 
  

מילוי סקרים בתשלום למי שמעונין ,
משלם בזמן וקל להגיע ליעד :
https://goo.gl/EJh6V2


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Bonito 
חבר מתאריך 22.9.09
14859 הודעות
   19:25   04.06.16   
אל הפורום  
  5. חשוב שתלמד על זה אבל תוריד קלאס של mysqli או PDO  
בתגובה להודעה מספר 4
 
   יחסוך לך הרבה עבודה ושורות קוד, לדוגמה:
https://github.com/joshcam/PHP-MySQLi-Database-Class


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Crazy Lion  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 1.7.02
19328 הודעות, 9 פידבק
   19:39   04.06.16   
אל הפורום  
  6. תודה רבה  
בתגובה להודעה מספר 5
 
  

מילוי סקרים בתשלום למי שמעונין ,
משלם בזמן וקל להגיע ליעד :
https://goo.gl/EJh6V2


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net