اذهب إلى المحتوى

Mustafa Suleiman

الأعضاء
  • المساهمات

    10060
  • تاريخ الانضمام

  • تاريخ آخر زيارة

  • عدد الأيام التي تصدر بها

    303

كل منشورات العضو Mustafa Suleiman

  1. عليك القيام بالتالي: إزالة علامات <?php المتداخلة أي الزائدة في الكود حيث نضعها في بداية كود php فقط ثم نغلق ذلك الجزء من خلال ?> استخدام PDO::fetchAll() لجلب جميع النتائج دفعة واحدة لتحسين الكفاءة. استبدال mysql_fetch_assoc() بـ foreach للتنقل عبر الصفوف المسترجعة. إغلاق الاتصال بنقل سطر connection = null خارج الحلقة لضمان الإغلاق الصحيح. التعامل مع الأخطاء بإضافة كتلة try...catch وتمكين التعامل مع الأخطاء باستخدام PDO::ATTR_ERRMODE. الكود بعد التعديل: <!DOCTYPE html> <html lang="ar"> <head> <link rel="icon" href="https://c0.klipartz.com/pngpicture/573/614/gratis-png-ng%C5%A9-hanh-s%C6%A1n-distrito-casa-apartamento-inmobiliaria-volta-redonda-venta-de-logotipos-de-bienes-raices.png" /> <title>موقع العقارات</title> <link rel="preconnect" href="https://fonts.googleapis.com"> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> <link href="https://fonts.googleapis.com/css2?family=Tajawal:wght@300&display=swap" rel="stylesheet"> <meta charset="utf-8" /> <link rel="stylesheet" type="text/css" media="screen" href="home.css"> </head> <body> <?php $server = 'DESKTOP-PJDLJNR'; $database = 'Legacy'; $username = ''; $password = ''; try { $connection = new PDO("sqlsrv:Server=$server;Database=$database", $username, $password); $connection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // Enable error handling $sql_query = 'SELECT * FROM Problemss'; $statement = $connection->query($sql_query); $result = $statement->fetchAll(PDO::FETCH_ASSOC); // Fetch all results } catch (PDOException $e) { die("Connection failed: " . $e->getMessage()); } ?> <table border="1" width="100%"> <tr> <th>تم</th> <th>الحلول</th> <th>المشكلة</th> <th>م</th> <th>الرقم</th> </tr> <?php foreach ($result as $row) { ?> <tr> <td><?php echo $row['تم'] ?></td> <td><?php echo $row['الحلول'] ?></td> <td><?php echo $row['المشكلة'] ?></td> <td><?php echo $row['م'] ?></td> <td><?php echo $row['الرقم'] ?></td> </tr> <?php } ?> </table> </body> </html>
  2. في تبويب Replace في خانة find قم بكتابة التالي: \(*\) ثم اضغط على more واختر use wildcards ثم اضغط على format واختر التنسيق الذي تريد تطبيقه كما تم شرحه بالمقال، ثم قم بالضغط على Replace أو Replace All لتغيير كل النتائج. نفس الأمر تستطيع تنفيذه في حال كانت الأقواس مربعة [] كالتالي: \[*\]
  3. من الأفضل طرح السؤال الذي تحاول حله على leetcode
  4. من المفترض أن يعمل معك الكود التالي بدون مشكلة: var addTwoNumbers = function(l1, l2) { l11 = Number(l1.join('')); l22 = Number(l2.join('')); ar = l11 + l22; console.log(ar) var myarr = String(ar).split("").reverse().map((ar) => { return Number(ar) }) return myarr }; addTwoNumbers([2,4,6], [3,5,6])
  5. الأمر طبيعي، على ما أظن أنك تحاول تمرير رقمين للدالة كالتالي: addTwoNumbers(3, 5) ولن تعمل ميثود join على الأرقام بل تعمل على المصفوفات فقط، كالتالي: const elements = ['Fire', 'Air', 'Water']; console.log(elements.join()); // Expected output: "Fire,Air,Water" console.log(elements.join('')); // Expected output: "FireAirWater" console.log(elements.join('-')); // Expected output: "Fire-Air-Water"
  6. الجزء الثاني من حلقة for هو للشرط الذي سيتم الإعتماد عليه لتكرار الحلقة، وفي الكود الأول لديك: for (i = 0; i =100; i++) ذلك يعني أنك وضعت شرط أن i تساوي 100 وبالتالي لن يتم زيادة i بل ستبقى ثابتة 100 دائمًا ولن يتم زيادتها وسيتم تنفيذ الكود بداخل الحلقة للأبد أي أنت كتبت loop لا نهائية وستؤدي إلى توقف المتصفح عن العمل بسبب إمتلاء الرامات. أي لا يوجد شرط لتوقف الحلقة. بينما في الكود الثاني: for (i = 0; i<100; i++) وضعت شرط تتوقف عنده الدالة، وسيتم زيادة قيمة i بناءًا على قيمة ذلك الشرط، لأنك لم تحدد قيمة ثابتة لـ i في الجزء الخاص بالشرط كما فعلت سابقًا بل حددت أنه طالما i أصغر من 100 قم بزيادة قيمة i بواحد.
  7. تلك ميزة في قوالب blade المستخدمة في لارافل، حيث تُستخدم لتوليد حقل الـ hidden input الذي يحمل قيمة "DELETE"، والذي يُرسل مع النموذج لتحديد نوع الطلب كـ DELETE. أي يُولد كحقل input يحمل اسم "_method" وقيمة "DELETE"، وعند إرسال النموذج، يتم تضمين الحقل في البيانات المرسلة، وبالتالي يتمكن Laravel من تحديد نوع الطلب كـ DELETE حتى يتم توجيهه بشكل صحيح. و @csrf تُستخدم لتوليد حقل الـ hidden input الذي يحمل رمز CSRF، وهو مطلوب لحماية التطبيق من هجمات Cross-Site Request Forgery (CSRF). كالتالي: <form action="{{ route('users.destroy', $user) }}" method="POST" class="d-inline-block" onsubmit="return confirm('Remove user?')"> @csrf @method('DELETE') <button type="submit" class="btn btn-danger"> Delete user </button> </a>
  8. الأسئلة الإختبارية لا يتم الإجابة عليها بشكل مباشر، ولكن في حال توفر الكود يمكن مساعدتك في حل المشكلة، وخطوات حل السؤال هي كالتالي: إنشاء مصفوفة تحتوي على أرقام الموظفين، باستخدام نوع البيانات int لتمثيل أرقام الموظفين. إنشاء كائن Scanner لقراءة إدخال المستخدم. استخدمي Scanner لطلب رقم الموظف الذي يرغب المستخدم في البحث عنه. استخدمي حلقة for لتحقيق البحث في المصفوفة بالطبع داخلها نستخدم شرط if لكتابة شرط معين. استخدمي بنية تحكم if-else لطباعة رسالة تفيد بوجود أو عدم وجود الموظف. إغلاق كائن Scanner بعد الانتهاء من استخدامه لتجنب تسريب الموارد.
  9. الكود يعتمد على حلقة تكرارية (while loop) لتنفيذ سلسلة من العمليات اعتمادًا على شروط محددة، كالتالي: i تم تعريفها كمتغير صحيح وتم تهيئتها بالقيمة 0. m تم تعريفها كمتغير صحيح وتم تهيئتها بالقيمة 15. - ثم في الحلقة التكرارية (While Loop): الحلقة تستمر حتى أن i يصبح أكبر من أو يساوي 10. داخل الحلقة: يتم إضافة قيمة i إلى m. فحص ما إذا كانت القيمة الحالية لـ m هي عدد زوجي. إن كانت القيمة زوجية، تستخدم continue للانتقال إلى بداية الحلقة دون تنفيذ الأوامر التالية. إضافة قيمة 3 إلى i. طباعة قيمة m. استدعاء Console.ReadLine() للانتظار حتى يقوم المستخدم بإدخال شيء (للتفاعل مع البرنامج). في كل دورة من الحلقة، تُطبع قيمة m إذا كانت m عددًا فرديًا (لأنه في حالة الأعداد الزوجية، يتم استخدام continue). القيم التي تم طباعتها هي: m = 15 (لأن 15 % 2 ليست زوجية). m = 21 (لأن 18 + 3 = 21 وهي فردية). m = 27 (لأن 24 + 3 = 27 وهي فردية). m = 45 (لأن 42 + 3 = 45 وهي فردية). وهكذا تستمر الحلقة حتى يتم تنفيذها 10 مرات (بناءً على الشرط i < 10). والكود الصحيح هو كالتالي: class Program { static void Main(string[] args) { int i = 0, m = 15; while (i < 10) { m = m + i; if (m % 2 == 0) continue; i = i + 3; Console.WriteLine(m); } Console.ReadLine(); // نقلت هذا السطر إلى خارج الحلقة } }
  10. هل تستخدم متصفح جوجل كروم؟ يمكنك تثبيت أحدث نسخة من هنا: https://google-chrome.en.uptodown.com/windows
  11. المشروع الذي تعمل عليه أنت، نضغط المجلد من الخارج بالكامل من خلال برنامج ضغط مثل WinRAR ثم نرفق الملف المضغوط في المرفقات في السؤال.
  12. عند النزول لأسفل الدرس وليس أسفل الفيديو أقصد أسفل الصفحة ستجد خانة للتعليق مماثلة تمامًا لما تقوم به هنا، وتستطيع التعليق وإرفاق مجلد المشروع بعد ضغطه لتفقد المشكلة به.
  13. المقصود هو تحويل التصميم إلى موقع حي بواسطة الكود، حيث نقوم بتصميم الموقع بنفس الشكل ولكن من خلال الأكواد HTML, CSS وبنفس المسافات والقياسات. بخصوص ربط البيانات، فيتم إنشاء قاعدة بيانات في ووردبريس وإضافة ما تريده من بيانات في تلك القاعدة والتي غالبًا ما تكون MySQL.
  14. كلاهما واحد سواء parent أو master المقصود بها النافذة الرئيسية MainWindow. أي العنصر الرئيسي الذي يحتوي على عناصر فرعية، مثل نافذة (window) أو إطار (frame) أو عنصر آخر، وعند إنشاء عنصر فرعي مثل Frame، يتم تمرير العنصر الرئيسي (parent) كمعلمة. وفي Tkinter، تستطيع استخدام "master" كمصطلح بديل لـ "parent"، حيث يشير كلاهما إلى العنصر الرئيسي الذي يحتوي على العناصر الفرعية.
  15. المجالين بعيدين جدًا عن بعضهم، فلو كنت تريد تعلم الواجهة الخلفية مثلاً Back-End مع الواجهة الأمامية Fron-End أي مجال الويب كاملاً لقلت لك تستطيع ذلك. وحتى لو كنت تريد تعلم مجالين قريبين من بعضهم، فيجب التركيز على مجال واحد في البداية ثم الإنتقال للآخر بعد الشعور بأريحية في المجال الأول أي أتقنته بنسبة تؤهلك لتنفيذ مشروع متوسط. لكن مجال تعلم الآلة بحاجة إلى سنتين إلى ثلاث سنوات على الأقل لتتعلمه وأقصد لتصبح بمستوى جيد وليس لتعلم المجال بالكامل، وهو من أصعب المجالات ويحتاج إلى مجهود ووقت لكن مجال واعد والطلب عليه يزداد سنة بعد أخرى حاليًا. لذا اختر مجال واحد فقط مناسب لما تريده حاليًا ومناسب لظروفك، فأنا لا أستطيع تحديد ما هو الأنسب لك، حدد الوقت المتاح لك وما تريده حاليًا. وإذا كنت لم تحدد المجال البرمجي الذي تريد تعلمه، فأنصحك بتعلم مجال الويب فهو سيفتح لك المجال لتعلم المجالات الأخرى، وستنتقل خبراتك به إلى المجالات الأخرى.
  16. الأمر يعتمد على مدى قرب المجالين وصلتهم ببعضهم، ما هما المجالين؟
  17. الموقع في مجلد المشروع المرفق لديك مختلف تمامًا عن الذي في الصور، أرفق المشروع الذي تعمل عليه حاليًا.
  18. بالنسبة لشريط التنقل Navbar تستطيع تثبيته أثناء السكرول من خلال خاصية sticky، كالتالي: .navbar { position: sticky; top: 0; } أما بالنسبة للسؤال الخاص بالمثلثات لم أفهم بالضبط ما تريده.
  19. أرجو التعليق أسفل فيديو الدورة الذي تواجه به مشكله، وإرفاق مجلد المشروع بعد ضغطه لإخبارك ما الخطأ.
  20. أرجو التعليق أسفل فيديو الدورة لمساعدتك بشكل أفضل. المشكلة هي أنك تستخدم منفذ الأوامر Powershell وهو مختلف عن منفذ الأوامر CMD، وأنت تقوم بتشغيل السكريبت الذي ينتهي بصيغة bat وهو موجه لـ CMD، بينما السكريبت الخاص بـ PowerShell ينتهي بـ ps1. لذا عليك تنفيذ الأمر التالي بدون تحديد صيغة السكريبت وسيتم إختيار السكريبت المناسب بشكل تلقائي كالتالي: venv\Scripts\activate
  21. ما هي رسالة الخطأ التي تظهر لك أرجو توضيحها؟
  22. بخصوص التطبيقات العربية فيوجد: دراسة جدوى مشروع : نموذج pdf دراسة الجدوى (Word) ولكن هي مجرد نصائح ودليل فقط. ويوجد التطبيق التالي لإنشاء دراسة جدوى: دراسة جدوى المشروع Business pl أما إذا أردت موقع لذلك فيوجد موقع "الجدوى". @Saleh Kamal
  23. يوجد تطبيقات محاسبية مثل: EasyAccounting - المحاسب السهل Qoyod - قيود دفاتر المحاسب الذكي المحاسبة الذهبية ونقاط البيع
×
×
  • أضف...