PDA

View Full Version : سوال: ترکیب jquery و php



soroush.r70
سه شنبه 13 دی 1390, 10:40 صبح
من یک کد آزمون آنلاین با jquery دارم ولی سوالاتش داخله فایل jquery هستش من می خوام این سوالات و جواب ها از بانک اطلاعاتی به وسیله php فراخوانی بشه چی کار کنم کدشم اینه.

var init = {
'questions': [
{
'question': 'سوال اول ؟',
'answers': ['گزینه 1','گزینه 2','گزینه 3','گزینه 4'],
'correctAnswer': 1
},
{
'question': 'سوال دوم ؟',
'answers': ['گزینه 1','گزینه 2','گزینه 3','گزینه 4'],
'correctAnswer': 2
},
{
'question': 'سوال سوم',
'answers': ['گزینه 1','گزینه 2','گزینه 3','گزینه 4'],
'correctAnswer': 4
},
],
'resultComments' :
{
perfect: 'عالی بود . تبریک',
excellent: 'خوب بود ! واقعا !',
good: 'بیش از این انتظار میرفت !',
average: 'تقریبا قابل قبول است !',
bad: 'بد نبود !',
poor: 'متاسفانه بسیار بد بود !',
worst: 'متاسفانه خیلی بد بود !'
}

};

فایل کاملشم اینه :

MMSHFE
سه شنبه 13 دی 1390, 13:37 عصر
با سلام، حقیقتش من داشتم روی یک سیستم آزمون آنلاین با PHP و jQuery کار میکردم. کد شما رو گرفتم و از استایل CSS اون خوشم اومد. اگه اجازه بدین، کد خودم رو با این استایل تکمیل میکنم و براتون میگذارم. موفق باشید.

ravand
سه شنبه 13 دی 1390, 13:58 عصر
ببخشيد آقاي soroush.r70 من كد شما رو تست كردم با كروم و فايرفاكس كار ميكنه ولي با اكسپلورر 8 كار نميكنه؟ چرا؟!

soroush.r70
چهارشنبه 14 دی 1390, 10:10 صبح
دقیقا نمی دونم مشکلش چیه اینترنت اکسپلور هم واسه ما شر شد رفتم ببینم جاوا اسکریپت مرورگر فعاله یا نه دیدم فعاله بازم کار نکرد.
از MMSHFE ممنونم که کد کاملشو تو این تاپیک قرار می ده.

plague
چهارشنبه 14 دی 1390, 22:36 عصر
2 راه داری
یا میتونی با پی اچ پی از دیتابیس بخونی و توی فیلد های مخفی بریزی بعد با جی کوئری از اون فیلد های مخفی اینا رو بخونی

راه دیگه اینه که با ایجکس توی همون خوده اسکریپتت از پیج دیگه که پی اچ پی هست اطلاعات رو بگیری مثلا به صورت json یا حالا هر جوری که میخای

ولی در کل فکر میکنم روش درست تر اینه که نمایش سوالات با پی اچ پی باشه بهتره این روش درست تری به خاطر ماهیت سوال ها و جواب ها و داینامیک بودنشون

شخصا برای اپلیکیشن مشابه ای که درست کردم سوال و جواب ها در صفحه دیگه با پی اچ پی لود میشدو من با جی کوئری / ایجکس اونها رو یکی یکی میگرفتم و نمایش دادم

soroush.r70
پنج شنبه 15 دی 1390, 11:46 صبح
می تونی روش کاملو با کد توضیح بدی plague

plague
پنج شنبه 15 دی 1390, 15:22 عصر
یه صفحه اصلی یا صفحه مادر میسازی که همونیه که سوال ها توش نمایش داده میشن و یه صفحه دیگه هم داری مثلا backend.php که سوال ها رو از دیتابیس میخونه و نمایش میده
حالا وقتی یوزری میاد توی صفحه مادر امتحان مثلا با get یا حالا هرچی آیدی اون امتحان رو میگیری و امتحان رو از دیتابیس میخونی و مشخصات رو در میاری و نشون کاربر میدی و یه دکمه شروع امتحان هم مثلا میزاری اون وسط صفحه

حالا اون صفحه لودر که ایجکسیه به این شکله
آیدی امتحان رو میگیریه
آیدی سوالی که میخای نمایش بدی رو هم میگیره (در صورتی که آیدی سوال نباشه سوال 1 انتخاب میشه )


