ايران ويج

نسخه‌ی کامل: بازیابی اطلاعات تصادفی از بانک
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
سلام دوستانHeart
من با استفاده از کد زیر اطلاعاتی را از بانک اطلاعاتی استخراج می کنم.اطلاعات دانش آموزانی که نمره ی بالای 17 دارن
کد php:
$student=mysql_query("SELECT `id`,`fname`,`lname`,`nomre` FROM `t_student` WHERE `nomre` > '17';");
$student=mysql_fetch_assoc($student); 
خوب حالا من می خوام اطلاعات یک از دانش آموزانی رو که شرط بالا را دارند صورت تصادفی بدست بیاورم.
برای این کار چکار کنم؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟کدش چیه؟Shy
ممنونHeartHeartHeart
۲ راه داری:

راه اول توی دستور mysql فیلد تصادفی رو بگیری ؛ (اگه تعداد نتایج زیاد باشه! این راه بهینه هست)
راه دوم اینکه تمام فیلد ها رو بدست بیاری و توی خود زبانی که داری باهاش کار میکنی (در اینجا php) فیلد تصادفی رو نشون بدی


واسه راه اول که از منبعش اینجاست؛ دستورت باید اینطوری باشه

کد php:
SELECT product_idtitledescription
FROM products
WHERE active 
1
AND stock 0
ORDER BY RAND
()
LIMIT 4 

که قسمت مهمش اون ORDER BY RAND هست! که میتونی باهاش فیلد تصادفی بدست بیاری
و limit رو ۱ بزاری؛ در نتیجه فقط یک فیلد بر میگردونه

--------------------
راه دوم اینه که بجای اینکه از mysql_fetch_assoc استفاده کنی که یه آرایه درست میکنه که با نام فیلد بهش دسترسی داریم؛ از mysql-fetch-row رو استفاده کنی که یه آرایه بر میگردونه که نام هر آرایه رو با عدد مشخص میکنه! (نحوه کارش رو از اینجا ببین)

و بعد با استفاده از توابع rand یه عدد رندوم ایجاد کنی ...

و یا
سلام خیلی ممنون
دستتون طلاHeartHeartHeart
فقط یک سوال دیگه این LIMIT کارش چیه؟؟؟؟؟؟؟؟Shy
الان اگر من اینجوری بنویسم درست می شه؟
کد php:
$student=mysql_query("SELECT `id`,`fname`,`lname`,`nomre` FROM `t_student` WHERE `nomre` > '17' ORDER BY RAND();");
$student=mysql_fetch_assoc($student); 

HeartHeartHeartHeartHeartHeartHeartHeartHeartHeartHeartHeartHeartHeartHeartHeartHeartHeartHeartHeartHeart
limit نتایج رو محدود میکنه؛ مثلا اگه limit 1 بنویسید؛ فقط یک سطر بر میگردونه!!

خب تست کنید ببینید درسته یا نه Biggrin من امکانات ندارم فعلا؛ ظاهرش که درسته
سلام خیلی ممنون
نقل قول: خب تست کنید ببینید درسته یا نه Biggrin
بله خودمم بعد از ارسال پست به همین نتیجه رسیدمBiggrinBiggrinBiggrinBiggrin درست بود
کد ی که من می خواستم این می شه
کد php:
$student=mysql_query("SELECT `id`,`fname`,`lname`,`nomre` FROM `t_student` WHERE `nomre` > '17' ORDER BY RAND() LIMIT 1;");
$student=mysql_fetch_assoc($student); 
خیلی ممنون از کمکتونHeartHeartHeart