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

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   צריך עזרה עם SQL, נראה לי צריך IN בשביל זה (https://hosts.co.il/forums/showthread.php?t=68154)

al_n 11-10-08 14:38

צריך עזרה עם SQL, נראה לי צריך IN בשביל זה
 
יש לי טבלה של משימות שיש לה שדה של `task_permissions` שם נשמר שמות משתמשים מופרדים ע"י פסיקים.

עכשיו אני רוצה לשלוף את כל המשימות שלמשתמש מסויים מותר לצפות:

PHP קוד:

$user_name 'almog';

$sql "SELECT * FROM `tasks` WHERE '$user_name' IN (`task_permissions`)"

נגיד ויש לי שורה שיש בה ב task_permissions את הערכים:
'shlomi','almog'

זה לא אמור להחזיר לי את השורה הזאת?
כי זה לא מחזיר לי כלום.

בעיקרון הפכתי את הפקודה של ה IN (שם השדה אמור להיות קודם)

אם אי אפשר איך שעשיתי, למישהו יש פתרון?

Deagly 11-10-08 14:45

אתה יכול לשלוף את המשתמשים מהשורה task_permissions לעשות EXPLODE ל , ולחפש את המשתמש הרצוי במערך שנוצר לך
ואז לעשות מה שהתכוונת..

al_n 11-10-08 14:46

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

al_n 11-10-08 14:57

..
 
נראה לי הצלחתי!
עשיתי משהו עם LIKE שעובד (אני מקווה שבכל המקרים, אני יבדוק)

למי שצריך:
PHP קוד:

WHERE `task_permissionsLIKE '%,$user_name%' 

צריך פשוט לדאוג שבמסד נתונים הפסיק יתחיל לפני כל משתמש (גם הראשון)

exciter 15-10-08 08:25

וגם האחרון...
אם יהיה לך משתמש Or ומשתמש Oren יכול להיות שהוא יתפוס את שתיהם...
למרות שאתה עדיין יכול להשתמש ב IN, יותר נכון להשתמש בו.

DvirCohen 15-10-08 11:40

אתה צריך שבמסד נתונים יהיה פסיק בתחילת וסוף המחרוזת, כלומר שזה יראה ככה למשל:
,dvir,rami,yossi,

ואז לעשות
קוד:

SELECT * FROM `task` WHERE `task_permission` LIKE ',$name,'

b007 15-10-08 16:53

שלום.
אני רוצה להמיר את הידע שלי מ SQL 2005 ל MYSQL.. איך עושים את זה?
איפה ניתן למצוא קישורים...? תעזרו לי במה שאתם יכולים..

תודה, גיל.

exciter 15-10-08 21:20

ברמת העיקרון, השפה אמורה להיות אותה שפה (למרות שיש מזהים קצת שונים, למה ? אלוהים יודע... הבדלים כמו LIMIT ו TOP)...
בכל מקרה השפה עצמה מאוד פשוטה, אתה יכול ללמוד עליה בהרבה מקומות... חיפוש פשוט יעזור לך.

b007 15-10-08 23:16

תודה רבה.
שאלה נוספת... האם ניתן לפרסם אתרים הבנויים על DB של SQL 2005?
האם זה יותר יקר...?

DvirCohen 15-10-08 23:36

לי יש שאלה אלייך.
למה אתה "מתפרץ" למישהו לנושא, במיוחד שזה ממש לא על אותו עניין?


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

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