يوسف احمد9
-
المساهمات
30 -
تاريخ الانضمام
-
تاريخ آخر زيارة
إجابات الأسئلة
-
إجابة يوسف احمد9 سؤال في كيفية ارسال fcm لكل الاجهزة دفعه واحده flutter كانت الإجابة المقبولة
هناك شئ أسمه Topic فى الفاير بيز هو شئ يشبه الجروب بحيث تجعل كل المستخدمين يقومون بعمل subscribe لهذا ال Topic
ويمكنك من خلال الباك إند إرسال نوتفكيشن لهذا ال Topic
فلو إفترضنا أنه نريد أن نرسل لكل المستخدمين أن يوجد عرض جديد أو ماشابه ذلك .. من خلال التطبيق نجعل المستخدمين يقومون بعمل subscribe ل Topic يسمى offers مثلا ... ومن خلال البوست مان أو الباك إند الخاصه بك يمكنك إرسال إشعار لهذا ال Topic
-
إجابة يوسف احمد9 سؤال في لماذا 6.35 عند تصحيحها ب toFixed() تعطينا 6.3 بينما 1.35 تعطينا 1.4 كانت الإجابة المقبولة
هذه مشكلة موجودة بالفعل فى دالة ال toFixed انها فى بعض الأحيان تقرب الرقم لأقرب رقم صحيح وأحيانا لا ويوجد بعض الحلول لذلك أولا يمكنك الإعتماد على مكاتب خارجية مثل مكتبة big.js وستقوم المكتبة بحساب القيم بطريقة صحيحة والحل الأخر يمكن أن نقوم به كالتالى :
function toFixed(n, d) { const tenToD = Math.pow(10, d); return (Math.round(n * tenToD) / tenToD).toFixed(d); } سنقوم بعمل الدالة الخاصة بنا لكى تعمل الدالة بطريقة صحيحة
أولا : سنقوم بضرب الرقم 10 فى نفسه بناءا على عدد الأرقام التى نريد التقريب إليها بعد العلامة العشرية
لو افترضنا الرقم سيكون 6.35 ونريد التقريب لرقم واحد بعد العلامة العشرية
const tenToD = Math.pow(10, d); // tenToD = Math.pow(10, 1) = 10 * 1 = 10 إذا كنا نريد التقريب لأقرب رقمين بعد العلامة سنقوم بها كالتالى
const tenToD = Math.pow(10, d); // tenToD = Math.pow(10, 2) = 10 * 10 = 100 ولكن فى تلك الحالة سنقوم بالتقريب لأقرب رقم عشرى
const tenToD = Math.pow(10, d); // tenToD = Math.pow(10, 1) = 10 ومن ثم نقوم بالتقريب لأقرب رقم صحيح عن طريق إستخدام الدالة Math.round كالتالى
Math.round(n * tenToD) // n * tenToD = 6.35 * 10 = 63.5 // Math.round(63.5) = 64 ومن ثم نقوم بقسمة الناتج على عشرة
Math.round(n * tenToD) / tenToD // n * tenToD = 6.35 * 10 = 63.5 // Math.round(63.5) = 64 // 64 / 10 = 6.4 وأخيرا نستخدم الدالة toFixed لحساب الرقم النهائي :
(Math.round(n * tenToD) / tenToD).toFixed(d) // (Math.round(63.5) / 10).toFixed(d) // (Math.round(63.5) / 10) = 6.4 // 6.4.toFixed(1) = 6.4
-
إجابة يوسف احمد9 سؤال في الاستعلام الصحيح عن السجلات المتشابهة في MySQL كانت الإجابة المقبولة
جرب أخي أيضاً أن تضع ال topic id داخل سينجل كود هكذا :
$sql = "SELECT * FROM conversation WHERE (user_Received_id='$user_Received_id' AND user_send_id='$user_send_id') or(user_Received_id='$user_send_id' AND user_send_id='$user_Received_id') and topic_id = '$topic_id'";
-
إجابة يوسف احمد9 سؤال في جمع السجلات لعرض سجل واحد من mysql في flutter كانت الإجابة المقبولة
الفكرة كالتالى اخى الكريم سنقوم بعمل جدول خاص بالمواضيع :
CREATE TABLE subjects ( id bigint UNSIGNED AUTO_INCREMENT PRIMARY KEY, title VARCHAR(30) NOT NULL, description VARCHAR(30) NOT NULL, user_id bigint UNSIGNED, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ) ونقوم بعمل جدول يسمى المحادثات ويكون كالتالى :
CREATE TABLE conversations ( id bigint UNSIGNED AUTO_INCREMENT PRIMARY KEY, subject_id bigint UNSIGNED, tile VARCHAR(190) NOT NULL, user_id bigint UNSIGNED, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ) بحيث ان تكون المحادثة مربوطة بالموضوع وال user_id هنا يكون اليوزر الذى يريد ان يتحدث مع صاحب الموضوع بحيث اذا اراد اى مستخدم التحدث مع صاحب الموضوع نقوم بعمل محادثة له فى جدول ال conversations ومجرد عنوان ابتدائى للمحادثة
ومن ثم نقوم بعمل جدول نقوم بتخزين الرسائل فية ويكون بالشكل التالى :
CREATE TABLE messages ( id bigint UNSIGNED AUTO_INCREMENT PRIMARY KEY, conversation_id bigint UNSIGNED, msg text NOT NULL, user_id bigint UNSIGNED, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ) subjects table : --------------------- id | title | user_id --------------------- 1 | title | 5 conversations table : -------------------------------------------------------------- id | subject_id | user_id | title --------------------------------------------------------------- 1 | 1 | 1 | مرحبا لدى عدة اسئله على هذا الموضوع --------------------------------------------------------------- 2 | 1 | 2 | مرحبا اخى الكريم هل لديك وقت كافى messages table : ----------------------------------------------------------------- id | conversation_id | user_id | title ----------------------------------------------------------------- 1 | 1 | 1 | كم احتاج وقت حتى اتعلم البرمجة؟ ----------------------------------------------------------------- 2 | 1 | 5 | تحتاج خمس شهور واخيرا اذا اردت ان تسترجع الشات لست يمكن تنفيذ هذه الكويرى :
SELECT conversations.* FROM `conversations` JOIN subjects on subjects.id = conversations.subject_id WHERE subjects.user_id = 5 وشكرا .
-
إجابة يوسف احمد9 سؤال في كيف يمكنني المرور على عناصر سطر ضمن اطار بيانات بلغة البايثون ؟ كانت الإجابة المقبولة
import pandas as pd df = pd.DataFrame({'c1': [10, 11, 12], 'c2': [100, 110, 120]}) for index, row in df.iterrows(): print(row['c1'], row['c2'])