דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. שם עמודה בעברית בMYSQL

שם עמודה בעברית בMYSQL

מתוזמן נעוץ נעול הועבר תכנות
20 פוסטים 9 כותבים 330 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • ח מנותק
    ח מנותק
    חוקר
    כתב ב נערך לאחרונה על ידי חוקר
    #6

    לגבי החלק הטכני:
    העליתי כאן מחלקה פשוטה לשימוש בMySQL וכן MSSQL.
    במחלקה זו השתמשתי ע"י קשירת הנתונים, וזה עובד חלק גם בנתונים בעברית.
    אך יש לקחת נקודה פשוטה בחשבון, ישנו תו

    `
    

    וישנו

    '
    

    ה

    `
    

    מיועד עבור חיתום שמות של עמודות וטבלאות וכדומה בnysql וגרש מיועד לחתימת מחרוזת.
    אם אכתוב בשאילתה

    SELECT * FROM `users` WHERE 'columnA' = :A: 
    

    השרת לא יחפש עמודה בשם columnA אלא האם מחרוזת 'columnA' שווה את החיפוש המבוקש.
    ולכן חייבים לחתום דווקא כך

    `columnA`
    

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

    SELECT * FROM `users` WHERE :colName = :val
    

    יתורגם ל:

    SELECT * FROM `users` WHERE 'id' = 1
    

    ולכן זה לא יעבוד.
    כי 'id' אינו שוה 1.

    בחלק ההשקפתי, אני מסכים שתיכנות כדאי לעשות הכל באנגלית כי הוא יותר נתמך, וכו'.
    אבל לא לזלזל בשימוש בעברית, למרות שאני משתדל לא להצטרך להגיע לעברית, אבל יצא לי פה ושם שהייתי צריך לעשות דברים בעברית, וזה לא היה בעייתי לא בPHP, לא בMYSQL, וגם לא בAPI לדפדפן כשהמערך JSON משתמש במפתחות בעברית.
    וכהנה רבות.
    ישנו בתודעה של מפתחים שאין להשתמש בעברית, אבל אם באמת תוכנה/שפה זו כן תומכת בעברית, אז מה באמת הבעיה???

    מנצפךמ תגובה 1 תגובה אחרונה
    2
    • upsilon01U מנותק
      upsilon01U מנותק
      upsilon01
      כתב ב נערך לאחרונה על ידי
      #7

      עדיף לכתוב באנגלית
      אם חייבים עברית אפשר לעשות alias

      SELECT column_name AS [עמודה]
      
      תגובה 1 תגובה אחרונה
      0
      • שואףש מנותק
        שואףש מנותק
        שואף
        כתב ב נערך לאחרונה על ידי
        #8

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

        $text = "INSERT INTO form ($columnA, $columnB)  VALUES (:$columnA, :$columnB)";
        $array = array($columnA => 1, $columnB => 2);
        

        אבל החלפתי לזה

        $text = "INSERT INTO form ($columnA, $columnB)  VALUES (?, ?)";
        $array = array(1, 2);
        

        ועכשיו הכל עובד תקין.

        ליצירת קשר: admin@i-call.me

        הידד! גישה למייל גם בלי מחשב ואינטרנט!

        ח תגובה 1 תגובה אחרונה
        0
        • מנצפךמ מנותק
          מנצפךמ מנותק
          מנצפך
          השיב לחוקר ב נערך לאחרונה על ידי
          #9

          @חוקר אמר בשם עמודה בעברית בMYSQL:

          ישנו בתודעה של מפתחים שאין להשתמש בעברית, אבל אם באמת תוכנה/שפה זו כן תומכת בעברית, אז מה באמת הבעיה???

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

          yossizY ח 2 תגובות תגובה אחרונה
          1
          • yossizY מנותק
            yossizY מנותק
            yossiz
            השיב למנצפך ב נערך לאחרונה על ידי
            #10

            @מנצפך אמר בשם עמודה בעברית בMYSQL:

            זה לא מקצועי

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

            📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

            upsilon01U תגובה 1 תגובה אחרונה
            1
            • ח מנותק
              ח מנותק
              חוקר
              השיב לשואף ב נערך לאחרונה על ידי
              #11

              @שואף אמר בשם עמודה בעברית בMYSQL:

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

              $text = "INSERT INTO form ($columnA, $columnB)  VALUES (:$columnA, :$columnB)";
              $array = array($columnA => 1, $columnB => 2);
              

              אבל החלפתי לזה

              $text = "INSERT INTO form ($columnA, $columnB)  VALUES (?, ?)";
              $array = array(1, 2);
              

              ועכשיו הכל עובד תקין.

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

              $text = "INSERT INTO form ($columnA, $columnB)  VALUES (:$columnA, :$columnB)";
              $array = array('$columnA' => 1, '$columnB' => 2);
              

              ולכן עדיף בכלל שתוריד את סימן הדולר $ משם, שלא להתבלבל עם משתנה אמיתי
              ועדיף לעשות כך:

              $text = "INSERT INTO form ($columnA, $columnB)  VALUES (:columnA, :columnB)";
              $array = array('columnA' => 1, 'columnB' => 2);
              

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

              תגובה 1 תגובה אחרונה
              1
              • ח מנותק
                ח מנותק
                חוקר
                השיב למנצפך ב נערך לאחרונה על ידי
                #12

                @מנצפך אמר בשם עמודה בעברית בMYSQL:

                @חוקר אמר בשם עמודה בעברית בMYSQL:

                ישנו בתודעה של מפתחים שאין להשתמש בעברית, אבל אם באמת תוכנה/שפה זו כן תומכת בעברית, אז מה באמת הבעיה???

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

                מסכים שזה מסרבל, וגם אני לא ממליץ.
                אבל לפעמים מגיעים מתכנתים עם תפיסות שזה ממש אסור, וזה כבר לא נכון.
                אסביר על מה אני מגונן
                יצא לי לעבוד שהייתי צריך לתת API שמציג נתונים על המסך בדפדפן, הנתונים היו אובייקט של שמות של ערים ולכל עיר נתון מספרי שלו.
                בעיקרון בפרוייקט ההוא שמות הערים היו ידועות מראש, אבל אני הכנתי בצורה להשתמש לפרוייקטים נוספים, ולכן שלחתי פשוט מערך של שם בעברית = את הערך הנוכחי לעיר זה.
                ואמרתי לה שתעשה לולאה שעוברת על האובייקט ויוצרת אלמנטים שיופיע בהם "ביתר עילית 34%" לדוגמא. וס"ה שהכל יהיה דינאמי.
                אך זו שטיפלה ב API היית 'מלומדת' לעומתי שאני לא למדתי בשום מקום, היא התעקשה שאין כזה דבר, היא למדה שלא משתמשים במפתחות בעברית, אין ממה לדבר.
                לכן היה עלינו לעשות עבודה כפולה היא הייתה צריכה להכין מראש אלמנטים עם שמות באנגלית, אני הייתי צריך להוסיף טבלת המרות בשרת של השמות בעברית לשמות קבועים באנגלית (ובכל פרוייקט נוסף אצטרך לטעון הכל מראש).
                ולמען האמת במצב מסוג זה, זה לדעתי סתם תפיסה משונה, ואסביר למה, כי ניחא כשאתה כותב בתוך הקוד שמות משתנים בעברית, זה אכן מסתרבל מכיון הכתיבה וכדומה, אבל כאן הכל נלקח מתוך הטבלה בשרת שבין כך השמות של הערים מאוחסנים בעברית, ובקוד עצמו לא בשרת ולא בדפדפן אין רמז קל לעברית, כי אתה מעביר לולאה כמו

                for(let i in obj){ //code}
                

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

                תגובה 1 תגובה אחרונה
                3
                • שואףש מנותק
                  שואףש מנותק
                  שואף
                  כתב ב נערך לאחרונה על ידי
                  #13

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

                  ליצירת קשר: admin@i-call.me

                  הידד! גישה למייל גם בלי מחשב ואינטרנט!

                  תגובה 1 תגובה אחרונה
                  0
                  • upsilon01U מנותק
                    upsilon01U מנותק
                    upsilon01
                    השיב לyossiz ב נערך לאחרונה על ידי
                    #14

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

                    תגובה 1 תגובה אחרונה
                    1
                    • מנצפךמ מנותק
                      מנצפךמ מנותק
                      מנצפך
                      כתב ב נערך לאחרונה על ידי
                      #15

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

                      תגובה 1 תגובה אחרונה
                      0
                      • ב מנותק
                        ב מנותק
                        ב.ל
                        כתב ב נערך לאחרונה על ידי ב.ל
                        #16

                        קופץ על האשכול.
                        [חדש בתחום..ואולי התשובה ממש פשוטה..]
                        מה באמת הפתרון כשהנתון הוא בעברית ואני רוצה להמיר אותו למשהו אחר
                        לדוגמה טו =15 טז =17
                        וכן כשהנתון הוא מספר ואני חייב שהוא עצמו יהיה המשתנה והרי א"א להציב מספר בתור משתנה

                        ליצירת קשר - baruchlamdan@gmail.com

                        nigunN תגובה 1 תגובה אחרונה
                        0
                        • nigunN מנותק
                          nigunN מנותק
                          nigun
                          השיב לב.ל ב נערך לאחרונה על ידי
                          #17

                          @ב-ל
                          לא צריך לקפוץ על האשכול, אפשר לפתוח חדש
                          בכל מקרה לגבי השאלה הראשונה שלך כבר דובר כאן
                          ולגבי השאלה השניה
                          לא ברור למה אתה צריך שהוא יהיה המשתנה?

                          מייל: nigun@duck.com

                          ב תגובה 1 תגובה אחרונה
                          0
                          • ב מנותק
                            ב מנותק
                            ב.ל
                            השיב לnigun ב נערך לאחרונה על ידי ב.ל
                            #18

                            @nigun
                            התכוונתי שאני רוצה שאם המשתמש יקליד טו אז יוצג לו נתון לו מסוים וכן אם יקליד 33 ינתן לו נתון אחר
                            דהיינו ש טו שווה A וכן 33 שווה B
                            לדוגמה גימטרייה אני רוצה להגדיר שהאות ע' שווה 70 וכן להפך 80 שווה האות פ'

                            ליצירת קשר - baruchlamdan@gmail.com

                            nigunN תגובה 1 תגובה אחרונה
                            0
                            • nigunN מנותק
                              nigunN מנותק
                              nigun
                              השיב לב.ל ב נערך לאחרונה על ידי
                              #19

                              @ב-ל
                              הייתי רוצה לפתוח לזה נושא חדש
                              אבל אני לא מבין מה בדיוק אתה מתכוון🙄
                              אם אתה רוצה שהמשתמש יכתוב "שלום" ויוצג לו המילה "עולם"?
                              אם מדובר בכמות קטנה של ערכים? אתה עושה לולאה IF.
                              ואם זה כמות גדולה של ערכים?
                              אתה יכול לעשות מסד נתונים עם כל הנתונים, שבעמודה A אתה כותב "שלום" בעמודה B "עולם",
                              ואתה מחפש כל מה שהמשתמש כותב בעמודה A ,ומחזיר את התוצאה של B.

                              מייל: nigun@duck.com

                              dovidD תגובה 1 תגובה אחרונה
                              0
                              • dovidD מחובר
                                dovidD מחובר
                                dovid ניהול
                                השיב לnigun ב נערך לאחרונה על ידי dovid
                                #20

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

                                מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                                בכל נושא אפשר ליצור קשר dovid@tchumim.com

                                תגובה 1 תגובה אחרונה
                                3

                                בא תתחבר לדף היומי!
                                • התחברות

                                • אין לך חשבון עדיין? הרשמה

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