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

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

sUP 23-05-06 19:34

[PHP] חשוב!! - בחירה ב SQL דרך מערך \ משתנה
 
עכשיו בעיה חדשה מולי,
אני עכשיו יוצר פאנל ניהול, כשלכל משתמש יש אפשרות למספר הרשאות.

כשהתא groups מסמל את הID של ההרשאות, ושם הערך הוא לדוגמא:
1,2,5,8,

בקיצור, הצלחתי להשתמש ב split שיפרק את כל המספרים למערך..
PHP קוד:

$pre split('[,]'$car[group]); 

עכשיו, אני צריך לעשות שאילתה שתוציא לי את ההרשאות של המשתמש:
PHP קוד:

$readpremissions mysql_query("SELECT * FROM agroups"); 

כשזה בעצם הבסיס,
ואני צריך להוציא משם את השורות עם:
ID ששווה ל 1
ID ששווה ל 2
ID ששווה ל 5
ID ששווה ל 8

(לפי המערך שקבעתי בהתחלה)

השאלה שלי,
איך אפשר לעשות זאת? =]

eLad 23-05-06 19:38

ציטוט:

נכתב במקור על ידי sUP
עכשיו בעיה חדשה מולי,
אני עכשיו יוצר פאנל ניהול, כשלכל משתמש יש אפשרות למספר הרשאות.

כשהתא groups מסמל את הID של ההרשאות, ושם הערך הוא לדוגמא:
1,2,5,8,

בקיצור, הצלחתי להשתמש ב split שיפרק את כל המספרים למערך..
PHP קוד:

$pre split('[,]'$car[group]); 

עכשיו, אני צריך לעשות שאילתה שתוציא לי את ההרשאות של המשתמש:
PHP קוד:

$readpremissions mysql_query("SELECT * FROM agroups"); 

כשזה בעצם הבסיס,
ואני צריך להוציא משם את השורות עם:
ID ששווה ל 1
ID ששווה ל 2
ID ששווה ל 5
ID ששווה ל 8

(לפי המערך שקבעתי בהתחלה)

השאלה שלי,
איך אפשר לעשות זאת? =]

קוד:

SELECT nId,sName FROM tbl WHERE nId IN (1,2,3,4)

Rom 23-05-06 19:40

PHP קוד:

$readpremissions mysql_query("SELECT * FROM agroups WHERE id=1 AND id=2 AND id=5 AND id=8"); 

יכול להיות שיש דרך יותר פשוטה
אבל זאת גם דרך טובה

eLad 23-05-06 19:42

ציטוט:

נכתב במקור על ידי DragonRom
PHP קוד:

$readpremissions mysql_query("SELECT * FROM agroups WHERE id=1 AND id=2 AND id=5 AND id=8"); 

יכול להיות שיש דרך יותר פשוטה
אבל זאת גם דרך טובה

בטוח שזה יחזיר לך FALSE לכל דבר כי איך id יכול להיות שווה 1 ובאותו זמן שווה ל 2 ובאותו זמן שווה ל 5 ובאותו זמן שווה ל 8?

בניה 23-05-06 19:45

ב"ה

PHP קוד:

$query="SELECT * FORM agroups";
foreach(
$pre as $id)
{
$c++;
if(
$c==1)
$query.=" WHERE id=$id";
else
$query.=" OR WHERE id=$id";
}
$readpremissions mysql_query($query); 

למשהוא כזה התכוונתה?

sUP 23-05-06 20:01

תודה לאלעד על הדרך,
בניה, תודה לך על העזרה בפתירת הדרך =]

קוד סופי:
PHP קוד:

foreach($pre as $id

$c++; 
if(
$c==1
$query.="$id"
else 
$query.=",$id"


$readmodules mysql_query("SELECT * FROM agroups WHERE id IN ($query)"); 



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

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