quiz_id = $_post['quiz_id'];
$question = isset($_post['question']) ? $_post['question'] : 1 ;
حالا از دیتابیس سوال مربوط به امتحان رو در میاره و توی یک دیو نمایش میده

<div id="quiz_div">
نمایش اون سوال با جوابهاش
نمایش تعداد سوال های باقی مونده ( همون 1و2 و3 و4 و5 )
</div>

خب حالا وقتی کاربر توی صفحه مادر دکمه شروع رو میزنه آیدی امتحان و مثلا شماره سوال که اینجا 1 هست برای شروعه به صفحه لودر فرستاده میشه و نتیجه اون دریافت میشه و نمایش داده میشه

function start(quiz_id , question ){
$('#mother_div').load('backend.php?quiz_id='+quiz_ id+'&question='+question+' #quiz_div');
}

البته این خیلی خلاصه بود مطمئنا باید خیلی بیشتر از این کار داره

soroush.r70
پنج شنبه 15 دی 1390, 20:00 عصر
این که گفتی مشکلی با ایجکس نداره یعنی بارگذاری با ایجکس به صورت کامل هست یا نه.

آقا محمد مصطفی شهرکی قرار بود کد کاملشو بزاره پس چی شد.

MMSHFE
پنج شنبه 15 دی 1390, 20:25 عصر
عزیز دارم روش کار میکنم. کدش آماده است فقط دارم قالبش رو تنظیم میکنم تا شبیه کدی که شما گذاشتین بشه. ضمناً یکسری تغییرات هم داره. مثلاً کدی که شما گذاشتین، گزینه درست هم توش مشخصه که البته مشکل از جاوا اسکریپت هست که سمت کلاینته و کاریش هم نمیشه کرد ولی توی نسخه PHP این مشکل هم رفع شده. یکم صبور باشید جان من!

soroush.r70
پنج شنبه 15 دی 1390, 21:01 عصر
ممنونم آقا محمد چون منم خیلی احتیاج داشتم گفتم وگرنه شما کارت درسته

soroush.r70
شنبه 17 دی 1390, 11:15 صبح
حالا می شه به طور کامل با ایجکس اجرا بشه

soroush.r70
چهارشنبه 21 دی 1390, 13:00 عصر
محمد جان یک هفته ای گذشت اون اسکریپت رو هنوز به ما نرسوندی. کجایی آقا

MMSHFE
چهارشنبه 21 دی 1390, 16:44 عصر
تقریباً کامل شده. فقط دارم یکم امکاناتش رو بیشتر میکنم. مثلاً اینکه بشه زمان مشخصی برای آزمون درنظر گرفت و...

MMSHFE
یک شنبه 25 دی 1390, 12:47 عصر
با سلام، شرمنده دیدم خیلی داره طولانی میشه، قید بخش زمانبندی آزمون رو زدم و بقیه رو تکمیل کردم و گذاشتمش. امیدوارم به دردتون بخوره. اگه توضیحی بود، در خدمتم. البته زمانبندی هم کار سختی نیست و مطمئناً میتونید خودتون از عهده اون بر بیاین. موفق باشید.

ravand
یک شنبه 25 دی 1390, 13:59 عصر
ببخشد اين فايل feed.php حروف بهم ريخته چاپ ميكنه.
تعداد Ú©Ù„ سؤالاØ
نگاه كردم ديدم از اين خط استفاده شده ولي بازم اين مشكل رو داره.

mysql_query('SET NAMES \'utf8\'');
ديتابيس من مشكلي از لحاظ utf-8 نداره .

MMSHFE
یک شنبه 25 دی 1390, 15:14 عصر
نميدونم والا مشكل از كجاست. من كاملاً تستش كردم. البته توي فايرفاكس. IE كلاً با ارسال Unicode ازطريق AJAX مشكل داره. قبلاً راه رفعش بحث شده. جستجو كنيد.

MMSHFE
دوشنبه 26 دی 1390, 16:12 عصر
با سلام، چند تا عکس از آزمون هم گرفتم که ببینید مطالب فارسی رو درست نشون میده:
80925
80922
80926
80924
80923

MMSHFE
دوشنبه 26 دی 1390, 16:13 عصر
یادم رفت، اینم صفحه نتایج آزمون:
80927

soroush.r70
دوشنبه 26 دی 1390, 20:17 عصر
آقا ممنونم کاملا درست نشون می ده خیلی لطف کردی