الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

اسئلة تتعلق بالتصويت(الاستطلاع) في المواقع

بدأه كمبيوتر نت في 1 مارس 2010 · 7 رد · 1,309 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

تكاد المواقع الجديدة لاتخلو من هذه الفكرة ،وكيفية عمل استطلاع(تصويت)هي انها اولا تقرا من قواعد البيانات فهذه معروفة ،وايضا الخيارات لها معروفة ... فمثلا::

عملت استطلاع في موقعي وهو على سبيل المثال : مارايك في موقعنا :1)ممتاز 2)جيد 3)مقبول. الى غير ذلك من الخيارات .

فعندما مثلا اضغط على ممتاز يذهب الى قواعد البيانات ويحسب هذا بصوت.. وهكذا مع بقية الخيارات الاخرى . انا عملت مثل ذلك ولكن اسئلة واجهتني في ذلك وحاولت ان اضعها عليك.

فانا بالنسبة لي عملت في قاعدة البيانات هذا الجدول وهو يحتوي على الحقول الاتية:

1)رقم السؤال id 2)نص السؤال question 3) الخيار الاول option1 4)الخيار الثاني option2 5)الخيار الثالث option3 6) التصويت للخيار الاول vote1 7)التصويت للخيار الثاني vote2 9) التصويت للخيار الثالث vote3

هذه هي الحقول التي سويتها والاسئلة هي:

1) كيف يمكن ان اجمع كل الاصوات واضعها في زر البوتن مثلا (النتيجة) أي لما يضغط المستخدم يرى كم عدد الاشخاص الذي صوتوا لهذا السؤال .. واعتقد انها الدلةsum لكن ياليت تكتبها .

2) كيف يمكن ان اقسّم الاصوات فمثلا : شخص اختار الخيار ممتاز يعتبر بصوت وشخص ايضا اختار ممتاز ينضاف هذا الصوت الى الصوت الاول ليصبح صوتين وهكذا في بقية الخيارات الاخرى.

3) كيف يمكن ان اعمل نسبة مئوية مثل الشريط bar بحيث تظهر النسبة المئوية للاصوات ،وكل خيار له نسبة مئوية ،فاذا كان الخيار ممتاز يحتوي على عدد الاصوات 500 والخيار جيد 300 والخيار مقبول 100 فتكون النسبة المئوية للخيار ممتاز اكثر فتكون مثلا 60% والجيد 30% والمقبول 10% .. لكن تظهر النسبة مع الشريط أي مثل شريط التحميل كماهو حاصل في بعض المواقع .

4) اذا صوّت الشخص فانه يعطى له صوت واحد فاذا عاد مرة اخرى وجد ان التصويت غير مفعل حتى لايتيح له التصويت اكثر من مرة على جهازه.. وهذا على مااعتقد انه الكوكيز cookies فكيف اخرجه على جهاز المستخدم بحيث انه اذا صوّت تم الغاء التصويت على جهازه أي اصبح التصويت يظهر بانه غير مفعل .

5) كما اخبرنا في النقطة السابقة عن الكوكيز اذا نزل على جهاز المستخدم فانه لايستطيع ان يصوت مرة اخرى.. فكيف يمكن ان احذف الكوكيز من جهاز المستخدم اذا عملت تصويت جديد .. بحيث اني اعطي له التصويت مرة اخرى على هذا التصويت الجديد.. اقصد فترة الانتهى للكوكيز..

انتهى سؤال التصويت الاستطلاع منتظر ردكم على احر من الجمر......

تم تعديل هذه المشاركة بواسطة كمبيوتر نت في 1 مارس 2010 في 11:26

#2

لي تعليق مبدأي على تصميمك لقاعدة البيانات ... يجب نقل الخيارات Options في جدول منفصل لأن ممكن سؤال يكون له خياران وآخر له أربعة وهكذا ..

ولا داعي لوضع خانات للاختيارات والتي سميتها Votes .. بل يتم عمل جدول آخر يخص المستخدمين واختياراتهم ... ووذلك حتى تقوم بإيقاف المستخدم الذي قام بالتصويت ومنعه من التصويت مرة أخرى ,,,

ولمعرفة كافة التفاصيل التي تريدها ... اقرأ هذه المقالات وستغطي لك كل ما تريد

http://www.codeproject.com/KB/aspnet/CreatingPollSystem.aspx

http://www.4guysfromrolla.com/articles/082207-1.aspx

http://www.beansoftware.com/ASP.NET-Tutorials/Poll-Application.aspx

http://www.highoncoding.com/Articles/322_Creating_Poll_Using_ASP_NET_2_0_Client_Callbacks.aspx

تحياتي وأمنياتي بالتوفيق

ASP.NET Team Leader

moh_kin_mah@hotmail.com

--------------------------------

لو أعجبك أي من مشاركاتي ... برجاء قم بتقييم المشاركة عبر الأزرار الموجودة أسفل يسار كل مشاركة

