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

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

mrns 25-10-10 18:27

PHP | שליפת נתונים מ ID אקראי
 
אהלן,
אני מוציא 4 מספרים מהמסד בצורה אקראית.
הבעיה שזה שולף לי מספרים דומים,
לדוגמה: אני מבקש ממנו שיגריל לי מספר מ 1-5
PHP קוד:

$result $con->query("SELECT `id` FROM post WHERE id rand(1,5)"); 

מריץ 4 פעמים
התוצאה היא :
3
4
3
1

איך אפשר לוודאות שכל ה4 תוצאות שונות זה מזה

BlueNosE 26-10-10 10:42

הID שלך מוגדר כPRIMARY?

אם התשובה היא כן:
SELECT id FROM post ORDER BY rand() LIMIT 5

אם לא:
SELECT DISTINCT(id) AS id FROM post ORDER BY rand() LIMIT 5

mrns 26-10-10 13:14

ציטוט:

נכתב במקור על ידי BlueNosE (פרסם 784384)
הID שלך מוגדר כPRIMARY?

אם התשובה היא כן:
SELECT id FROM post ORDER BY rand() LIMIT 5

אם לא:
SELECT DISTINCT(id) AS id FROM post ORDER BY rand() LIMIT 5

ניסיתי את וזה לא עזר
עדיין התוצאות היו זהות, תודה רבה בכל מקרה.
עוד מישהו?...

BlueNosE 26-10-10 20:37

2 דברים,
1. למה אתה בכלל משתמש במסד בשביל להוציא 4 מספרים? השימוש במסד קריטי לזה? יש את הפונק' mt_rand ב-PHP שעושה בדיוק אותו דבר בלי התחברות למסד.

2. אין סיכוי שבשימוש עם DISTINCT יוצאות תוצאות כפולות. כדאי שתבדוק את מס' הרשומות שלך במסד אם ככה, כי DISTINCT שולף כל מס' פעם אחת בלבד.


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

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