לוגו אתר Fresh          
 
 
  אפשרות תפריט  ראשי     אפשרות תפריט  צ'אט     אפשרות תפריט  מבזקים     אפשרות תפריט  צור קשר     חץ שמאלה ‎print ‎"Hello World!"; if‎ ‎not rules.‎know ‎then rules.‎read(); חץ ימינה  

לך אחורה   לובי הפורומים > מחשבים > תכנות ובניית אתרים
שמור לעצמך קישור לדף זה באתרי שמירת קישורים חברתיים
תגובה
 
כלי אשכול חפש באשכול זה



  #1  
ישן 28-06-2008, 15:50
  orl2006 orl2006 אינו מחובר  
 
חבר מתאריך: 01.07.05
הודעות: 176
קטעים [כמה שאלות]בדיקת מהו הספרה/מספר הגבוה ביותר...

שלום לכולם! =]
תוך כדי פיתוח מערכת שאני מפתח בימים אלה... נתקלתי בכמה בעיות, ואני מקווה למצוא את פתרונותיהן כאן, בעזרתכם:

1.יש לי טבלה שנקראת errors, ובתוך הטבלה יש עמודה שנקראת ID.
עכשיו, בהנחה שאני רוצה להכניס למסד נתונים חדשים, אך שה-ID יהיה בהתאם, לדוגמא:
אם במסד יש רשומה מסוימת וה-ID שלה הוא 48, היא האחרונה, ומן הסתם, כתוצאה מכך, גם בעלת הערך הכי גבוה.
כלומר, אני רוצה שהרשומה הבאה שתכנס למסד תהיה בעלת ID מספר 50.
איך אני עושה דבר כזה?
חשבתי על "שליפת" כל ה-ID's במסד, והשוואה ביניהם, אך הדבר יכול לצרוך המון משאבים כאשר יהיו הרבה משתמשים, ובכלל, איך אפשר לבדוק מהו המספר הגדול ביותר לאחר שליפה מן המסד?

2. האם אני צריך להפעיל את הפונקציה htmlspecialchars על כל משתנה שעובר דרך המערכת?

3. איך למצוא את התאריך והשעה המדויקים? כלומר, זה ממש מעצבן... צריך להתחשב ביותר מדי נתונים...
באיזו פונקציה לבחור, בזמן השרת, שעון קיץ או שעון חורף, ולחשב הבדלי שעות הרבה פעמים במידה והשרת יושב לדוגמא בארה"ב, איזו דרך נחשבת להכי קלה, ואם אפשר, גם דוגמא לדרך זו?

תודה מראש,
ולסיום חחח מצאתי משהו מוזר XD אני מקווה שזה לא שם של מקום =]
תמונה שהועלתה על ידי גולש באתר ולכן אין אנו יכולים לדעת מה היא מכילה
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #3  
ישן 28-06-2008, 16:30
  משתמש זכר yoavmatchulsky yoavmatchulsky אינו מחובר  
 
חבר מתאריך: 15.08.06
הודעות: 1,561
שלח הודעה דרך ICQ אל yoavmatchulsky שלח הודעה דרך MSN אל yoavmatchulsky Facebook profile
בתגובה להודעה מספר 2 שנכתבה על ידי eXtruct שמתחילה ב "1. תיצור את עמודה ID כ..."

1) עוד אפשרות לקטע של הID (אם אתה לא רוצה לעשות את העמודה auto_incremement) זה להשתמש בפונקציה המובנת בMySQL:
קוד PHP:
 $query "SELECT max(ID) as max FROM mytable";
$maxres mysql_query($query);
$maxrow mysql_fetch_object($maxres);
$my_next_ID $maxrow->max 1


אם משתמשים בזה, כדאי לשים את העמודה ID כאינדקס בטבלה, ואז המסד נתונים ישלוף את זה יותר מהר