#3

صراحة المقالات جيدة اخي؟؟؟؟ لكن الذي اقصده هو اريد شرح اذا امكن بالتفصيل وخاصة انك قلت لي انك لابد ان تعمل جدولين واحد للاسئلة والثانية للخيارات هذا فكرة جيدة وافضل من الاول؟؟ لكن هل باستطاعتك ان تشرح لي ذلك !!! دعنا من المقال ... منتظر رد منك

#4

أولاً: الجدول الأول - الاستقصاءات: وهو جدول الاستقصاءات Polls وسيتكون من ID يمثل رقم الاستقصاء في قاعدة البيانات ، وQuest وتمثل السؤال .. وممكن تزود كمان خانة بداية ونهاية المدة الخاصة بالاستقصاء ,وأي خانات أخرى قد يتطلبها الوضع مثل UserID يعود على المستخدم الذي أضاف هذا الاستقصاء وهكذا ...

ثانياً: الجدول الثاني - الخيارات: وهو جدول الخيارات Options وسيتكون من ID يمثل تعريف خاص بالخيار في قاعدة البيانات ، وPollID وهو Foreign Key يعود لرقم الاستقصاء الذي يتبعه هذا الخيار ، وText يمثل نص الخيار ... وبعزل جدول الخيارات صار ممكناً إضافة عدد غير محدود من الخيارات لأي استقصاء.

ثالثاً: الجدول الثالث - النتائج: وهو جدول النتائج Results وسيتكون من ID يمثل تعريف خاص بالنتيجة في قاعدة البيانات ، وOptID وهو Foreign Key يعود لرقم الخيار الذي تم اختياره ... وقد يتطلب الأمر إضافة خانة UserID تعود على المستخدم الذي قام بالاختيار بحيث يمكن منعه بعد ذلك من التصويت ... أو إضافة UserIP في حالة السماح للمستخدمين الغير مسجلين بالتصويت ، والأخير سنقوم بها بمنع المستخدمين عبر رقم IP الخاص بهم ، وطبعاً هذا خيار سيء لأن IP كثير من المستخدمين لا يبقى ثابتاً ... ومن هذا الجدول الثالث يمكن جمع نتائج كل خيار ... وأيضاً جمع نتائج كافة النتائج الخاصة باستقصاء ما ... ومقارنتهم سوياً يمكن إيجاد نسب المشاركة وعدد النتائج وأي الخيارات أعلى في التصويت وهكذا ..

تحياتي

تم تعديل هذه المشاركة بواسطة moh_kin في 1 مارس 2010 في 16:18

ASP.NET Team Leader

moh_kin_mah@hotmail.com

--------------------------------

لو أعجبك أي من مشاركاتي ... برجاء قم بتقييم المشاركة عبر الأزرار الموجودة أسفل يسار كل مشاركة

#5

اشكرك على طرحك الجيد!!!! لكن هل من الممكن ان يكون هناك شرح متسلسل يبدأ من تكوينه للجداول وينتهي بآ خر كود تكتبه في ذلك الاستطلاع مثل ماهو حاصل في منتدى فيجول بيسك؟؟؟ او عندك مثال على ذلك فقم برفعه حتى تعم الفائدة !!! منتظر ردك اخي وبارك الله فيك..............

#6
كمبيوتر نت كتب:

اشكرك على طرحك الجيد!!!! لكن هل من الممكن ان يكون هناك شرح متسلسل يبدأ من تكوينه للجداول وينتهي بآ خر كود تكتبه في ذلك الاستطلاع مثل ماهو حاصل في منتدى فيجول بيسك؟؟؟ او عندك مثال على ذلك فقم برفعه حتى تعم الفائدة !!! منتظر ردك اخي وبارك الله فيك..............

للأسف ليس لدي أي كود للاستقصاءات وكذا ليس لدي وقت إطلاقاً لعمل أي شرح مفصل ... لكن الذي أردت توضيحه هي بعض الأفكار في Business Wise قد تفيد وأنت تكتب الكود ...

تحياتي

ASP.NET Team Leader

moh_kin_mah@hotmail.com

--------------------------------

لو أعجبك أي من مشاركاتي ... برجاء قم بتقييم المشاركة عبر الأزرار الموجودة أسفل يسار كل مشاركة

#7

طيب ممكن هناك مواقع عربي تدعم هذا المقال!!!!!!!!!!!!!!!!!!!!!!1

#8

الأفضل تعتمد على مواقع إنجليزية للمقالات التكنولوجية ... وليس عندي مقال عربي لما كتبت آنفاً لأنه كله من دماغي :)

ASP.NET Team Leader

moh_kin_mah@hotmail.com

--------------------------------

لو أعجبك أي من مشاركاتي ... برجاء قم بتقييم المشاركة عبر الأزرار الموجودة أسفل يسار كل مشاركة

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…