![]() |
PHP | איך לעשות בדיקה אם משתנה שווה למשהו ממערך | כנסו ותבינו
אהלן...
יש לי מערך בגודל X (זה דינאמי...לכן מספר המקומות במערך אינו קבוע). אני מעוניין ליצור שאילתת שליפה ממסד נתונים...בסגנון הבא: PHP קוד:
נניח יש לי 3 תאים במערך...ששוים ל: 3,4,7 אז שישלוף את כל הנתונים מהטבלה שבהם השדה FILED שווה ל 3/4/7 . תודה מראש, מתן. |
ציטוט:
|
|
לדעתי אתה צריך להכניס את המספרים כך: /1/2/3/ ואז עם like לעשות
PHP קוד:
|
PHP קוד:
|
ציטוט:
שאילתת LIKE זאת השאילתא הכי כבדה שיש (כמובן שאפשר לשרשר אותה ואז להגדיל את היעילות בצורה אקספוננציאלית אבל זה לא הנקודה) עדיף לעשות מה שאמרו כאן למעלה implode עם מפריד של פסיקים בשביל לקמבן סטרינג ואת כל זה לשלב בשאילתת IN זה הכיוון |
זה גם לא נכון להשתמש ב LIKE במקרה הזה.
|
תיצור מחרוזת ואת החלק של הWHERE תיצור עם FOREACH שיעבור על כל ערכי המערך
|
למה אתם מסתבכים סתם, הבאתי פתרון הכי נכון לבעיה.
|
תעשה פשוט
FOREACH ו JOIN הפתרון הכי פשוט בישבלך |
כמה שטויות אתם כותבים פה אלוהים
foreach? like? join? daMn נתן את הפיתרון מילולית, אני נתתי אותו בקוד, וזאת הדרך הנכונה והטובה ביותר לעשות את זה. |
IN זאת התשובה.... למרות, שאני משער,
שגם, PHP קוד:
אבל IN זה מה שמיועד לזה... LIKE? לעבור על כל המערך? אתם יודעים כמה משאבים זה יקח? |
ציטוט:
למה בזמן האחרון כל אשכול פשוט נהיה פה שכונה :\ אם זה נושא גדול אין לי בעיה עם חפירות, להיפך אפשר ללמוד המון מדברים שנאמרים בפורום. אבל לשאלות מהסוג הפשוט כדוגמת האשכול הזה אין טעם להסתבך סתם. |
ציטוט:
PHP קוד:
|
ציטוט:
אבל ברגע שאורך המערך לא קבוע, זה לא כזה יעיל.. בכל מקרה, יש פקודה בSQL בשביל זה ופה נגמר הסיפור.. |
גם זה לא יעשה את מה שלמעלה כי לא הוספת את הערכים המספריים שנמצאים בתור המשתנה ids$ אל תוך השאילתה.
|
ציטוט:
ציטוט:
|
PHP קוד:
|
צודק, טעות שלי, זה מה שקורה כשכותבים על רגל אחת עם ה-right-to-left טקסטבוקס בפורום =], טעות שלי.
PHP קוד:
|
ממ טכנית זה עדיין לא היה תקין כי $ids לא מוגדר אצלך כמערך אבל לא נהיה קיטצ'ים |קורץ|
|
נכון, ids$ הוא סטרינג לכן מה שהצגת לא יעבוד. אני חושב שאתה לא ממש יודע מה בידיוק explode עושה. כי ממה שזה נראה אין לך הרבה מושג במה שאתה אומר, לפחות לא מהדוגמאות שאתה נותן.
|
ציטוט:
PHP קוד:
|
ציטוט:
כי זכור לי שבעבר ניסיתי להשתמש בזה וזה פשוט לא עבד.. |
היא קיימת כבר הרבה זמן אני מניח ש 4.0.2
|
כל הזמנים הם GMT +2. הזמן כעת הוא 19:15. |
מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