محمد بوسكوري نشر 9 يناير 2016 أرسل تقرير نشر 9 يناير 2016 أتوفر على جدولين على قاعدة بيانات من نوع Mysql، الأول tbl_reaction بالشكل التالي:╔════╦═══════════╦════════════╦═════════╗ ║ id ║ condition ║ phenomenon ║ infor ║ ╠════╬═══════════╬════════════╬═════════╣ ║ 1 ║ abcd123 ║ abcd123 ║ abcd123 ║ ║ 2 ║ wer ║ wer ║ wer ║ ╚════╩═══════════╩════════════╩═════════╝الجدول الثاني tbl_reaction_item:╔══════╦═══════════╦═════════╦═════╗ ║ reid ║ substance ║ type ║ num ║ ╠══════╬═══════════╬═════════╬═════╣ ║ 1 ║ H2 ║ income ║ 2 ║ ║ 1 ║ O2 ║ income ║ 1 ║ ║ 1 ║ H2O ║ outcome ║ 2 ║ ╚══════╩═══════════╩═════════╩═════╝ما أريده هو كيفية استعمال لغة البرمجة php للحصول على النتيجة التالية:2H2 + O2 => 2H2Oكيف ذلك؟ اقتباس
1 E.Nourddine نشر 11 يناير 2016 أرسل تقرير نشر 11 يناير 2016 الطريقة التي سننهجا للوصول إلى نتيجة المعادلة الكيميائية هي:(income + income => outcome) H2 + O2 => H2Oأي أن جملة الاستعلام ستكون على الشكل:SELECT CONCAT(GROUP_CONCAT(CASE WHEN type='income' THEN CONCAT(IF(num=1, '', num),substance) END SEPARATOR ' + '), ' => ', GROUP_CONCAT(CASE WHEN type='outcome' THEN CONCAT(IF(num=1, '', num),substance) END SEPARATOR ' + ')) AS reaction FROM tbl_reaction_item GROUP BY reid;تم استعمال GROUP By للتجميع الحقول حسب حقل معيّن.النتيجة النهائية للمعادلة:╔══════════════════╗ ║ reaction ║ ╠══════════════════╣ ║ 2H2 + O2 => 2H2O ║ ╚══════════════════╝استخدمنا: GROUP_CONCAT مع علامة + للحصول على الشكل العلمي لكتابة المعادلة.CONCAT للحصول على الرمز <=.╔══════╦═══════════╦═════════╦═════╦══════╗ ║ reid ║ substance ║ type ║ num ║ pos ║ ╠══════╬═══════════╬═════════╬═════╬══════╣ ║ 1 ║ H2 ║ income ║ 2 ║ 1 ║ ║ 1 ║ O2 ║ income ║ 1 ║ 2 ║ ║ 1 ║ H2O ║ outcome ║ 2 ║ 1 ║ ╚══════╩═══════════╩═════════╩═════╩══════╝ مثال تطبيقيالنتيجة النهائية:╔═════╦════════════╦═════════════╦══════════╦══════════════════╗ ║ id ║ condition ║ phenomenon ║ infor ║ reaction ║ ╠═════╬════════════╬═════════════╬══════════╬══════════════════╣ ║ 1 ║ abcd123 ║ abcd123 ║ abcd123 ║ 2H2 + O2 => 2H2O ║ ║ 2 ║ wer ║ wer ║ wer ║ (null) ║ ╚═════╩════════════╩═════════════╩══════════╩══════════════════╝ اقتباس
السؤال
محمد بوسكوري
أتوفر على جدولين على قاعدة بيانات من نوع Mysql، الأول tbl_reaction بالشكل التالي:
الجدول الثاني tbl_reaction_item:
ما أريده هو كيفية استعمال لغة البرمجة php للحصول على النتيجة التالية:
2H2 + O2 => 2H2O
كيف ذلك؟
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.