3) אתה יכול להשתמש בסטנדרט עולמי, כמו GMT או UTC ואז להשתמש בפונקציות מובנות (PHP, JS או SQL) בשביל להציג את השעה לכל משתמש קצה.
זותומרת שבמסד נתונים תשמור שעה אחת סטנדרטית, אבל עבור כל משתמש תציג את השעה בפורמט שלו..
_____________________________________
!!אזהרה!!
ההודעה עלולה להכיל שברי אגוזים ו/או איברי דגים כלשהם
!!אזהרה!!


נערך לאחרונה ע"י yoavmatchulsky בתאריך 28-06-2008 בשעה 16:33.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #4  
ישן 28-06-2008, 20:32
  DCD DCD אינו מחובר  
 
חבר מתאריך: 17.05.05
הודעות: 7,321
הוספה על דבריו של extruct:
בתגובה להודעה מספר 2 שנכתבה על ידי eXtruct שמתחילה ב "1. תיצור את עמודה ID כ..."

ציטוט:
במקור נכתב על ידי eXtruct
1. תיצור את עמודה ID כ primary key וכ auto increment
זה יאפשר אוטומטית לעלות את ה ID וכל רשומה בטבלה זו תיהיה בעלת ID יחודי.

בעמודה המוגדרת כ- AUTO INCREMENT, ניתן בשאילתת ה-INSERT להכניס ערך NULL לשדה של העמודה, על מנת שייבחר הערך הגבוה ביותר בעמודה.

ציטוט:
במקור נכתב על ידי eXtruct
2. תלוי במערכת שלך, אם אתה לדוגמא שומר גיל ומישהוא מכניס גיל כמו "aba" לא ממש יעזור לך להריץ htmlspecial... על זה הרבה יותר הגיוני להריץ is_int ולהציג שגיאה במקרה והגיל הוא לא INT


להריץ פונקצית is_int על ערך שבכל אופן חייב להיות מספר זה צעד מיותר, עדיף לבצע casting לסוג int באופן ישיר, כלומר:

קוד:
$_GET['id'] = (int)$_GET['id'];


כך מובטח שהמשתנה יהיה מספר. (כדאי לבדוק שהוא לא מספר שלילי במקרים מסוימים)
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #6  
ישן 28-06-2008, 23:01
  DCD DCD אינו מחובר  
 
חבר מתאריך: 17.05.05
הודעות: 7,321
בתגובה להודעה מספר 5 שנכתבה על ידי eXtruct שמתחילה ב "auto increment לא חייב להכניס..."

ציטוט:
במקור נכתב על ידי eXtruct
auto increment
לא חייב להכניס שום דבר בכלל הוא יעלה אותו אוטומטית


נכון, גם אפשרות נוחה

ציטוט:
במקור נכתב על ידי eXtruct
להפוך כל דבר ל INT לא חכם בהנחה שאתה מצפה מהמשתמש להכניס גיל שזה מחייב להיות מספר, על ידי הפיכה של כל גיל למספר אתה מאפשר למשתמש להכניס גיל שהוא abc או משהוא בסגנון, זה לא נכון תיאורתית כיוון שגיל לא יכול להיות ABC


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

כלי אשכול חפש באשכול זה
חפש באשכול זה:

חיפוש מתקדם
מצבי תצוגה דרג אשכול זה
דרג אשכול זה:

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

קוד vB פעיל
קוד [IMG] פעיל
קוד HTML כבוי
מעבר לפורום



כל הזמנים המוצגים בדף זה הם לפי איזור זמן GMT +2. השעה כעת היא 06:46

הדף נוצר ב 0.04 שניות עם 11 שאילתות

הפורום מבוסס על vBulletin, גירסא 3.0.6
כל הזכויות לתוכנת הפורומים שמורות © 2026 - 2000 לחברת Jelsoft Enterprises.
כל הזכויות שמורות ל Fresh.co.il ©

צור קשר | תקנון האתר