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

Wael Aljamal

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

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

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

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

    218

كل منشورات العضو Wael Aljamal

  1. يتم ذلك بتجريب البرنامج الخاص بك، وإن اعطى نتائج صحيحة يكون صحيح
  2. كلا، عليك إعادة قراءة الإجابة و التفكير في الحل و التجريب
  3. سوف أساعدك في عمل البرنامج، لدينا سلسلة نصية تحوي على كلمات بينهم فراغات، ونريد اختبار شرط لكل كلمة هل تحتوى على أحد الحرفو الصوتية أم لا. لذلك: فصل السلسلة النصية إلى قائمة فيها كل عنصر عبارة عن كلمة يمكنك استخدام دالة split اضغط للتوجة لموسوعة حسوب >>> ' 1 2 3 '.split() ['1', '2', '3'] اختبار وجود أحد الأحرف الصوتية من مصفوفة الأحرف في الكلمة الحالية يمكن استعمال حلقات متداخلة # حلقة على الكلمات for word in words_list: # حلقة على الأحرف الصوتية for vowle in letters_list: if vowle in word: # اختبار print(word) break; // لكي يتم الطباعة مرة واحدة words_list ناشئة عن تطبيق slpit على النص test - و letters_list هي الأحرف الصوتية حاول عمل البرنامج وسوف نصلح الأخطاء إن وجدت
  4. حاول تعديل علاقة الربط بين النماذج مع الجدول الوسيط //Models doctors// public function projects() { return $this->belongsToMany(project::class, 'projects_doctors', 'projects_id', 'doctors_id'); } //Models Project// public function doctors() { return $this->belongsToMany(doctors::class, 'projects_doctors', 'doctors_id', 'projects_id'); } بهذه الطريقة نحدد أسماء الحقول يدوياُ لتجنب الخطأ السابق. تعديل: إضافة اقتباس مفرد لأسماء الحول لتعامل كسلسلة نصية (خطأ كتابة)
  5. يمكنك عمل سكربت PHP يقرأ البيانات سطر سطر حسب id ضمن حلقة، و يجلب القيم ثم يعمل لها trim أي يحذف الفراغات الزائدة أي يعمل update لها وتأكد من عمل trim أيضاً عند حشر أي نوع بيانات لجداول قاعدة البيانات لتجاهل المشكلة. يمكن تطبيق trim خلال الشطر أيضاً لكنه يقلل الأداء أنه لا داع له لأنها سوف تتنفذ بشكل مكرر TRIM(patron_colors.color_name) = TRIM(order_threads.color_select) من الأفضل الربط بين الجداول عن طريق الرقم و ليس السلسل النصية لأنه أسرع و أدق
  6. الاستعلام السابق الذي أضفته أنا، يقوم بربط الجدولين فقط من خلال اسم اللون للتأكد من أن الشرط محقق و يمكن استخدامه في الاستعلام الرئيسي، أي هل الربط التالي يعيد نتيجة patron_colors.color_name = order_threads.color_select تأكد من نمط البيانات في كلا العمودين يجب أن يكون نفسه، هذا يمكننا من التأكد من صحة الربط و القيم بين العمودين
  7. حسب الخطأ، ربما يوجد اختلاف باسم العمود والسبب حالة الجمع أي حرف S projects_id ^ project_id أرجو تجريب عمل الحقول بدون S Schema::create('projects_doctors', function (Blueprint $table) { $table->id(); $table->foreignId('doctor_id'); $table->foreignId('project_id'); $table->timestamps(); $table->foreign('doctor_id') ->references('id') ->on('doctors') ->onDelete('cascade'); $table->foreign('project_id') ->references('id') ->on('projects') ->onDelete('cascade'); // $table->unique(['doctors_id', 'projects_id']); });
  8. إن علاقة الربط LEFT OUTER JOIN تجلب البيانات من طرف العلاقة الأيسر هل يمكنك عمل الاستعلام التالي للتأكد من جلبه للبيانات SELECT order_threads.thread_id, order_threads.order_id, order_threads.color_select, patron_colors.color_name AS color_name, patron_colors.id, patron_colors.color_count FROM order_threads JOIN patron_colors ON patron_colors.color_name = order_threads.color_select patron_colors
  9. مع تحديث أندرويد استديو تغيرت طريق ةتضمين الملفات من نوع JAR - AAR لتصبح كالتالي: من قائمة File نختار open moduels ثم في الواجهة التالية نضغط + ثم تظهر تبقى إضافة السطر التالي في app’s build.gradle implementation files('my_path/my_lib.aar') ***** طريقة ثانية هي نسحخ ملفات المكتبة لمجلد libs ثم إضافة السطر التالي في app’s build.gradle dependencies { implementation fileTree(dir: "libs", include: ["*.jar", "*.aar"]) ... } ليتم ترجمة هذه المكتبات مع المشروع. الطريقة يمكن أن تجديها في التوثيق الرسمي: إضافة ملف jar - aar لاتنسي إعادة مزامنة Gradle
  10. هل تقصد أن ما يقوم به هذا الجزء يتم تطبيقه على كلا الحقلين input؟ $('#choose2').val($(this).text()); .. انتبه أن لديك مستمعي أحداث يتنصتان على نفس العنصر li $('.subCatNavLi').click(function() { $('.liCity').click(function() { => <li class='subCatNavLi liCity' ^^^^^^^^^^^ ^^^^^^
  11. يمكن طرح السؤال اسفل الدرس الموافق له ضمن الدورة
  12. المثال الذي ارفقته، فيه حاويات ملونة، وليس بيانات فعلية، أعتقد أن المشكلة غير واضحة، ما الذي سينتقل بين الحاويات.. يمكن تحديد متغير قائمة خاص بكل حاوية ونضيف له بياناتها ، وعند أي تعديل سيتم تعديل المصفوفات ومن ثم إعادة تشكيل العرض. لامشكلة من وجود عدد ملفات كبير، لأن التعقيد في ملف واحد هو ما نتجنبه.
  13. حاولت تعريف قائمتين من نمط متغيرات كل منهم تمثل قائمة (مصفوفة)، ثم عمل معالجة نقل العناصر بينهم، و من ثم تعديل حالة التطبيق ليتم إعادة عرض الصفحة وبالتالي عرض كل مصفوفة من جديد في الحاوية الخاصة بها
  14. المشكلة في الشيفرة هي عدم وضوح تسمية المتغيرات بعض الشيء، في الحقل المقابل ل color_select والذي هو item[$i]$ يمكن تبديله ب item$ في SQL. حاول طباعة المتغيرات و معرفة القيم التي تحملها ومن ثم كيفية استخدام index مثلاً
  15. لاحظت أنك تمرر العناصر item للصفحة الثانية، ضمن الصنف الخاص بالصفحة تقوم باستقبال القيمة الممررة من خلال الدالة البانية، التي يمكنك إنشائها بالطريقة التالية: class SwapPV extends StatefulWidget { final dynamic item; // تعريف العنصر // إسناد قيمة الخاصية في الدالة البانية SwapPV(this.item); @override _SwapPVState createState() => _SwapPVState(); } وحتى تستطيع الوصول للعنصر ضمن صنف الحالة state، نقوم في دالة التهيئة بذكر العنصر المطلوب class _SwapPVState extends State<SwapPV> { dynamic stateItem; // تعريف متغير ضمن الحالة @override initState() { super.initState(); stateItem = widget.item; // هذه تجلب القيمة من الصنف الخاص بالصفحة لصنف الحالة } ثم يمكنك تعديله ل stateItem و استخدامه في الدالة Build وغيرها
  16. أرى أن المشكلة هي عدم القدرة على معرفة كل لون لأي خيط يتبع، لأن لديك مصفوفة threads و مصفوفة ألوان، وإن كان لديك خيطين، الأول له لون، و الثاني لونين، لن تستطيع التعرف على عدد الألوان لكل خيط بشكل منفصل. الحل يكمن في Frontend بشكل أولي، يفترض إرسال البيانات بتجميع مناسب. لأن المرور على حلقتين بهذا الشكل غير صحيح لهذه الحالة. سوف نستفيد من المتغير colorNumber[$i]$ لمعرفة عدد الخطوات المطلوبة للحلقة الداخلية الخاصة بالألوان. حسب ما فهمت، لكل خيط عدد ألوانه مخزن في colorNumber وبالتالي نعرف عداد عام خارج الحلقات، و لكل خيط، سوف يتم التحرك على مصفوفة الألوان بعدد ألوان الخيط الحالي، أي نزيد العداد الخارجي وهو لكل خيط، سوف يتحرك على لون أو أكثر حسب عدد ألوان هذا الخيط، حاولت عمل التعديل، لكن ينقصه التجريب يمكنك متابعة الفكرة بالشيفرة التالية: <?php $j = 0; for ($i =0; $i < count($threads); $i++){ try { for ($k =0; $k < $colorNumber[$i]; $k++,$j++) { $item = $items[$j]; $result = $conn->query("INSERT INTO order_threads(order_id, thread_id, color_select, colorNumber_input, countPiece , total,hadr,egmaly ) VALUES('$order','$threads[$i]','$item[$i]' ,'$colorNumber[$i]','$countPiece[$i]','$total[$i]','$hadr[$i]','$last[$i]')"); }} catch (Exception $e) { var_dump($e->getTrace()); // or to get the full error info, just var_dump($e); } } $result2 = $conn->query("UPDATE orders SET thread=1 WHERE id='$order'"); if ($result2){ echo 'done'; }
  17. يتوجب تطبيق تقنيات الذكاء الصنعي وهو يعتمد على بناء نماذج مقارنة و بحث، غير الطريقة البسيطة التي أخبرتك بها إن كنت لا تعرف كيفية عمل المقارنة بالذكاء الصنعي اتبع طريقة أبسط لذلك. ربما المدرب @Ali Haidar Ahmad يساعدك في جزء الذكاء
  18. سوف يدخل المستخدم كلمات مفتاحية للبحث، تعبر عن الخبر (أو نص طويل لا مشكلة) ثم عليك عمل مقارنة بين الكلمات المدخلة و جميع بيانات الأخبار قي القاعدة لديك، وفي حال وجود عدد كبير من التطابقات أو نسبة عالية مع أحد الأخبار المحفوظة لديك، تعيد له الخبر الأكثر قرباً لما بحث عنه.. حالة معرفة هل خبر صحيح أو مزيف يحتاج لتحليل النص و فهم محتواه برمجياً بأحد تطبيقات الذكاء الصنعي لمعرفة هل المعلومات من الخبر و بحث المستخدم لها نفس المعنى أم لا. **** أما كتطبيق بسيط، يكفي أن تجد عدد كبير من الكلمات المطابقة، و تعيد له خبر حقيقي مع الخبر الأقرب لاستعلامه (لأنك لا يمكنك التأكد من صحة الخبر) مثلاً لو فيه كلمة نفي ( لا يوجد زيادة أسعار) و المستخدم بحث عن (يوجد زيادة أسعار) فالاستعلام يجلب مطابقة مع تجنب النفي.. المشروع ليعمل بشكل حقيقي يجب أن يعتمد على الذكاء الصنعي.
  19. إذا كنت تريد الاتصال مع API خارجي (ليس من ضمن مشروعك) فإن تجديد البيانات يكون حسب قاعدة بيانات هذا ال API أي طالما لا يمكنك التعديل والوصول إليه فالبيانات القادمة منه لا يمكن تعديلها (ربما تكون محدثة أو غير محدثة) حسب مالك هذا ال API. بشكل عام عند اتصالك على API سيقوم بجلب البيانات من القاعدة التي يتصل عليها فإن كان مدير هذه القاعدة يضيف بيانات جديدة سيكون API محدث. في حال وجود شيء غير مفهوم، أرجو إضافة تفاصيل لسؤالك
  20. عند تجريبك لإضافة بيانات، ما هو محتوى المتغير $items حاول طباعتها print_r($items)
  21. أرجو مشاركة تفاصيل أكثر عن الشيفرة البرمجية وإصدار المكتبات التي تستخدمها و بنية قاعدة البيانات لديك
  22. أرجو إضافة تفاصيل لتساعد في تجريب الحل، هل المشكلة في العرض أو في قاعدة البيانات..؟
  23. المشكلة في ترميز الملف حيث أنه ليس UTF8 يمكننا تعديل ترميز الملف بشكل عام افتح ملف Excel بأي محرر مثل مايكروسوفت إكسل، ثم ادخل تبويب Data وغير ترميز الملف ل utf8 File_origin to "Unicode (UTF-8)" تعديل الخاصية ثم احفظه أعد رفع الملف بعد الحفظ و تأكد من أنه يتم قراءته بشكل صحيح أو من خلال الشيفرة، تطبيق دالة utf8_decode على كامل الملف: $all_text = file_get_contents( "test.txt" ); echo utf8_decode( $all_text ) أو كل سطر نقوم بقراءته عبر الدالة بالشكل: array_map("utf8_encode", $data) <?php while ($data = fgetcsv ($handle, 1000, ";")) { $data = array_map("utf8_encode", $data); //added $num = count ($data); for ($c=0; $c < $num; $c++) { // output data echo "<td>$data[$c]</td>"; } كما يمكن قراءة سطر سطر بالشكل: $line=utf8_encode(fgets($file));
  24. إذا سؤالك غير دقيق!! و جميع التعليقات لا علاقة لها بالمشكلة! مشكلتك عند نقل الملف يتم ضغطه وتتغير صيغته ولا علاقة لأندرويد استديو ولا Flutter بها.
×
×
  • أضف...