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

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

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

עזרה ב PHP| חיפוש בקובץ CSV

מתוזמן נעוץ נעול הועבר תכנות
16 פוסטים 5 כותבים 389 צפיות 4 עוקבים
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • yossizY yossiz

    @mgm-ivr
    א) קובץ CSV הוא לא הצורה המיטבית לשמור את הדאטה אם יש לך יותר מכמה אלפים שורות (וגם אם לא). אני מציע שתכניס את המידע למסד נתונים.
    ב) הצורה שבה אתה צריך לחפש הוא קודם כל לקרוא ולפרסר את כל המידע מקובץ ה-CSV לתוך הזכרון ואז לעשות חיפוש.
    יש פונקציה ב-PHP שקוראת שורה שורה מתוך קובץ CSV ומכניס את המידע לתוך array. דוגמאות לשימוש
    אחרי שיש לך כל המידע במערך צריך לעשות חיפוש על המערך. זה אמור להיות PHP בסיסי. תעבור בלולאה על המערך ותחפש את השורה שבו מספר הטלפון מתאים לחיפוש.

    mgm ivrM מנותק
    mgm ivrM מנותק
    mgm ivr
    כתב ב נערך לאחרונה על ידי
    #3

    @yossiz אמר בעזרה ב PHP| חיפוש בקובץ CSV:

    @mgm-ivr
    א) קובץ CSV הוא לא הצורה המיטבית לשמור את הדאטה אם יש לך יותר מכמה אלפים שורות (וגם אם לא). אני מציע שתכניס את המידע למסד נתונים.
    ב) הצורה שבה אתה צריך לחפש הוא קודם כל לקרוא ולפרסר את כל המידע מקובץ ה-CSV לתוך הזכרון ואז לעשות חיפוש.
    יש פונקציה ב-PHP שקוראת שורה שורה מתוך קובץ CSV ומכניס את המידע לתוך array. דוגמאות לשימוש
    אחרי שיש לך כל המידע במערך צריך לעשות חיפוש על המערך. זה אמור להיות PHP בסיסי. תעבור בלולאה על המערך ותחפש את השורה שבו מספר הטלפון מתאים לחיפוש.

    במסד נתונים יהיה לי יותר קל לחפש ולהחליף נתון לפי נתון מסויים( למשל כשאני ישלח שוב את הפרטים של הבן אדם אחרי עריכה הוא יזהה שהפלאפון קיים כבר וימחק את הנתון הישן לטובת הפרט החדש)?

    I תגובה 1 תגובה אחרונה
    0
    • mgm ivrM mgm ivr

      @yossiz אמר בעזרה ב PHP| חיפוש בקובץ CSV:

      @mgm-ivr
      א) קובץ CSV הוא לא הצורה המיטבית לשמור את הדאטה אם יש לך יותר מכמה אלפים שורות (וגם אם לא). אני מציע שתכניס את המידע למסד נתונים.
      ב) הצורה שבה אתה צריך לחפש הוא קודם כל לקרוא ולפרסר את כל המידע מקובץ ה-CSV לתוך הזכרון ואז לעשות חיפוש.
      יש פונקציה ב-PHP שקוראת שורה שורה מתוך קובץ CSV ומכניס את המידע לתוך array. דוגמאות לשימוש
      אחרי שיש לך כל המידע במערך צריך לעשות חיפוש על המערך. זה אמור להיות PHP בסיסי. תעבור בלולאה על המערך ותחפש את השורה שבו מספר הטלפון מתאים לחיפוש.

      במסד נתונים יהיה לי יותר קל לחפש ולהחליף נתון לפי נתון מסויים( למשל כשאני ישלח שוב את הפרטים של הבן אדם אחרי עריכה הוא יזהה שהפלאפון קיים כבר וימחק את הנתון הישן לטובת הפרט החדש)?

      I מנותק
      I מנותק
      ivrtikshoret
      כתב ב נערך לאחרונה על ידי
      #4

      @mgm-ivr
      וודאי.

      mgm ivrM תגובה 1 תגובה אחרונה
      0
      • I ivrtikshoret

        @mgm-ivr
        וודאי.

        mgm ivrM מנותק
        mgm ivrM מנותק
        mgm ivr
        כתב ב נערך לאחרונה על ידי
        #5

        @ivrtikshoret אמר בעזרה ב PHP| חיפוש בקובץ CSV:

        @mgm-ivr
        וודאי.

        אוקיי
        שכנעתם 😉
        איך אני עובר למסדי נתונים?
        (יש לי כבר כמה רק אני לא יודע איך להשתמש איתם)
        מהם ה$ הרלונטים? כל פעולה אני מתחבר מחדש?

        חגיח תגובה 1 תגובה אחרונה
        0
        • mgm ivrM mgm ivr

          @ivrtikshoret אמר בעזרה ב PHP| חיפוש בקובץ CSV:

          @mgm-ivr
          וודאי.

          אוקיי
          שכנעתם 😉
          איך אני עובר למסדי נתונים?
          (יש לי כבר כמה רק אני לא יודע איך להשתמש איתם)
          מהם ה$ הרלונטים? כל פעולה אני מתחבר מחדש?

          חגיח מנותק
          חגיח מנותק
          חגי
          כתב ב נערך לאחרונה על ידי חגי
          #6

          @mgm-ivr
          יש לי פיתרון בשבילך בלי שרת (הכוונה במקרה ואין לך יכולת להריץ קוד בשרת, כמו github pages ודומיו),
          לשים את הקובץ CSV בתור קובץ סטאטי, להשתמש בספריית datatables בשביל להפוך את זה לטבלה בקליינט, זה כבר מגיע עם פונקציית חיפוש.
          יש באפשרויות בdatatables לשנות את המידע שמגיע לפני שאתה מכניס אותו לטבלה, אתה צריך להפוך את זה מCSV לאובייקט\מערך

          csv.split('\n').map(line => line.split(','))
          

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

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

          yossizY תגובה 1 תגובה אחרונה
          2
          • חגיח חגי

            @mgm-ivr
            יש לי פיתרון בשבילך בלי שרת (הכוונה במקרה ואין לך יכולת להריץ קוד בשרת, כמו github pages ודומיו),
            לשים את הקובץ CSV בתור קובץ סטאטי, להשתמש בספריית datatables בשביל להפוך את זה לטבלה בקליינט, זה כבר מגיע עם פונקציית חיפוש.
            יש באפשרויות בdatatables לשנות את המידע שמגיע לפני שאתה מכניס אותו לטבלה, אתה צריך להפוך את זה מCSV לאובייקט\מערך

            csv.split('\n').map(line => line.split(','))
            

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

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

            yossizY מנותק
            yossizY מנותק
            yossiz
            כתב ב נערך לאחרונה על ידי
            #7

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

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

            תגובה 1 תגובה אחרונה
            2
            • yossizY מנותק
              yossizY מנותק
              yossiz
              כתב ב נערך לאחרונה על ידי
              #8

              @mgm-ivr זה מתסכל לענות לבן אדם שמנסה לרוץ לפני שהוא למד ללכת...
              (אני מוצא את עצמי כותב את זה שוב ושוב לאחרונה... מה איתי? משהו השתנה בשואלים או בי?)

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

              mgm ivrM תגובה 1 תגובה אחרונה
              4
              • yossizY yossiz

                @mgm-ivr זה מתסכל לענות לבן אדם שמנסה לרוץ לפני שהוא למד ללכת...
                (אני מוצא את עצמי כותב את זה שוב ושוב לאחרונה... מה איתי? משהו השתנה בשואלים או בי?)

                mgm ivrM מנותק
                mgm ivrM מנותק
                mgm ivr
                כתב ב נערך לאחרונה על ידי
                #9

                @yossiz אמר בעזרה ב PHP| חיפוש בקובץ CSV:

                @mgm-ivr זה מתסכל לענות לבן אדם שמנסה לרוץ לפני שהוא למד ללכת...
                (אני מוצא את עצמי כותב את זה שוב ושוב לאחרונה... מה איתי? משהו השתנה בשואלים או בי?)

                התחלתי ביום חמישי ללמוד לכתוב עם קבצים (fopen a/a+'/r/r+/w) וכו', זה עבד,
                אחרי כמה שעות נמאס לי כי זה מאוד קשה כל פעם לחשבן כל קובץ, החלטתי ללכת על CSV, ברוך השם במוצש הצלחתי לכתוב כל מיני פקודות שירשמו לתוך הCSV שלי, אבל נתקעתי כי אני צריך חיפוש
                כלומר חיפוש כבר הסתדרתי, להפוך למערך ולחפש, הנקודה היא בעריכת הקובץ כשאני רוצה לשנות נתון עם זה אני כרגע מתקשה.
                לגבי

                @mgm-ivr זה מתסכל לענות לבן אדם שמנסה לרוץ לפני שהוא למד ללכת...

                היה לי כל כך הרבה סייעתה דשמיא בימים האלה
                שרציתי לרוץ עד הסוף...

                I תגובה 1 תגובה אחרונה
                1
                • mgm ivrM mgm ivr

                  @yossiz אמר בעזרה ב PHP| חיפוש בקובץ CSV:

                  @mgm-ivr זה מתסכל לענות לבן אדם שמנסה לרוץ לפני שהוא למד ללכת...
                  (אני מוצא את עצמי כותב את זה שוב ושוב לאחרונה... מה איתי? משהו השתנה בשואלים או בי?)

                  התחלתי ביום חמישי ללמוד לכתוב עם קבצים (fopen a/a+'/r/r+/w) וכו', זה עבד,
                  אחרי כמה שעות נמאס לי כי זה מאוד קשה כל פעם לחשבן כל קובץ, החלטתי ללכת על CSV, ברוך השם במוצש הצלחתי לכתוב כל מיני פקודות שירשמו לתוך הCSV שלי, אבל נתקעתי כי אני צריך חיפוש
                  כלומר חיפוש כבר הסתדרתי, להפוך למערך ולחפש, הנקודה היא בעריכת הקובץ כשאני רוצה לשנות נתון עם זה אני כרגע מתקשה.
                  לגבי

                  @mgm-ivr זה מתסכל לענות לבן אדם שמנסה לרוץ לפני שהוא למד ללכת...

                  היה לי כל כך הרבה סייעתה דשמיא בימים האלה
                  שרציתי לרוץ עד הסוף...

                  I מנותק
                  I מנותק
                  ivrtikshoret
                  כתב ב נערך לאחרונה על ידי
                  #10

                  @mgm-ivr אמר בעזרה ב PHP| חיפוש בקובץ CSV:

                  @yossiz אמר בעזרה ב PHP| חיפוש בקובץ CSV:

                  @mgm-ivr זה מתסכל לענות לבן אדם שמנסה לרוץ לפני שהוא למד ללכת...
                  (אני מוצא את עצמי כותב את זה שוב ושוב לאחרונה... מה איתי? משהו השתנה בשואלים או בי?)

                  התחלתי ביום חמישי ללמוד לכתוב עם קבצים (fopen a/a+'/r/r+/w) וכו', זה עבד,
                  אחרי כמה שעות נמאס לי כי זה מאוד קשה כל פעם לחשבן כל קובץ, החלטתי ללכת על CSV, ברוך השם במוצש הצלחתי לכתוב כל מיני פקודות שירשמו לתוך הCSV שלי, אבל נתקעתי כי אני צריך חיפוש
                  כלומר חיפוש כבר הסתדרתי, להפוך למערך ולחפש, הנקודה היא בעריכת הקובץ כשאני רוצה לשנות נתון עם זה אני כרגע מתקשה.
                  לגבי

                  @mgm-ivr זה מתסכל לענות לבן אדם שמנסה לרוץ לפני שהוא למד ללכת...

                  היה לי כל כך הרבה סייעתה דשמיא בימים האלה
                  שרציתי לרוץ עד הסוף...

                  כעיקרון בכדי לשנות תוכן בקובץ csv אתה צריך להשתמש עם

                  str_replace
                  

                  אבל אם יש לך מסד נתונים אז זה הכי טוב והכי קל והכי נכון והכי מהיר
                  תעבור על האתר הזה יש לך שם הסבר איך להתחבר ולשנות ערכים וכו במסד נתונים מסוג mysql

                  תגובה 1 תגובה אחרונה
                  1
                  • mgm ivrM מנותק
                    mgm ivrM מנותק
                    mgm ivr
                    כתב ב נערך לאחרונה על ידי
                    #11

                    יצרתי מסד נתונים
                    לצורך העניין קראתי לו DB
                    יוזר MGM
                    סיסמה 1234

                    בפרטים שהוא מבקש ממני הוא דורש כך

                    $servername = "localhost";
                    $username = "MGM";
                    $password = "1234";
                    

                    הבעיה היא שהוא לא מזהה את זה
                    הפלט שלו זה

                    Connection failed: Access denied for user 'MGM'@'localhost' (using password: YES)
                    

                    אני חושש שזה בגלל שלא הגדרתי לו את שם המסד (DB) אבל לא היה שום מקום לכתוב אותו! רק אלה המשתנים שהייתי צריך למלאות ושנדרשים בקוד

                    הקוד המלא לפניכם (באדיבות https://www.w3schools.com/php/php_mysql_connect.asp)

                    <?php
                    $servername = "localhost";
                    $username = "MGM";
                    $password = "1234";
                    
                    // Create connection
                    $conn = new mysqli($servername, $username, $password);
                    
                    // Check connection
                    if ($conn->connect_error) {
                      die("Connection failed: " . $conn->connect_error);
                    }
                    echo "Connected successfully";
                    ?>
                    

                    כמובן שהשם משתמש וסיסמה מומצאים אבל גם שהם נכונים יש שגיאה

                    I תגובה 1 תגובה אחרונה
                    0
                    • mgm ivrM mgm ivr

                      יצרתי מסד נתונים
                      לצורך העניין קראתי לו DB
                      יוזר MGM
                      סיסמה 1234

                      בפרטים שהוא מבקש ממני הוא דורש כך

                      $servername = "localhost";
                      $username = "MGM";
                      $password = "1234";
                      

                      הבעיה היא שהוא לא מזהה את זה
                      הפלט שלו זה

                      Connection failed: Access denied for user 'MGM'@'localhost' (using password: YES)
                      

                      אני חושש שזה בגלל שלא הגדרתי לו את שם המסד (DB) אבל לא היה שום מקום לכתוב אותו! רק אלה המשתנים שהייתי צריך למלאות ושנדרשים בקוד

                      הקוד המלא לפניכם (באדיבות https://www.w3schools.com/php/php_mysql_connect.asp)

                      <?php
                      $servername = "localhost";
                      $username = "MGM";
                      $password = "1234";
                      
                      // Create connection
                      $conn = new mysqli($servername, $username, $password);
                      
                      // Check connection
                      if ($conn->connect_error) {
                        die("Connection failed: " . $conn->connect_error);
                      }
                      echo "Connected successfully";
                      ?>
                      

                      כמובן שהשם משתמש וסיסמה מומצאים אבל גם שהם נכונים יש שגיאה

                      I מנותק
                      I מנותק
                      ivrtikshoret
                      כתב ב נערך לאחרונה על ידי
                      #12

                      @mgm-ivr
                      בהתחברות לבד אין צורך בלהכניס את שם הטבלה
                      בכדי לעזור לך באיזה חברה נמצא המסד נתונים שלך?

                      mgm ivrM 2 תגובות תגובה אחרונה
                      0
                      • I ivrtikshoret

                        @mgm-ivr
                        בהתחברות לבד אין צורך בלהכניס את שם הטבלה
                        בכדי לעזור לך באיזה חברה נמצא המסד נתונים שלך?

                        mgm ivrM מנותק
                        mgm ivrM מנותק
                        mgm ivr
                        כתב ב נערך לאחרונה על ידי
                        #13

                        @ivrtikshoret אמר בעזרה ב PHP| חיפוש בקובץ CSV:

                        @mgm-ivr
                        בהתחברות לבד אין צורך בלהכניס את שם הטבלה
                        בכדי לעזור לך באיזה חברה נמצא המסד נתונים שלך?

                        השרת בהוסטינגר
                        וזה מובנה שם

                        שמואל4ש תגובה 1 תגובה אחרונה
                        0
                        • I ivrtikshoret

                          @mgm-ivr
                          בהתחברות לבד אין צורך בלהכניס את שם הטבלה
                          בכדי לעזור לך באיזה חברה נמצא המסד נתונים שלך?

                          mgm ivrM מנותק
                          mgm ivrM מנותק
                          mgm ivr
                          כתב ב נערך לאחרונה על ידי
                          #14

                          @ivrtikshoret אמר בעזרה ב PHP| חיפוש בקובץ CSV:

                          בהתחברות לבד אין צורך בלהכניס את שם הטבלה

                          לא הכנסתי את שם המסד!

                          המסד עדיין ריק לגמרי בלי טבלאות

                          כרגע רשמתי רק יוזר וסיסמה
                          בלי מסד

                          תגובה 1 תגובה אחרונה
                          0
                          • mgm ivrM mgm ivr

                            @ivrtikshoret אמר בעזרה ב PHP| חיפוש בקובץ CSV:

                            @mgm-ivr
                            בהתחברות לבד אין צורך בלהכניס את שם הטבלה
                            בכדי לעזור לך באיזה חברה נמצא המסד נתונים שלך?

                            השרת בהוסטינגר
                            וזה מובנה שם

                            שמואל4ש מנותק
                            שמואל4ש מנותק
                            שמואל4
                            כתב ב נערך לאחרונה על ידי
                            #15

                            @mgm-ivr אמר בעזרה ב PHP| חיפוש בקובץ CSV:

                            השרת בהוסטינגר
                            וזה מובנה שם

                            אז ההתחברות לא צריכה להיות ל localhost.. אתה מקבל מהם פרטי התחברות נפרדים מלאים.

                            ליצירת קשר:
                            sh@mitm.top

                            תגובה 1 תגובה אחרונה
                            2
                            • mgm ivrM מנותק
                              mgm ivrM מנותק
                              mgm ivr
                              כתב ב נערך לאחרונה על ידי
                              #16

                              תודה רבה ל@שמואל4
                              עובד לי

                              היה צריך לציין גם מסד נתונים

                              תגובה 1 תגובה אחרונה
                              0
                              • dovidD dovid העביר נושא זה מ-תכנות ב-
                              תגובה
                              • תגובה כנושא
                              התחברו כדי לפרסם תגובה
                              • מהישן לחדש
                              • מהחדש לישן
                              • הכי הרבה הצבעות


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

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

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