لوحة المتصدرين
المحتوى الأكثر حصولًا على سمعة جيدة
المحتوى الأعلى تقييمًا في 06/27/23 في كل الموقع
-
مرحبا أنا لعلامي صلاح الدين مصمم جرافيك ومطور مواقع ، اريد ابدأ بنشر محتوى تعليمي ،ابحث عن افضل المنصات العربية لنشر محتوى تعليمي2 نقاط
-
مرحبا أنا لعلامي صلاح الدين مصمم جرافيك ومطور مواقع ، ابحث عن أفضل مواقع ومنصات عربية لتسويق الخدمات الرقمية ؟2 نقاط
-
الإصدار 1.0.0
8153 تنزيل
لغة جافاسكربت JavaScript هي لغة برمجة شهيرة موجودة حيث وجدت متصفحات الويب فهي أحد الركائز الثلاثية لتطوير الويب مع لغة HTML ولغة CSS فبها مجتمعة تُبنى واجهات الويب وبذلك لا غنى للغة جافاسكربت في مجال الويب إذ تساهم في إضفاء التفاعلية على صفحات الويب وبدونها تصبح الصفحات جامدة، كما أنها تُنجز أي عمليات برمجية ومنطقية في الصفحات مثل التحقق من مدخلات المستخدم وسلامة البيانات. استخدام جافاسكربت لا ينحصر في المتصفح بل يمتد إلى تطبيقات أوسع إذ تُشغل شيفرات لغة جافاسكربت خارج المتصفح في بيئة Node.js وبذلك يمكن استخدام لغة جافاسكربت في بناء مختلف التطبيقات أشهرها حاليًا بناء خوادم الويب وهنا أصبح بالإمكان استعمال لغة جافاسربت في تطوير الواجهات الأمامية والواجهات الخلفية لصفحات الويب بمختلف أنواعها والحديث عن اللغة وميزاتها يطول لذا لن أتوسع في التمهيد بالتحدث عن اللغة لأن الكتاب كله عنها وخصوصًا باب المقدمة. هذا الكتاب مترجم عن الكتاب The JavaScript Language: Part 1 الجزء الأول لكاتبه إيليا كانتور Ilya Kantor وهو بحجم 1000 صفحة وفيه يشرح لغة جافاسكربت شرحًا كاملًا لكل ميزاتها وتفاصيلها ويعد أفضل وأول مرجع تعليمي أجنبي لتعلم لغة جافاسكربت. ويوجد جزء ثان للكتاب يتحدث عن استعمال جافاسكربت في المتصفحات تحديدًا وجزء ثالث يتحدث عن مواضيع متفرقة ومتقدمة عن جافاسكربت يكمل فيها الجزأين السابقين ويتمم الحديث عن لغة جافاسكربت ليكون الكتاب بأجزائه الثلاثة مرجعًا كاملًا عن لغة جافاسكربت. دورة تطوير التطبيقات باستخدام لغة JavaScript تعلم البرمجة بلغة جافا سكريبت انطلاقًا من أبسط المفاهيم وحتى بناء تطبيقات حقيقية. اشترك الآن يُقسم الكتاب إلى 14 فصلًا أو بابًا كل منها مقسوم إلى فصول فرعية أصغر تتحدث عن موضوع محدد من اللغة ولكل قسم مقدمة وخاتمة وتمارين منفصلة، والفصول مرتبة ترتيبًا متدرجًا بدءًا من المواضيع الأساسية وحتى المواضيع المتقدمة بما يناسب المتعلم الجديد الذي يريد تعلم لغة جافاسكربت من الصفر دون خبرة مسبقة، وأما إن كنت تملك خبرة مسبقة بلغة جافاسكربت فيمكنك قراءة الفصول وفق الترتيب الذي تريد والرجوع إليها وفقًا لأبوابه وفصولها الفرعية. الكتاب مدعوم بشيفرات عملية كثيرة وهي جاهزة للتجريب في المتصفح لذا تجدها تعتمد على دالة المتصفح alert التي تعرض رسالة على شكل مربع منبثق في صفحة المتصفح وبالتالي يمكنك تجريب الشيفرات بنسخها ولصقها في طرفية المتصفح console وسيدلك فصل أدوات المطور على كيفية استخدام هذه الأداة إن لم تكن تعرفها من قبل. تجد في نهاية كل قسم تمارين ننصح بالتدرّب عليها بعد قراءة القسم قبل الاطلاع على الحل ثم الرجوع إلى الحل وموازنته مع حلك الناتج، وهذا يحقق أقصى استفادة أثناء تعلمك لغة جافاسكربت، وضع في بالك أن حل هذه التمارين يساعدك على تعلم لغة جافاسكربت من جهة وعلى حل الأسئلة البرمجية التي تُسأل في مقابلات العمل لذا لا تهملها. يمكنك قراءة الكتاب على شكل فصول منشورة على موقع أكاديمية حسوب مباشرةً إن كنت تحب القراءة على المتصفح مباشرة أو إن كنت تجد صعوبة في نسخ الشيفرات أو تجريبها، وتجد روابط الفصول تاليًا مجموعة ضمن وسم "دليل تعلم جافاسكربت": الباب الأول: مقدمة مقدمة إلى لغة JavaScript محررات الشيفرة البرمجية أدوات المطور DevTools الباب الثاني: أساسيات جافاسكربت المثال الأول: أهلًا بالعالم! بنية الشيفرة البرمجية الوضع الصارم: النمط الحديث لكتابة الشيفرة المتغيرات variables أنواع البيانات Data Types الدوال التفاعلية: confirm ،prompt ،alert التحويل بين الأنواع العاملات operators عاملات الموازنة العاملات الشرطية العاملات المنطقية عامل الاستبدال اللاغي ?? حلقتا التكرار while و for التعليمة switch الدوال في JavaScript تعابير الدوال أساسيات الدوال السهمية مراجعة لما سبق الباب الثالث: الاعتناء بجودة الشيفرة تنقيح الأخطاء في chrome نمط كتابة الشيفرة التعليقات شيفرة النينجا البرمجية الاختبار الآلي باستخدام mocha تعويض نقص دعم المتصفحات الباب الرابع: الكائنات: تأسيس المفاهيم الكائناتَ Objects نسخ الكائن: الفرق بين القيمة والمرجع كنس البيانات المهملة الدول في الكائنات واستعمالها this الباني والعامل new التسلسل الاختياري .? النوع الرمزي Symbol التحويل بين نوع كائن إلى نوع أولي الباب الخامس: أنواع البيانات توابع الأنواع الأولي النوع number: الأعداد النوع string: السلاسل النصية المصفوفات Arrays توابِع المصفوفات المُكرَّرات Iterables النوع Map الخرائط والنوع Set الأطقم النوع WeakMap والنوع WeakSet مفاتيح الكائنات وقيمها ومدخلاتها الإسناد بالتفكيك النوع Date: التاريخ والوقت صيغة JSON وتوابعها الباب السادس: التعامل المتقدم مع الدوال التعاود Rescursion والمكدس Stack المعاملات «البقية» ومعامل التوزيع المنغلقات Closure ومجال المتغيرات إفادة «var» القديمة الكائن العمومي Global object كائنات الدوال وتعابير الدوال المسمّاة NFE صياغة «الدالة الجديدة» new Function المُهلة setTimeout والفترة setInterval المزخرفات والتمرير: التابعان call وapply ربط الدوال Function binding الحديث عن الدوال السهمية مرة أخرى الباب السابع: ضبط خاصيات الكائنات رايات الخاصيات وواصِفاتها جالبات الخاصيات Getters وضابطاتها Setters الباب الثامن: الوراثة النموذجية الوراثة النموذجية Prototypal inheritance الوراثة النموذجية بتعمق F.prototype النماذج الأولية الأصيلة Native prototypes توابِع النماذج الأولية والكائنات بلا proto الباب التاسع: الأصناف Classes صياغة الأصناف الأساسية وراثة الأصناف Class inheritance الخاصيات والتوابع الثابتة الخاصيات والتوابع الخاصة والمحمية توسعة الأصناف المضمنة في اللغة فحص الأصناف عبر instanceof المخاليط Mixins الباب العاشر: التعامل مع الأخطاء التعامل مع الأخطاء: جرب... التقط try..catch الأخطاء المخصصة وتوسعة صنف Error الباب الحادي عشر: الوعود واللاتزامن والانتظار مقدمة إلى ردود النداء callbacks الوعود Promise سَلسلة الوعود Promises chaining التعامل مع الأخطاء: then وcatch واجهة الوعود البرمجية الدوال الواعدة: تحويل الدوال إلى وعود المهام السريعة مقابل الوعد لتنفيذ المهام لاحقًا اللاتزامن والانتظار async/await الباب الثاني عشر: المولدات والمكررات المتقدمة المولدات Generators المكررات والمولدات غير المتزامنة الباب الثالث عشر: الوحدات Modules مقدمة إلى الوحدات Modules تصدير الوحدات واستيرادها استيراد الوحدات ديناميكيًا الباب الرابع عشر: مواضيع متفرقة الوسيط Proxy والمنعكس Reflect الدالة "Eval" لتنفيذ الشيفرة البرمجية تقنية Currying النوع المرجعي Reference الأعداد الكبيرة BigInt1 نقطة -
Username for 'https://github.com': Password for fatal: Authentication failed for ابغا اعمل push ولاكن يطلب من يالمستخدم والباسوورد وجربت ادخل ماقبل يجوز انا غلطانه بالبيانات المطلوبة او شي كاعداد ل github لاني هذا اول مرة اتعامل معه ياليت تساعدوني1 نقطة
-
السلام عليكم انا اعمل على قاعدة بيانات في access مكونة من 4 جداول : الأول : كود الطالب - الاسم - العنوان - الهاتف الثانى : الشهر - الدفع - تاريخ الدفع الثالث : الشهر - نتيجة الاختبار - التقييم الرابع : الشهر - غياب حصة ١ - غياب ٢ .. ملاحظات فما هى العلاقة التى يتم إنشاءها لو تكرمتم (الطالب كل شهر يدفع ويسجل له الاختبار ويسجل له الغياب ويسجل المدفوعات )1 نقطة
-
السلام عليكم اليوم اشتركت في اكاديمية حسوب في دورة تطوير الويب بلغة بايثون وبصراحة المنصه مني عارف مداخلها ومخارجها مني عارف كيف استفيد من المنصة بشكل كامل وكيف اصل الى مسارات الدورات الاخرى المجانيه بسبب اشتراكي , زايد كيف يتم التواصل مع الفريق المختص الي يجيب ان يكون معي اول باول اتمنى ان احصل اجابابت على اسالتي لاني حقيقه احس باني مشتت .وشكراااا1 نقطة
-
السلام عليكم اريد مساعد في هد السوال Given a string of digits, you should replace any digit below 5 with '0' and any digit 5 and above with '1'. Return the resulting string. Note: input will never be an empty string1 نقطة
-
السلام عليكم هل يمكن تنفيد خوارزميات Binary Search في الكلاس dict في لغة python ام list فقط ؟ وهل يمكن تنفيد خوارزميات Binary Search في البحث عن اسم ام ارقام فقط؟1 نقطة
-
اريد جلب دوام دكتور معين php من جدول الدوم كيف تعرض دوام كل دكتور من جدول الدوام php mysql1 نقطة
-
إذا كان سؤالك خاص بأحد الدورات، فأرجو منك السؤال أسفل فيديو الدورة الخاص بالسؤال، وإذا كان السؤال غير متعلق بالدورة، فعليك توضيح ما الذي تريد فعله بالضبط.1 نقطة
-
تستخدم خوارزميات البحث الثنائي (Binary Search) للبحث في البيانات المرتبة، وتُنفذ تلك الخوارزميات بشكل أكثر شيوعًا في القوائم المرتبة (lists)، لكن باستطاعتك تنفيذها في القواميس (dictionaries) في لغة Python. فعند استخدام البحث الثنائي في القواميس، يتم البحث عن القيمة المطلوبة باستخدام المفتاح (key) بدلاً من الموضع (index) كما هو الحال في القوائم، ويجب أن يكون للقاموس ترتيب معين للمفاتيح لضمان عمل البحث الثنائي بشكل صحيح. ولنفترض أن لدينا مفاتيح في القاموس مرتبة تصاعديًا، فيمكن استخدام البحث الثنائي للعثور على قيمة معينة بناءً على المفتاح. وإليك مثال لتوضيح تنفيذ خوارزمية البحث الثنائي في قاموس (dictionary): def binary_search_dict(dictionary, target): keys = sorted(dictionary.keys()) # ترتيب المفاتيح بشكل صحيح left = 0 right = len(keys) - 1 while left <= right: mid = (left + right) // 2 mid_key = keys[mid] if mid_key == target: return dictionary[mid_key] elif mid_key < target: left = mid + 1 else: right = mid - 1 return None # في حالة عدم العثور على القيمة المطلوبة # مثال لاستخدام البحث الثنائي في قاموس my_dict = {'apple': 5, 'banana': 2, 'cherry': 8, 'orange': 3, 'pear': 1} result = binary_search_dict(my_dict, 'cherry') if result is not None: print("تم العثور على القيمة:", result) else: print("لم يتم العثور على القيمة") بالنسبة لسؤالك الثاني، فتستطيع تنفيذ خوارزميات البحث الثنائي في البحث عن أسماء أو أرقام، وذلك بغض النظر عن نوع البيانات المستخدمة، وتعتمد الخوارزمية على ترتيب البيانات بحيث يمكن تحديد الموضع المناسب للبحث بناءًا على القيمة المطلوبة. وانتبه إلى أن البيانات المستخدمة في البحث الثنائي يجب أن تكون مرتبة بشكل صحيح لضمان الحصول على نتائج صحيحة، فإذا تم تغيير البيانات بعد ترتيبها، فقد يؤدي ذلك إلى نتائج غير صحيحة عند استخدام البحث الثنائي. وفيما يلي مثال على تنفيذ خوارزمية البحث الثنائي للبحث عن رقم في قائمة (list): def binary_search_list(nums, target): left = 0 right = len(nums) - 1 while left <= right: mid = (left + right) // 2 mid_num = nums[mid] if mid_num == target: return mid elif mid_num < target: left = mid + 1 else: right = mid - 1 return -1 # في حالة عدم العثور على الرقم # مثال لاستخدام البحث الثنائي في قائمة my_list = [1, 3, 5, 7, 9, 11, 13, 15] index = binary_search_list(my_list, 7) if index != -1: print("تم العثور على الرقم في الموضع:", index) else: print("لم يتم العثور على الرقم") ولتوضيح الأمر سأذكر لك مثال للبحث عن اسم في قائمة (list): def binary_search_names(names, target): left = 0 right = len(names) - 1 while left <= right: mid = (left + right) // 2 mid_name = names[mid] if mid_name == target: return mid elif mid_name < target: left = mid + 1 else: right = mid - 1 return -1 # في حالة عدم العثور على الاسم # مثال لاستخدام البحث الثنائي في قائمة الأسماء name_list = ['Alice', 'Bob', 'Charlie', 'David', 'Eve', 'Frank', 'Grace'] index = binary_search_names(name_list, 'David') if index != -1: print("تم العثور على الاسم في الموضع:", index) else: print("لم يتم العثور على الاسم")1 نقطة
-
لو قمت بالبحث على محرك البحث Google "أفضل مواقع ومنصات عربية لتسويق الخدمات الرقمية" سوف تظهر لك الكثير من المقالات التي توفر لك هذه المنصات لكن من تجربتي الخاصة أرى أن منصة خمسات هي أفضل المنصات لتسويق الخدمات الرقمية . وتعتبر منصة خمسات واحدة من أشهر المنصات العربية للعمل الحر والخدمات الرقمية. يمكنك إنشاء حساب مجاني وعرض خدماتك ومهاراتك في مجالات التصميم الجرافيكي وتطوير المواقع. يتمكن العملاء من طلب الخدمات وشراءها من خلال المنصة.1 نقطة
-
السلام عليكم ، ماهي الفائدة من استخدام الgap و كذلك ما هو grid و فيما يستخدم1 نقطة
-
يعتمد الجزء الذي يجب عليك دراسته من دورة جافاسكريبت على مستواك في اللغة والغرض من تعلمها. إذا كنت مبتدئًا في اللغة ، فيجب عليك البدء من البداية ودراسة كل الأساسيات. وإذا كنت متوسطًا أو متقدمًا في اللغة ، فيمكنك الانتقال إلى الأجزاء التي تحتاجها بشكل خاص. لتحديد الدروس التي يجب عليك دراستها ، يمكنك الاطلاع على محتوى الدورة وتحديد الأجزاء التي تحتاجها. ومع ذلك ، فمن المهم أن تتأكد من فهم جميع الأساسيات قبل الانتقال إلى المفاهيم الأكثر تعقيدًا. ومن الجيد أيضًا الاهتمام بالتمارين العملية والتطبيقات العملية لضمان فهمك الجيد للمفاهيم والمهارات التي تم تعلمها. أما إذا كنت تقصد أنه هناك تقنيات في هذه الدورة لا تريد دراستها فليس هناك مشكلة في ذلك وإذا كنت تقصد كم درس يمكنك دراسته يومياً فذلك يرجع لك حسب الطريقة المفضلة للدراسة بالنسبة لك1 نقطة
-
عليكم السلام ورحمة الله وبركاته مرحبا علي، عليك باتباع هذه الخطوات لحل هذا التمرين: ابدأ بتعريف المتغير النصي (string) الأصلي الذي تملكه. قم بتحويل النص إلى قائمة (list) من الأحرف لتتمكن من الوصول إلى كل رقم بشكل منفصل. قم بالمرور عبر كل رقم في القائمة واستبدل الأرقام التي أقل من 5 بالرقم 0 والأرقام 5 وما فوق بالرقم 1. قم بتجميع الأحرف المحدثة في قائمة جديدة. قم بتحويل القائمة الجديدة إلى سلسلة (string) باستخدام دالة join(). أرجع السلسلة النهائية. في حالة عدم معرفتك طريقة كتابة الشيفرة عليك بمشاركة محاولتك وسوف نقوم بتوجيهك ومساعدتك. بالتوفيق.1 نقطة
-
دعنا نشرح بعض الامور لتسهل فهم الـ REST، API هو اختصار لـ “واجهة برمجة التطبيقات” (Application Programming Interface) وهي مجموعة من الإجراءات والبروتوكولات والأدوات التي يتم توفيرها من قبل الخادم (backend) للسماح للتطبيقات الأخرى بالتفاعل معه. يمكن لـ API تحديد الطريقة التي يمكن للتطبيقات التفاعل بها مع بعضها البعض وتبادل البيانات والمعلومات (أي انه هنالك عدة انواع للـ APIs). "النمط المعماري لبناء API" وهو يشير إلى المبادئ التوجيهية والقواعد التي يتم اتباعها عند تصميم API. يحدد النمط المعماري كيفية تنظيم الموارد (التي قد تكون قاعدة بيانات مثلاً) وكيفية التفاعل معها من خلال الطلبات والردود. REST هو أحد الأنماط المعمارية الشائعة لبناء الـ APIs، وهو يستخدم مجموعة من المبادئ التوجيهية لإنشاء خدمات ويب قائمة على الموارد والتي يمكن الوصول إليها عبر HTTP. مثلاً عند انشاء الخوادم بطريقة REST فإننا نقوم بإنشاء routes مختلفة لأداء وظائف مختلفة، مثل إنشاء route لطلب اسماء المستخدمين و route لنشر تعليق و route لتسجيل الدخول و route للتسجيل في الموقع ..إلخ وكل واحد من هذه العمليات سوف يؤثر على قاعدة البيانات الخاصة بالتطبيق ليضيف أو يحذف أو يعدل بيانات ...إلخ، وهذه امثل على بعض هذه الـ routes : https://server.com/login https://server.com/register https://server.com/new_comment وهذه بعض المبادئ التي تميز الـ REST API عن غيرها من البروتوكولات : العنونة الموحدة للموارد (Uniform Resource Identifier): يجب أن يتم تعريف كل مورد بشكل فريد باستخدام عنوان URI (في الامثلة السابقة قمنا بإنشاء route لكل وظيفة). العمليات القياسية (Standard Operations): يجب أن تستخدم طرق HTTP القياسية (مثل GET و POST و PUT و DELETE) للتفاعل مع الموارد (بروتوكول للتواصل بين واجهة المستخدم والخادم). تمثيل أو نوع الموارد (Resource Representations): يجب أن يتم تمثيل الموارد بشكل مستقل عن التنسيق الذي يتم استخدامه لتبادل البيانات (مثل XML أو JSON). الاتصالات عديمة السياق (Stateless Communications): يجب أن تكون كل طلب من العميل إلى الخادم كاملاً بحيث يمكن للخادم فهمه دون الحاجة إلى معلومات إضافية من طلبات سابقة. بعد قول ذلك فهناك بعض البروتوكولات البديلة لـ REST مثل GraphQL. في النهاية فإن الـ REST هي وظيفة الـ backend بكل وضوح حيث انه هو من سيقوم بإنشائها، ولكن على مطور الواجهة الأمامية أن يعرف كيف يتعامل مع هذه الـ APIs ويرسل الطلبات الصحيحة إلى backend، فمطور الواجهة قد يتعامل مع APIs من أنواع عديدة واشهرها هو الـ REST وعليه أن يكون على معرفة كافية في التعامل معها.1 نقطة
-
يجب عليك أن تتعلم كل الدروس التي في الدورة دون تجاهل أي درس وهكذا سوف تتخرج من الدورة بوتكون لديك كمية معلومات كبيرة تسطيع منها الدخول لسوق العمل ، كما يمكنك أن تسير على الدورة كما هي مرتبة وعدم التنقل بين المسارات ، ومن جانب أخر جميع الدورس مهمة لأنه سوف تسأل بها في الإمتحان الخاص في الدورة. أما إذا كان سؤال كم درس يجب أن تدرس في اليوم ، فهذا يعتمد بشكل كبير على وقتك المتاح ومدى تركيزك وقدرتك على استيعاب المعلومات. من الأفضل أن تتعلم بوتيرة مريحة ومنظمة بدلاً من محاولة استيعاب عدد كبير من الدروس في وقت قصير. يمكن أن تكون الإستراتيجية الجيدة هي تحديد عدد معقول من الدروس للتركيز عليها يوميًا ومنح الوقت الكافي لفهم وتطبيق المفاهيم الجديدة. يمكن أن يكون العدد المناسب من الدروس في اليوم هو ما بين 1 إلى 3 دروس، اعتمادًا على مدة الدروس ومستواك الحالي. كما يجب أيضًا أن تمنح نفسك وقتًا لممارسة ما تعلمته وتطبيقه في تمارين عملية. هذا سيساعدك على تعزيز فهمك واكتساب مهارات البرمجة اللازمة.1 نقطة
-
الإجابة باختصار هي: يجب عليك تعلم ما يكفي، ولما التساؤل عن العدد او الكم؟ عموما، ستحتاج كمعرفة كافية للإلمام بجافاسكربت والإنطلاق فيها الإحاطة بكل من المفاهيم: سياق اللغة بشكل عام. العبارت الشرطية والحلقات. الكائنات والتعامل معها. الدوال أسس البرمجة الشيئية. الأحداث والتعامل معها. التعامل مع المصفوفات والعناصر. AJAX واستدعاء البيانات. الوعود. استخدام المكتبات والإطارات الجاهزة. تطوير جانب الخادم. أدوات التطوير . مفاهيم أمان الويب. كل هاته المفاهيم يتم التعرض لها في محطات مختلفة من دورة تطوير التطبيقات باستخدام جافاسكربت، ولا يمكن بأي حال من الأحوال اكتسابها مرة واحدة، بل ينبغي التعرض لها تدريجيا وذلك بحسب التدرج في طرح المادة العلمية المتبع في الدورة، فما عليك إلا متابعة الدورة وعدم استعجال أي شيء.1 نقطة
-
أهلاً بك ماجد، أرجو منك دراسة الدورة كما هي بالترتيب، طالما أنك مبتدأ في البرمجة فعليك بالدراسة من البداية إلى النهاية، وأيضًا لا تحاول إنهاء الدورة بشكل سريع، بل خذ وقتك ولا تقلق إذا كان الأمر صعب في البداية ومع الوقت سيصبح أسهل، وعليك بقراءة النقاش التالي والنقاشات المرفقة به وستجد الكثير من الإجابات للأسئلة لديك:1 نقطة
-
كما أخبرك مصطفى في التعليق السابق أن الكود يختلف حسب المشروع الخاص بك ولكن يمكن المساعدة من خلال توضيح الخطوات بمثال عملي إنشاء صفحة الدكاترة: يجب أن يحتوي كل اسم دكتور على رابط (link) يحتوي على المعرف (ID) الخاص بالدكتور في قاعدة البيانات. مثال <a href="doctor.php?id=1">Doctor 1</a> <a href="doctor.php?id=2">Doctor 2</a> <a href="doctor.php?id=3">Doctor 3</a> كتابة الكود PHP: عند النقر على أحد الروابط، يتم تمرير المعرف (ID) إلى الصفحة الجديدة (doctor.php). يجب على الصفحة الجديدة استخدام الـ PHP للاتصال بقاعدة البيانات واسترداد بيانات الدكتور المحدد. مثال <?php // اتصال بقاعدة البيانات $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "myDB"; $conn = new mysqli($servername, $username, $password, $dbname); // التأكد من أن الاتصال تم بنجاح if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } // جلب البيانات المرتبطة بالدكتور المحدد if(isset($_GET['id'])) { $id = $_GET['id']; $sql = "SELECT * FROM doctors WHERE id=$id"; $result = $conn->query($sql); // عرض البيانات المرتبطة بالدكتور المحدد if ($result->num_rows > 0) { while($row = $result->fetch_assoc()) { echo "Name: " . $row["name"]. " - Speciality: " . $row["speciality"]. " - Phone: " . $row["phone"]; } } else { echo "No results found"; } } // إغلاق الاتصال بقاعدة البيانات $conn->close(); ?> عرض بيانات الدكتور: بعد استرداد بيانات الدكتور من قاعدة البيانات، يجب عرضها بشكل مناسب في الصفحة الحالية. يمكن استخدام HTML و CSS لتنسيق بيانات الدكتور وعرضها بطريقة جميلة.مثال <div> <h2><?php echo $row["name"]; ?></h2> <p><strong>Speciality:</strong> <?php echo $row["speciality"]; ?></p> <p><strong>Phone:</strong> <?php echo $row["phone"]; ?></p> </div>1 نقطة
-
من الصعب تزويدك بالكود الدقيق دون معرفة تفاصيل صفحتك وقاعدة بياناتك وطريقة عرض البيانات، ولكن يمكن توفير نموذج عام لعرض بيانات دكتور معين عند النقر على اسمه. في البداية، يجب عليك تخزين بيانات الأطباء في قاعدة البيانات الخاصة بك وتعيين مفتاح رئيسي فريد لكل سجل، مثل "id". ثم باستطاعتك إنشاء صفحة PHP تقوم بالاتصال بقاعدة البيانات واسترداد بيانات الطبيب المحدد باستخدام ال "id" المحدد في الرابط الذي تم النقر عليه يمكن استخدام الدالة $_GET للحصول على ال "id" المحدد في عنوان URL، على سبيل المثال: <?php // استدعاء ملف الاتصال بقاعدة البيانات include('db_connect.php'); // التحقق من وجود قيمة "id" في العنوان URL if (isset($_GET['id'])) { // استعلام SQL لاسترداد بيانات الطبيب المحدد $sql = "SELECT * FROM doctors WHERE id = ".$_GET['id']; $result = mysqli_query($connection, $sql); // التحقق من وجود بيانات الطبيب if (mysqli_num_rows($result) > 0) { // عرض بيانات الطبيب المحدد $row = mysqli_fetch_assoc($result); echo "اسم الطبيب: ".$row['name']."<br>"; echo "تخصص الطبيب: ".$row['specialization']."<br>"; // وهكذا } else { echo "لم يتم العثور على بيانات الطبيب المحدد"; } } else { echo "لم يتم تحديد أي طبيب"; } ?> ويمكنك استخدام روابط HTML التي تحوي ال "id" المحدد لتحويل المستخدمين إلى صفحة عرض بيانات الطبيب المحدد، على سبيل المثال: <a href="doctor_details.php?id=1">اسم الطبيب</a> حيث "1" هو قيمة "id" المحددة للطبيب المراد عرض بياناته.1 نقطة