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

Wael Aljamal

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

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

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

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

    218

إجابات الأسئلة

  1. إجابة Wael Aljamal سؤال في حل مشكلة في laravel يظهر composer could not find composer.json كانت الإجابة المقبولة   
    السبب في المسار، أعتقد أنك تتواجدين في جذر القرص D اعملي cd لاسم مجلد المشروع، ثم حاولي التثبيت بعدها
  2. إجابة Wael Aljamal سؤال في قراءة الملفات في الجافا - قراءة ملف نصي ثم طباعة ما بداخله كانت الإجابة المقبولة   
    تقوم الدالة load بتحميل ملف نصي اسمه arr.txt من نفس المجلد الخاصة بالحزمة F.
    ثم تحب عدد سطوره وتخزن الناتج في n ثم تعيد قراءة الأسطر و تخزنها في مصفوفة سلالسل نصية V => Array Of String  ثم تعيد هذه المصفوفة
    public class Arr { public Arr(){ System.out.print("hi"); } public static String[] load(String ) throws IOException{ // تحديد نمط إرجاع الدالة ^^^^^^^^^^^^^^^^ F.. } public static void main(String[] args) { String[] result = load(); // استدعاء الدالة // طباعة for (int i = 0; i < result.length; i++){ System.out.println(result[i]); } } }  
    تحديد نوع إعادة الدالة لتصبح مصفوفة سلاسل نصية كتابة main للصنف و طباعة النتيجة فيه
  3. إجابة Wael Aljamal سؤال في التطبيق لا يقوم بعمل scrolling عند وضع ScrolView داخل View في React Native؟ كانت الإجابة المقبولة   
    يمكن حل المشكلة بإضافة تنسيقين
    flex = 1 للعنصر view contentContainerStyle={{ flexGrow: 1 }} للعنصر ScrollView
    return( <View style={{flex: 1}}> <ScrollView contentContainerStyle={{ flexGrow: 1 }}> .. </ScrollView> </View> );  
  4. إجابة Wael Aljamal سؤال في كيفية إغلاق تطبيق مبني بإستخدام React Native؟ كانت الإجابة المقبولة   
    يمكن الاعتماد على BackHandler من react-native يعمل على android
    import React, { BackHandler } from 'react-native'; BackHandler.exitApp(); الاستخدام مع تحذير Alert
    backPressed = () => { Alert.alert( 'Exit App', 'Do you want to exit?', [ {text: 'No', onPress: () => console.log('Cancel Pressed'), style: 'cancel'}, {text: 'Yes', onPress: () => BackHandler.exitApp()}, ], { cancelable: false }); return true; } كما يوجد مكتبة أخرى react-native-exit-app تستعمل Native Module يمكنك تتبع التوثيق و تطبيقه
    واستخدامها
    import RNExitApp from 'react-native-exit-app'; ... RNExitApp.exitApp(); ...  
  5. إجابة Wael Aljamal سؤال في تحديث عمود واحد بيانات متسلسله MySQL كانت الإجابة المقبولة   
    أقصد هذه المشكلة 
     
     
  6. إجابة Wael Aljamal سؤال في كيفية إضافة المدة الزمنية المنقضية للمنشور في تطبيقي flutter أو frontend باستعمال Backend لغة PHP كانت الإجابة المقبولة   
    الأمر يتكون من جزأين،
    إضافة timestamp طابع زمني لكل منتج في قاعدة البيانات، يمثل تاريخ الإضافة و الذي سوف نحسب منه الوقت تتم هذه إما من قاعدة البيانات أو من خلال PHP تضيف الوقت الفعلي للسيفر عند إضافة منشور حساب الفرق بين الوقت الحالي ووقت إضافة المنتج ومن ثم تحويله لنص سهل القراءة  يمكن عمله في BackEnd قبل إعادة بيانات المنتج (مستحسن) أو حسابه في التطبيق ( هنا ربما المنطقة الزمنية لساعة هاتف مستخدم التطبيق ستعطي وقت غير متوافق مع الخادم وبالتالي خطأ في الحساب) يمكنك استخدام مكتبة carbon فهي مكتبة قوية تدعم تعدد اللغات وسوف نستخدم دالة diffForHumans التي تعيد الوقت المنقضي بتنسيق قابل للقراءة البشرية بسهولة
    <?php $date = Carbon::now()->locale('ar'); echo $date->diffForHumans(); يمكنك مراجعة التوثيق لمزيد من المعلومات
    كما يمكن حساب الفرق بين توقيتين، ثم عمل منطق بسيط لحساب الأشهر - الساعات ..
    <?php // دالة تستقبل الفرق بين وقتين function format_interval(DateInterval $interval) { // بناء الوقت كنص $result = ""; // كل متغير له قيمة نضيفه مع واحدته الزمنية if ($interval->y) { $result .= $interval->format("%y years "); } if ($interval->m) { $result .= $interval->format("%m months "); } if ($interval->d) { $result .= $interval->format("%d days "); } if ($interval->h) { $result .= $interval->format("%h hours "); } if ($interval->i) { $result .= $interval->format("%i minutes "); } if ($interval->s) { $result .= $interval->format("%s seconds "); } return $result; } // حساب تاريخين $first_date = new DateTime("2012-11-30 17:03:30"); $second_date = new DateTime("2012-12-21 00:00:00"); // حساب الفرق بين التاريخين $difference = $first_date->diff($second_date); // طباعة الوقت المنقضي echo format_interval($difference); الاستخدام، 
    تجلب وقت إضافة المنتج لقاعدة البيانات أو الحقل الذي يمثل القيمة الزمنية التي تريدها ولنفترض أن اسمه هو created_at. تطرح الوقت الفعلي من created_at ثم تمرره للدالة formate_interval مثال مع كاربون:
    $carbondate = Carbon::parse($post->created_at); $past = $carbondate->diffForHumans(); echo($past); مقالة:
     
  7. إجابة Wael Aljamal سؤال في كيفية ترجمة المناطق والمدن الى اللغة العربية html / jquery كانت الإجابة المقبولة   
    في حال لم يتوفر ترجمة API للغة مهينة، يمكن التواصل مع جهة رسمية لتزودك بالأسماء أو تقوم بالبحث بنفسك أو تستعين بمهارات برمجية و تجربك حلول بنفسك..
    حاولت مساعدتك، قمت بعمل برنامج web scraping بلغة بايثون، يعتمد على ويكيبيديا، يجلب قائمة المدن السعودية، ثم يفتح الصفحة الخاصة لكل مدينة ويجلب الاسم العربي لها، بعض المدن تحتاج لتعديل مكتوب جانبها غير متوفر.. 17 من 128 يمكنك إكمالهم
    المدن:
    { "Abha": "أَبْهَا", "Asir": "عَسِيرٌ", "Ad-Dilam": "غير متوفر", "Al-Abwa": "ٱلْأَبْوَاء", "Al Artaweeiyah": "الأرطاوية", "Al Bukayriyah": "غير متوفر", "Badr (city)": "بَـدْر", "Baljurashi": "بَـلْـجُـرَشِي", "Bisha": "بيشة", "Bareq": "بارق", "Buraydah": "بريدة", "Al Qasim": "منطقة القصيم", "Al Bahah": "ٱلْبَاحَة", "Al Bahah Province": "ٱلْبَاحَة", "Ha'il Province": "مِنْطَقَة حَائِل", "Dammam": "الدمّام", "Persian Gulf": "اَلْخَلِيْجُ ٱلْعَرَبِيُّ", "Eastern Province, Saudi Arabia": "المنطقة الشرقية", "Dhahran": "الظهران", "Dhurma": "ضرما", "Dahaban": "ذهبان", "Diriyah": "الدرعية", "First Saudi State": "الدولة السعودية الأولى", "Duba, Saudi Arabia": "ضبا", "Dumat Al-Jandal": "دُومَة ٱلْجَنْدَل", "Dawadmi": "الدوادمي", "Farasan (city)": "فرسان", "Gerrha": "جرهاء", "Ghawiyah": "غير متوفر", "Jizan": "جازان", "Al-Gwei'iyyah": "القويعية", "Hautat Sudair": "حوطة سدير", "Sudair": "سدير", "Hajrah": "الحجرة", "Haql": "مَدِيْنَة حَقْل", "Al-Hareeq": "الحريق", "Harmah": "حَرْمَة", "Ha'il": "حَائِل", "Hotat Bani Tamim": "حوطة بني تميم", "Hofuf": "ٱلْهُفُوف", "Huraymila": "غير متوفر", "Hafr Al-Batin": "حفر الباطن", "Jabal Umm al Ru'us": "جبل أم الرؤوس", "Jalajil": "غير متوفر", "Jeddah": "جِدَّة", "Red Sea": "البحر الأحمر", "Jizan Province": "جيزان", "Jazan Economic City": "مدينة جيزان الاقتصادية", "Jubail": "الجبيل", "Khafji": "رأس الخفجي", "Saudi Arabia": "ٱلْمَمْلَكَة ٱلْعَرَبِيَّة ٱلسُّعُوْدِيَّة", "Kuwait": "دولة الكويت", "Khaybar": "خَيْبَر", "King Abdullah Economic City": "مدينة الملك عبدالله الإقتصادية", "Khamis Mushait": "خميس مشيط", "Al-Saih": "الخرج", "Knowledge Economic City, Medina": "غير متوفر", "Khobar": "ٱلْخُبَر", "Al-Khutt": "غير متوفر", "Layla (town)": "لیلى", "Lihyan": "مملكة لحيان", "Al Lith": "الليث", "Al Majma'ah": "المجمعة", "Mastoorah": "غير متوفر", "Al-Mubarraz": "غير متوفر", "Medina": "مدينة النبي", "Islam": "الإسلام", "Al Madinah": "مدينة النبي", "Mecca": "العاصمة المقدسة", "Makkah Province": "مِنْطَقَة مَكَّة", "Muzahmiyya": "المزاحمية", "Najran": "نجران", "Najran Province": "نجران", "Al-Namas": "النماص", "Umluj": "أملج", "Al-Omran": "ٱلْحَسَا", "Al-Oyoon": "ٱلْحَسَا", "Qadeimah": "غير متوفر", "Qatif": "ٱلْقَطِيف", "Qaisumah": "القيصومة", "Al Qunfudhah": "القنفذة", "Qurayyat, Saudi Arabia": "القريات", "Al Jawf Province": "منطقة الجوف", "Rabigh": "رَابِغ", "Rafha": "رفحاء", "Ar Rass": "الرس", "Ras Tanura": "رأس تنورة", "Ranyah": "رنية", "Riyadh": "الرياض", "Ar Riyad Province": "منطقة الرياض", "Second Saudi State": "الدولة السعودية الثانية", "Rumailah, Saudi Arabia": "غير متوفر", "Al-Ahsa Governorate": "ٱلْحَسَا", "Sarat Abidah": "غير متوفر", "Saihat": "سيهات", "Safwa city": "صفوى", "Sakakah": "سَكَاكَا", "Sharurah": "شرورة", "Shaqraa": "شقراء", "Shaybah": "غير متوفر", "As Sulayyil": "السليل", "Taif": "الطائف", "Tabuk, Saudi Arabia": "تَبُوْك", "Tabuk Province": "مِنْطَقَة تَبُوْك", "Tanomah": "تنومة", "Tarout": "جزيرة تاروت", "Tayma": "تيماء", "Thadiq": "ثادق", "Thuwal": "ثُوَل", "Ath Thuqbah": "الثقبة", "Turaif": "طريف", "Tabarjal": "غير متوفر", "Udhailiyah": "غير متوفر", "Al-'Ula": "ٱلْعُلَا", "Um Al-Sahek": "غير متوفر", "Unaizah": "عنيزة", "Al-Qassim Province": "منطقة القصيم", "Uqair": "غير متوفر", "Uyayna": "العيينة", "Uyun AlJiwa": "محافظة عيون الجواء", "Wadi Al-Dawasir": "وادي الدواسر", "Najd": "نَجْدٌ", "Al Wajh": "الوجه", "Yanbu": "ينبع", "Al Madinah Province": "ٱلْمَدِيْنَة ٱلْمُنَوَّرَة", "Az Zaimah": "الزيمة", "Zulfi": "محافظة الزلفي", "Riyadh Province": "منطقة الرياض" } شيفرة بايثون:
    # import required modules from bs4 import BeautifulSoup import requests import json # get URL page = requests.get( "https://en.wikipedia.org/wiki/List_of_cities_and_towns_in_Saudi_Arabia") # scrape webpage soup = BeautifulSoup(page.content, 'html.parser') # create object cities_links = soup.table.find_all('a') # قاموس بأسماء المدن و ترجمتها dictionary = {} for city_link in cities_links: city_name = city_link.get('title') city_page = requests.get( 'https://en.wikipedia.org' + city_link.get('href')) city_soup = BeautifulSoup(city_page.content, 'html.parser') try: city_arabic_name = city_soup.find('span', {'lang': 'ar'}).text dictionary[city_name] = city_arabic_name except: dictionary[city_name] = 'غير متوفر' #print('...') with open("List_of_cities_and_towns_in_Saudi_Arabia_En_Ar.json", "w", encoding='utf-8') as outfile: json.dump(dictionary, outfile, ensure_ascii=False).encode('utf-8')  
    index.py
    List_of_cities_and_towns_in_Saudi_Arabia_En_Ar.json
  8. إجابة Wael Aljamal سؤال في هل كل front end يحتاج إلى مصمم في عمله ؟ كانت الإجابة المقبولة   
    المصممون لايكتبون أكواد HTML، بل يستعينون ببرامج التصميم Photoshop - Figma وغيرها لأن هذه البرامج قوية في عمل الرسوميات و تعديل الصور والتلاعب بالنصوص، هي اختصاصية لعمل تصاميم جميلة بطريقة سهلة ويقومون بتصدير الموقع على شكل ملف psd مثلاً.
    أنت كمطور واجهات أمامية مهمتك تحويل تصميم أو مخطط عام لموقع إلى شيفرات برمجية، لن تحتاج لمصمم دوماً، أغلب المواقع لها تصميم بسيط يمكنك تقليد أي تصميم موجود أو يوفر لك صاحب المشروع شرح لكيف ستبدو واجهة مشروعه، يمكن أن يرسم لك الهيكلية العامة للتصميم بيده على أقل تقدير، و تتفقون على الألوان و كيفية توزعها في الواجهة.
     المهم أن تتفق مع صاحب المشروع على متطلبات التصميم، وإن رأيت أن التصميم معقد يمكن أن يتم الإتفاق بجلب مصمم (أغلبها في المشاريع الكبيرة و حسب ميزانية صاحب العمل)
    يمكنك الإستفادة من تصاميم المواقع في الدورة التي تدرسها فإن معظم الأمور الأساسية متشابهة يتم التعديل عليها وإضافة ميزات حسب المشروع.
    لاحظ أن جميع مواقع الويب، مهما كان احترافياً و معقداً و جميلاً . غيرها من الصفات هو 100% مكتوب بلغتي HTML - CSS وفي حال الحاجة للتفاعلية و التحريك نستخدم جافاسكربت.
    الموضوع يحتاج منك للتدريب و البحث عن أمثلة لمواقع تصميمها جميل و الاستفادة من الأكواد و فهم كيف تم تنفيذ فكرة ما، ويمكن أن تبحث عن طريقة تصميم شيء ما بلغات الويب على يوتيوب إن أعجبك شيء.
    دورة واجهات المستخدم فيها أمثلة عن كيفية قراءة القيم من ملف فوتوشوب عن طريق البرنامج نفسه و كيفية جلب المسافات و الألوان و الخطوط وغيرها، مما يسرع في عمل مطور الواجهات الأمامية، 
    يمكنك عمل التصاميم كما تريد، ولكن مع إشراف صاحب العمل ليكون موافقاً على النتيجة.
  9. إجابة Wael Aljamal سؤال في مشكلة في حجز الذاكرة في php exhhausted Allowed memory size كانت الإجابة المقبولة   
    حاول نقل التعليمة 
    ini_set('memory_limit', '-1'); لأول جزء من أول ملف يتم تنفيذه في برنامجك.
    يمكن للمشكلة أن تكون بسبب استيراد الملفات في أعلى هذا الملف ومنها من يحجز ذاكرة بشكل كبير مثل مصفوفة طولية أو ماشابه..
  10. إجابة Wael Aljamal سؤال في كيفية وضع التوقيع أو علامة مائية watermark على الصور flutter كانت الإجابة المقبولة   
    تمام، إذاً يمكنك عمل watermark على الصور من التطبيق أو الخادم، 
    ضمن التطبيق يمكن الاعتماد على حزم برمجية لتعديل الصور مثل stamp_image
    void generate() { StampImage.create( context: context, image: imageFile, // الصورة children: [ Positioned( bottom: 0, right: 0, child: _watermarkItem(), // العلاقمة المائية ), Positioned( top: 0, left: 0, child: _logoFlutter(), // لوغو تطبيقك مثلاً ) ], onSuccess: (file) => resultStamp(file), // تصدير الملف ); } أو مكتبة image_watermark
    يوجد أمثلة في التوثيق، مثلاً إن كنت تريد إضافة نص كالتالي:
    var watermarkedImg = await image_watermark.addTextWatermarkCentered( imgBytes, // صورة 'watermarkText', // نص ); وطريقة إضافة صورة
    watermarkedImgBytes = await image_watermark.addImageWatermark( imgBytes, //image bytes صورة أصلية imgBytes2,//watermark img bytes صورة مائية أو لوغو imgHeight: 200, //watermark img height imgWidth: 200, //watermark img width dstY: 400, dstX: 400);  
  11. إجابة Wael Aljamal سؤال في لا استطيع تحميل جانجو مااسبب وماهو الحل كانت الإجابة المقبولة   
    أرجو مشاركة صورة للخطأ الذي يظهر ومزيد من التفاصيل
    يمكنك الاطلاع على المقالة التالية و اتباع خطوات التنصيب وطرح سؤال مع تفاصيل الخطأ إن ظهر 
    مشكلة مشابهة يمكنك الاستفادة منها:
     
  12. إجابة Wael Aljamal سؤال في إنشاء مصفوفة array من سلسلة نصية في php كانت الإجابة المقبولة   
    أرجو مشاركة كيف تظهر النتيجة و كيف تريدها أن تظهر مع طباعة المتغير $d1 لأنه حسب تشكليه يمكن تحويل النص لمصفوفة
    يمكن أن تستخدم الدالة explode إن كانت السللسة عبارة عن أرقام بينها فاصلة مثلاً DELIMITER هو المرحف الفاصل بين القيم
    explode("DELIMITER", STRING); $d1 = explode(",", $d1); أو json_decode إن كانت على شكل عنصر JSON أو مصفوفة جافاسكربت
    $d1 = json_decode($d1);  
  13. إجابة Wael Aljamal سؤال في كيف أحل المشكلة في laravel حيث يظهر access violation 1071 Specified key was too long max key length is 767 bytes كانت الإجابة المقبولة   
    سبب المشكلة هو تحديد طول افتراضي لحقل الإيميل بشكل كبير، فهذا يؤثر على عمل الفهرسة و اختبار تكرار السلاسل النصية للبريد الإلكتروني عند إضافة بريد جديد خاصة مع إضافة القيد unique لمنع التكرار (البحث ضمن القاعدة يأخذ وقتاً ونريد تقليله قدر الإمكان) وهذا يعمل فهرسة لقاعدة البيانات و زيادة الحجم غير محبذة و يسبب بطئ في عملية المعالجة.. حيث أن الفهارس يفترض أن تزيد سرعة المعالجة وليس تقليلها.
    يمكن لأي تعديل في المشروع أن يظهر أخطاء جديد لأن الكثير من الأمور مرتبطة ببعضها، لا مشكلة بذلك
    يمكن حل المشكلة في تعديل الملف بزيادة الطول المسموح للنوع String
    /app/Providers/AppServiceProvider.php نضيف التضمين التالي: use Illuminate\Support\Facades\Schema; وضمن دالة boot: public function boot() { Schema::defaultStringLength(191); } ثم يمكنك إعادة عمل التهجير و بذر البيانات.
    كما يوجد حلول أخرى يمكنك البحث عن رسالة الخطأ وتجريبها.
    من هذه الحلول تغيير ترميز البيانات ل utf8
    config/database.php نعدل 'charset' => 'utf8mb4', 'collation' => 'utf8mb4_unicode_ci', to 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', أو تعديل محرك قواعد البيانات:
    config/database.php تبديل 'engine' => null', مع 'engine' => 'InnoDB ROW_FORMAT=DYNAMIC', ثم للحلين السابقين تنفيذ الأمر
    php artisan config:cache لسبب تعديل ملف ضمن الإعدادات config.
    والتوثيق الرسمي يشرح نفس الحل من: laravel migrations creating-indexes
  14. إجابة Wael Aljamal سؤال في مشكلة object object في عنصر textarea في React.js؟ كانت الإجابة المقبولة   
    في لغة جافاسكربت عند عمل render ل object أي تحويله لسلة نصية سيتم طباعة العبارة
    [object Object] الحل هو استخلاص القيمة من كائن الحدث v بالشكل 
    <textarea value={value} onChange={(v)=>setValue(v.target.value)}> // ^^^^^^^^^^^^^ </textarea> في حال أردت زيادة تعقيد دالة إسناد القيمة و عمل تعديلات على القيمة و فلترتها مثلاً، يمكنك فصل دالة المعالجة إلى handler منفصل، وتصبح الشيفرة أكثر قابلية للقراءة
    const handleChange = (event) => { setValue(event.target.value); }; /* */ <textarea value={value} onChange={handleChange}> // ^^^^^^^^^^^^^ </textarea>  
  15. إجابة Wael Aljamal سؤال في كيفية تنفيذ useEffect عند تغير طول مصفوفة ما في React.js؟ كانت الإجابة المقبولة   
    يمكنك إسناد طول المصفوفة المرغوبة فقط، بدون المصفوفة نفسها لقائمة اعتمادية useEffect أي  list of dependencies حيث سيقتصر استدعاء الدالة على تغير طول المصفوفة
    useEffect(() => { // أي تعديل على طولة المصفوفة console.log(usersArr) }, [usersArr.length]) // ^^^^^^^^^^^^^^^  
  16. إجابة Wael Aljamal سؤال في طباعة مضاعفات عدد يدخله المستخدم في HTML و جافا سكربت كانت الإجابة المقبولة   
    يمكننا عمل شرط التوقف ضمن حلقة while وهو أن الجداء الحالي أصغر من 1000 أو تساويها ثمن نحسب النتيجة للجداء الحالي و نقوم بتجميع و عرض النتائج <button onclick="f3()">massage</button> <p id="f3"></p> <script> function f3() { var num = parseInt(prompt("ادخل الرقم")); let i = 1 , text = ""; // تهيئة المتغيرات while (i * num <= 1000) { // شرط التوقف text += (num * i) + " "; // نتيجة الجداء الحالي i++; } document.getElementById("f3").innerHTML = text; // إسناد النتائج } </script>  
  17. إجابة Wael Aljamal سؤال في حساب نسبة مئوية لمبلغ يقوم المستخدم بإدخاله في HTML و جافا سكربت كانت الإجابة المقبولة   
    قمت بتصحيح الأخطاء:
    استدعاء الدالة ضمن الاقتباس <button onclick="dis()" >ارسال</button> ^^^^^ يتوجب استخدام إشارة الضرب ولا يمكن اختصارها مثل الرياضيات اسم الخاصية نكتبه بحالة أحرف كبيرة لبداية كل كلمة ما عدا أول كلمة aaaBbbCcc innerText para.innerText = "المبلغ" + x + "الخصم" + i + "%" + "الصافي بعد الخصم" + (x * (x * (i / 100))); ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^  
    <h1>ادخل المبلغ</h1> <input type="text" name="times" id="x"> <button onclick="dis()">ارسال</button> <script> function dis() { var i = 0 var x = document.getElementById('x').value; if (x > 2000) { i = 15; } else if (x >= 1000) { i = 10; } else if (x >= 500) { i = 5; } para = document.createElement('p') para.innerText = "المبلغ" + x + "الخصم" + i + "%" + "الصافي بعد الخصم" + (x * (x * (i / 100))); document.body.appendChild(para); } </script>  
  18. إجابة Wael Aljamal سؤال في طباعة اسم المستخدم بعدد محدد من المرات بلغة HTML و جافا سكربت كانت الإجابة المقبولة   
    تصحيح أخطاء، لا داع لتحويل لرقم عند قراءة الاسم، فهو سلسلة نصية بشكل افتراضي نستخدم اسم واضح للمتغير قمت بتعديل القيمة 7 ب الرقم المدخل من المستخدم <p id="f2"></p> <button onclick="f2()">masseg</button> <script> var name = prompt("ادخل الاسم"); var numberCount = parseInt(prompt("ادخل عدد التكرار ")); let text = "" let i = 1; do { text += name + i; i++; } while (i <= numberCount); document.getElementById("f2").innerHTML = text; </script> حتى تستدعي الدالة يتوجب تضمين السكربت ضمنها ليتم تنفيذها عند النقر على الزر
    لاحظ الشيفرة <p id="f2"></p> <button onclick="f2()">masseg</button> <script> function f2(){ var name = prompt("ادخل الاسم"); var numberCount = parseInt(prompt("ادخل عدد التكرار ")); let text = "" let i = 1; do { text += name + i; i++; } while (i <= numberCount); document.getElementById("f2").innerHTML = text; } </script> ولإضافة سكر جديد نضيف الوسم br لنهاية السطر 
    text += name + i + '</br>';  
  19. إجابة Wael Aljamal سؤال في كتابة برنامج باستخدام لغة بايثون يعرض الكلمات التي فيها الحروف الصوتية (أو تحوي مجموعة من الأحرف) كانت الإجابة المقبولة   
    سوف أساعدك في عمل البرنامج، 
    لدينا سلسلة نصية تحوي على كلمات بينهم فراغات، ونريد اختبار شرط لكل كلمة هل تحتوى على أحد الحرفو الصوتية أم لا.
    لذلك:
    فصل السلسلة النصية إلى قائمة فيها كل عنصر عبارة عن كلمة يمكنك استخدام دالة 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 هي الأحرف الصوتية
     
    حاول عمل البرنامج وسوف نصلح الأخطاء إن وجدت
  20. إجابة Wael Aljamal سؤال في خطأ في جلب البيانات في استعلام Many To Many Relationship Laravel حيث يظهر Column not found كانت الإجابة المقبولة   
    حاول تعديل علاقة الربط بين النماذج مع الجدول الوسيط
    //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'); } بهذه الطريقة نحدد أسماء الحقول يدوياُ لتجنب الخطأ السابق.
    تعديل: إضافة اقتباس مفرد لأسماء الحول لتعامل كسلسلة نصية (خطأ كتابة)
  21. إجابة Wael Aljamal سؤال في mysql خطأ في استعلام قاعدة البيانات يقوم بالربط بين الجداول من خلال حقول لهم قيمة نصية كانت الإجابة المقبولة   
    يمكنك عمل سكربت PHP يقرأ البيانات سطر سطر حسب id ضمن حلقة، و يجلب القيم ثم يعمل لها trim أي يحذف الفراغات الزائدة أي يعمل update لها وتأكد من عمل trim أيضاً عند حشر أي نوع بيانات لجداول قاعدة البيانات لتجاهل المشكلة. يمكن تطبيق trim خلال الشطر أيضاً  لكنه يقلل الأداء أنه لا داع له لأنها سوف تتنفذ بشكل مكرر TRIM(patron_colors.color_name) = TRIM(order_threads.color_select) من الأفضل الربط بين الجداول عن طريق الرقم و ليس السلسل النصية لأنه أسرع و أدق
  22. إجابة Wael Aljamal سؤال في كيفية نقل البيانات بين الحاويات في pageview في flutter كانت الإجابة المقبولة   
    المثال الذي ارفقته، فيه حاويات ملونة، وليس بيانات فعلية، أعتقد أن المشكلة غير واضحة، ما الذي سينتقل بين الحاويات.. يمكن تحديد متغير قائمة خاص بكل حاوية  ونضيف له بياناتها ، وعند أي تعديل سيتم تعديل المصفوفات ومن ثم إعادة تشكيل العرض.
    لامشكلة من وجود عدد ملفات كبير، لأن التعقيد في ملف واحد هو ما نتجنبه.
  23. إجابة Wael Aljamal سؤال في [php-mysql] ادخال Multidimensional Arrays لقاعدة البيانات كانت الإجابة المقبولة   
    أرى أن المشكلة هي عدم القدرة على معرفة كل لون لأي خيط يتبع، لأن لديك مصفوفة 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'; }  
  24. إجابة Wael Aljamal سؤال في لدي مشكلة في تمرير النتائج لملف العرض في livewire search box كانت الإجابة المقبولة   
    نضيف الشيفرات البرمجية من خلال محرر الأكواد

    الملاحظات:
    دالة findProfile لا تعيد قيمة return لاتقوم بتمرير قيمة لملف العرض return view('livewire.search', ['results' => $results]);  
  25. إجابة Wael Aljamal سؤال في كيفية إنشاء متجر إلكتروني متعدد المتاجر كانت الإجابة المقبولة   
    الأمر غير مرتبط بلغة برمجة، حيث أن مفهوم تعدد التجار، هو أن كل مستخدم يمكنه نشر منتجات و بضائع و خدمات و يتم عرضهم على الزبائن، وبعد أن يشتري الزبون يتم تحويل رصيد الأموال لحساب التاجر.
    أي يمكن عمل المتجر من خلال django  أو لارافل أو غيره
    أي الموضوع يتعلق بالبرمجة، و بعض شروط عمل المتجر الإلكتروني.
    يوجد منصات جاهزة تساعدك على إطلاق متجرك مثل:
    Shopify ماجنتو BigCommerce وOpenCart و برمجيات:
    WooCommerce من ووردبريس مقالة من مدونة مستقل:
    دليلك لاختيار أفضل منصات التجارة الإلكترونية
×
×
  • أضف...