|
הרשם | ![]() |
שאלות ותשובות | ![]() |
רשימת חברים | ![]() |
לוח שנה | ![]() |
הודעות מהיום | ![]() |
חיפוש | ![]() |
|
![]() |
![]() |
|
כלים לאשכול | תצורת הצגה |
![]() |
# 1 |
חבר מתקדם
|
עזרה, הרשאות צפייה בשאילתת SQL
בניתי מערכת של כתבות.
לכל כתבה ב db יש שדה שנקרא permissions שמכיל idים של משתמשים מופרדים ע"י פסיקים, רק הם יכולים לצפות בכתבה. מה התנאי שאני אמור לתת כדי שהמשתמש יראה את הכתבה אם הוא קיים ברשימה של ה idים?.. חשבתי על IN() אבל זה מבצע את הפעולה ההפוכה... תראו מה עשיתי בינתיים: PHP קוד:
יש לי בדף 1 - 6 תוצאות, בדף 2 - 20 תוצאות...... Last edited by al_n; 15-12-07 at 15:10.. |
![]() |
![]() |
# 2 |
Whatever
|
למה IN מבצע את הפעולה ההפוכה? IN בודק אם ה id שהזנת לו נמצא ב IDs המאופשרים במסד.
__________________
תומר |
![]() |
![]() |
# 3 | |
חבר מתקדם
|
אבל הוא יבדוק אם המחרוזת שיש בשדה permissions תתאים לאחד הערכים שאני יביא לו ב
ציטוט:
כי אם אני עושה ככה: PHP קוד:
Last edited by al_n; 15-12-07 at 15:16.. |
|
![]() |
![]() |
# 4 |
הוסטסניון
|
התוצאות לא יוצאות בסדר, כי השאילתא מוציאה הכול, ורק אח"כ אתה בודק וזה לא נכון.
אתה חייב להוציא את השדות המתאימים כבר מהשאילתא.. יכול להיות שLIKE יסדר לך את העניין. תריץ LIKE על השדה ואם יש מספר שהוא כמו המספר אז הוא מוציא..
__________________
"חינוך למדעי המחשב לא יכול להפוך אף אחד למתכנת מומחה יותר מאשר לימוד על מברשות וצבעים יכול להפוך מישהו לצייר מיומן." |
![]() |
![]() |
# 5 |
חבר מתקדם
|
כן אני יודע נתתי רק דוגמא מה אני אמור לעשות
ה LIKE לא עובד לי ניסיתי כי הוא מזהה את זה: 4,42,34,11 כמחרוזת אחת שלא דומה נגיד למספר 1 |
![]() |
![]() |
חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים) | |
|
|