… אני מניח שאם תעשה את הקוד הזה בצד לקוח גם יקרה לך אותו דבר: <script type="text/javascript"> <!– [CDATA[ alert(Math.round(Math.random*2)); // ]> –> </script>
כי מן הסתם ההסתברות שיצא 1 או 2 היא 1ל-2 ולכן הגיוני מאוד שתצא אותה תוצאה כל פעם.
אופס…. לא טוב… זה עדיין עושה בעיות…. גם כשיש שלוש רשומות, ברוב המקרים (כמעט בכולם) הוא מציג רשומה אחת בלבד, ובאופן נדיר בהחלט הוא מציג רשומה אחרת (ותמיד זו אותה אחת, כך שיוצא שרשומה אחת לא מוצגת)
13 תשובות
אי אפשר לדעתי…
אבל אפשר להשתמש בשפת השרת בשביל להציא מספר רנדומלי ואז לעשות משפט SQL
…
באקסס: תסתכל במאמר של אוריקס במדור SQL
ב-MSSQL:
ORDER Y newId()
אם אני לא טועה
ב-MYSQL:
ORDER BY RAND()
אם אני לא טועה
תודה ניר 🙂 זה מה שחיפשתי 🙂
אגב,
משום מה אני לא מקבל הודעות מהאתר (וובמאסטר) כשמתקבלות תגובות…
נתון לטיפול 🙂
אופס.
זה לא עובד… :
(Mysql)
מה בדיוק לא עובד?
יש שגיאה?
הסדר שניר כתב לי הוא בעצם מסדר את כל הנתונים בסדר אקראי.
על מנת לבחור מספר שורות ספציפי בצורה אקראית תכתוב ככה:
ORDER BY RAND() LIMIT count
count = מספר השורות שהוא יבחר אקראית.
אולי לזה התכוונת (?).
אני אסביר מה הבעיה…
יש לי שתי רשומות בטבלה…
עכשיו כשאני מנסה להוציא רשומה אקראית (באותה דרך שהצגת)
זה תמיד מציג לי את אותה רשומה.
…
אני מניח שאם תעשה את הקוד הזה בצד לקוח גם יקרה לך אותו דבר:
<script type="text/javascript">
<!– [CDATA[
alert(Math.round(Math.random*2));
// ]> –>
</script>
כי מן הסתם ההסתברות שיצא 1 או 2 היא 1ל-2 ולכן הגיוני מאוד שתצא אותה תוצאה כל פעם.
אם יש לך 10 רשומות זה עושה אותו דבר ?
לא :
אוקי תודה 🙂
אופס…. לא טוב…
זה עדיין עושה בעיות….
גם כשיש שלוש רשומות,
ברוב המקרים (כמעט בכולם) הוא מציג רשומה אחת בלבד,
ובאופן נדיר בהחלט הוא מציג רשומה אחרת (ותמיד זו אותה אחת, כך שיוצא שרשומה אחת לא מוצגת)
זה אומר שהפונקציה הפנימית של המסד
לא טובה, זה לא תלוי בך…
יש תחליף? (אגב אני עובד עם PHP)
אין קשר ל PHP
ונסה לעשות את מה שמפורט במאמר של שליפה רנדומלית באקסס במדור SQL על MySQL.
אוקי תודה 🙂