הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   PHP | איך לעשות בדיקה אם משתנה שווה למשהו ממערך | כנסו ותבינו (https://hosts.co.il/forums/showthread.php?t=72101)

DvirCohen 20-02-09 13:06

כמה שטויות אתם כותבים פה אלוהים
foreach? like? join?

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

Daniel 20-02-09 13:38

IN זאת התשובה.... למרות, שאני משער,
שגם,
PHP קוד:

$ids "3,4,7";
$query "SELECT field FROM table WHERE id='".explode("' OR id='")."'"

יעבוד (עשיתי את זה בעל פה, אולי טעיתי בתו פה או שם - אבל העיקרון), אבל לפי דעתי IN הרבה יותר יעיל
אבל IN זה מה שמיועד לזה... LIKE? לעבור על כל המערך? אתם יודעים כמה משאבים זה יקח?

daMn 20-02-09 13:45

ציטוט:

נכתב במקור על ידי MasterT (פרסם 699198)
IN זאת התשובה.... למרות, שאני משער,
שגם,
PHP קוד:

$ids "3,4,7";
$query "SELECT field FROM table WHERE id='".explode("' OR id='")."'"

יעבוד (עשיתי את זה בעל פה, אולי טעיתי בתו פה או שם - אבל העיקרון), אבל לפי דעתי IN הרבה יותר יעיל
אבל IN זה מה שמיועד לזה... LIKE? לעבור על כל המערך? אתם יודעים כמה משאבים זה יקח?

מה לעזאזל עשית כאן? |:

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

Daniel 20-02-09 17:49

ציטוט:

נכתב במקור על ידי daMn (פרסם 699200)
מה לעזאזל עשית כאן? |:

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

מה שכונה/חפירות? השאילתה שתורץ במסד נתונים תיהיה
PHP קוד:

SELECT field FROM table WHERE id='3' OR id='4' OR id='7' 


DvirCohen 20-02-09 19:15

ציטוט:

נכתב במקור על ידי MasterT (פרסם 699275)
מה שכונה/חפירות? השאילתה שתורץ במסד נתונים תיהיה
PHP קוד:

SELECT field FROM table WHERE id='3' OR id='4' OR id='7' 


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

vadimg88 20-02-09 19:17

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

Daniel 20-02-09 19:34

ציטוט:

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

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

נכתב במקור על ידי vadimg88 (פרסם 699286)
גם זה לא יעשה את מה שלמעלה כי לא הוספת את הערכים המספריים שנמצאים בתור המשתנה ids$ אל תוך השאילתה.

דיברת אליי? למה אתה מתכוון?

vadimg88 20-02-09 19:36

PHP קוד:

$query "SELECT field FROM table WHERE id='".explode("' OR id='")."'"

אני לא רואה פה אזכור למשתנה ids$ שמחזיק בעצם בכל המספרים.

Daniel 20-02-09 19:56

צודק, טעות שלי, זה מה שקורה כשכותבים על רגל אחת עם ה-right-to-left טקסטבוקס בפורום =], טעות שלי.
PHP קוד:

 $query "SELECT field FROM table WHERE id='".explode("' OR id='"$ids)."'"


intercooler3819 20-02-09 19:59

ממ טכנית זה עדיין לא היה תקין כי $ids לא מוגדר אצלך כמערך אבל לא נהיה קיטצ'ים |קורץ|


כל הזמנים הם GMT +2. הזמן כעת הוא 11:03.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