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

محمد المصري12

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

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

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

كل منشورات العضو محمد المصري12

  1. عندي جدول بالشكل التالي و مصفوفة بالشكل التالي $EN=[ 'main'=>'salma', 'view_reports'=>'display some system reports', 'preferred_lang'=>'Select Display Language', 'success'=>'success', ]; ايه الطريقة الصحيحه اني اخلي المصفوفة تقرا من الداتابيز ؟ توضيح اكتر ده ملف ترجمة ، بدل منا افضل كل شوية اغير المصطلحات في المصفوفة هاخلي مدخل البيانات يعملها من لوحة التحكم و يضيف اسم المتغير و الترجمة بتاعته و يدخلوا المصفوفة عادي و السيستيم يقرا الترجمة منهم ازاي اقدر أعمل ده
  2. شكرا لحضرتك جدا ما ينفعش اعمل update يدوي بعد كل تكرار لسطر الجدول الرئيسي الأمر غير منطقي يعني مثلا السطر اللي نسخته كان حقل ال ID رقم 5 لما اعمل Insert في الجدول المرتبط بيه هاجيب ال forign key الجديد منين؟ ملحوظة انا شغال php لو فيه طريقة اعملها بال php برضه شغال
  3. سلام عليكم عندي جدول بالصورة التالية اسمه order و عندي جدول تاني مرتبط بالجدول ده اسمه order_cloth مثلا بالشكل ده لما بضغط كوبي في الجدول الرئيسي عند اي قيمه بيكررلي القيم دي و بيديني ليها ID جديد يعني مثلا لو كررنا تالت صف اللي واخد ID رقم 3 و عندي اخر قيمه لل ID هيا رقم 6 فبالتالي الحقل الجديد ببياناته هاياخد ID رقم 7 عاوز طريقة اعمل فيها تحديث على الجدول الفرعي بحيث يكرر القيم بتاعه ID رقم 3 في الجدول الأول و يغير ال forign key لل ID الجديد اللي اتعمل في الجدول الرئيسي
  4. اتحلت المشكلة اخي الفاضل سأقوم بتطبيق ذلك على جميع الجداول شكرا جزيلا لك
  5. نعم فهمت الاستعلام استاذي الفاضل و فعلا الجدول المستهدف يحتوي على الحقل المطلوب و يمتلك نفس نوع بيانات orders.id العلاقات انشأتها برمجيا و ليس من mysql
  6. ظهرلي هذا الخطأ اخي الفاضل #1452 - Cannot add or update a child row: a foreign key constraint fails (`areyadac_brodan`.`#sql-2e42d0_10cb702`, CONSTRAINT `#sql-2e42d0_10cb702_ibfk_1` FOREIGN KEY (`order_id`) REFERENCES `orders` (`id`) ON DELETE CASCADE)
  7. لا للاسف لم افعلها هل يمككني اضافتها على الجداول التي تحتوي order_id بعد ان تم انشاءها
  8. سلام عليكم عندي قاعدة بيانات ضخمة منها جداول كثيرة مرتبطة بجدول اسمه order و الربط يتم بجقل اسمه order_id الان عاوز لو حذفت من جدول order مثلا ال id رقم 3 عاوز طريقة سهلة اخليه يلف عالداتابيز كلها لو لقا حقل اسمه order_id و قيمته تساوي 3 يحذفه مع الشكر
  9. سلام عليكم اقوم بالعمل على موديول مخصص ل dolibarr erp system الكود التالي يقوم بادراج ملف excel الخاص ببيانات الحضور و الانصراف من جهاز البصمه ، و استخدم في ذلك مكتبة Spreadsheet $Spreadsheet = new SpreadsheetReader($destfull); $BaseMem = memory_get_usage(); $Sheets = $Spreadsheet->Sheets(); $nbSheet = count($Sheets); $nblign=0; $nbadded = 0; $nbmodified = 0; $arrayusers = array(); $arrayhorairs = array(); $arraynotfounded = array(); $arralreadyimp = array(); $colnumero = 0; $coldatetime = 1; $presence = new hrmdolibarr_presences($db); $id_presenc = 0; $lastemployee = 0; $lastdate = ''; $lastdebut = ''; for($i=0; $i < $nbSheet; $i++){ $Spreadsheet->ChangeSheet($i); foreach ($Spreadsheet as $key => $row) { $error = 0; if($key > 0 && isset($row[$colnumero]) && isset($row[$coldatetime]) && (int) $row[$colnumero] > 0) {} else continue; $fk_employe = 0; if(isset($arrayusers[$row[$colnumero]])) { $fk_employe = $arrayusers[$row[$colnumero]]; } else { $resql = $db->query('SELECT e.fk_object FROM '.MAIN_DB_PREFIX.'user_extrafields as e WHERE e.hrmdolibarr_nummachine='.(int) $row[$colnumero].' limit 1'); if($resql){ $obj = $db->fetch_object($result); if($obj) { $fk_employe = $obj->fk_object; $arrayusers[$row[$colnumero]] = $fk_employe; } } } $datetime = trim($row[$coldatetime]); $date = explode(' ', $datetime); if($fk_employe <= 0 || !isset($date[0]) || !isset($date[1])) { $arraynotfounded[(int) $row[$colnumero]] = (int) $row[$colnumero]; continue; } $time = explode(':', $date[1]); $tmp_d = explode('/', $date[0]); $day = $tmp_d[0]; // Day 0 $month = $tmp_d[1]; // Month 1 $year = $tmp_d[2]; // Year if(strlen($year) == 2) { $day = $tmp_d[1]; // Day 1 $month = $tmp_d[0]; // Month 0 $year = $tmp_d[2]; // Year $years = DateTime::createFromFormat('y', (int) $year); $year = $years->format('Y'); } $month = strlen($month) == 1 ? '0'.$month : $month; $cleandate = dol_mktime(0, 0, 0, (int) $month, (int) $day, (int) $year); if(!$cleandate) continue; $rowdate = date("Y-m-d", $cleandate); // To avoid duplicate line $tmpdebut = $time[0] * 3600 + $time[1] * 60; if(isset($arralreadyimp[$fk_employe.'-'.$rowdate.'-'.$tmpdebut])) continue; $arralreadyimp[$fk_employe.'-'.$rowdate.'-'.$tmpdebut] = 1; if(!$lastdate || (isset($lastdate) && $lastdate != $rowdate) || $lastemployee != $fk_employe) { $lastdate = $rowdate; // Time in $debut = $time[0] * 3600 + $time[1] * 60; $lastdebut = $debut; $data = [ 'fk_employe' => $fk_employe, 'fk_author' => $user->id, 'date' => $rowdate, 'debut' => $debut ]; $lastemployee = $fk_employe; // $presence = new hrmdolibarr_presences($db); $id_presenc = $presence->create($data); $nbadded++; }else{ if($id_presenc && $lastdate == $rowdate && $lastdebut && $lastemployee == $fk_employe) { $fin = $time[0] * 3600 + $time[1] * 60; $duree = $fin - $lastdebut; $day=date('l', strtotime($rowdate)); if(isset($arrayhorairs[$fk_employe])) { $horairuser = $arrayhorairs[$fk_employe]; } else { // $daynumber = $horaires->namedays[$day]; $horairuser = $horaires->horaireUser($fk_employe); $arrayhorairs[$fk_employe] = $horairuser; } $dt_time = $horaires->calculOverDelaytime($fk_employe, $day, $debut, $fin, $horairuser); $data = [ 'fin' => $fin, 'duree' => $duree, 'overtime' => $dt_time['overtime'], ]; // $presence = new hrmdolibarr_presences($db); $presence->update($id_presenc, $data); } $id_presenc = 0; $lastdate = ''; $lastdebut = ''; } هو بيقبل ملف الإكسل بالصيغة دي انا عاوز اخليه كمان يقبل الملف بالشكل ده يعني يقبل البيانات سواء بالشكل القديم او الجديد ، هل فيه طريقة لده؟
  10. شكرا لك استاذنا هل لو قمت بترقية اصدار php8 سيؤثر ذلك على الانظمة المبرمجة بالاصدارات الأقل ؟
  11. سلام عليكم عندي خانة المستخدم بيدخل فيها عنوان رابط ( لازم يكون خاص برفع الملفات زي one drive او google drive او drobbox ) الخ <input type="url" class="form-control image_url"> القيمة تم تمريرها بالمتغير التالي $image_url = $_POST['image_url']; قمت بعمل مصفوفة كالتالي $White_List = array("https://drive.google.com/", "https://1drv.ms/"); //Add Allowed Website list Here و قمت باستخدام دالة in_array if (!in_array($image_url, $ًWhite_List)) { echo "error"; return; } البرنامج لا يقبل الا الرابط الحرفي يعني https://drive.google.com/ فقط اي ملف مرفوع على جوجل درايف بيرفض و بيقولي خطأ انا عاوزه يوافق على الملفات داخل هذا النطاق و لو فيه طريقة اخليه يفحص بيها محتوى الرابط انه صورة فقط يا ريت لانه مواقع الرفع ما بتجيبليش الامتداد و ما بعرفش اعمل فلترة عليه شكرا جزيلا
  12. الاستعلام كالتالي SELECT order_threads.*, thread.image , thread.name, patron.id AS patronID, patron.order_id AS patronOrderID, patron_colors.patron_id AS patron_colors_Patron_id , patron_colors.color_name AS patron_colors_color_name, patron_colors.id AS patron_colors_ID, patron_colors.color_count AS patron_colors_colorCount FROM order_threads JOIN thread ON order_threads.thread_id = thread.id JOIN patron_colors ON patron_colors.patron_id = order_threads.color_select OR patron_colors.color_name = order_threads.color_select LEFT JOIN patron ON patron.id = patron_colors.patron_id WHERE patron.order_id = order_threads.order_id AND order_threads.order_id='36'; و الناتج كما في الصورة لاحظ ID رقم 72 مكرر مرتين و 73 ايضا مع العلم اني لما بستعلم من جدول واحد بدون بناء علاقات مع جداول اخرى الناتج بيطلع مضبوط
  13. انا فعلا في التحديث عملت كده و خليته يسجل ID اللون مش اسمه و هاربطهم بالرقم شكرا جزيلا لحضرتك
  14. انا اكتشفت المشكلة و هي فعلا غريبة جدا يا استاذ وائل الاستعلام لا ينفذ لانه في الجدول ده مثلا ( اصفر) في التاني (اصفر+مسافة) طبعا انا هعالجها ان شاء الله في الباك اند بس السؤال الان ازاي اخليه يتجاهل المسافه (space) عشان يطلع ناتج الاستعلام صح ، لان الداتا ضخمة جدا و صعب تعديلها كل وحدة على حدة
  15. شكرا لك اخي الفاضل اصبح الاستعلام هكذا 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 WHERE order_threads.order_id = '42'; لكن لا يرجع اي نتائج MySQL returned an empty result set (i.e. zero rows).
  16. حين تنفيذ هذا الإستعلام SELECT order_id, thread_id, color_select FROM order_threads WHERE order_id = 42 تظهر النتيجة كالتالي إلى الان مفيش مشكلة الان اريد ربط بعض الجداول ببعضها لجلب بعض البيانات و المفتاح الرئيسي هو حقل و الذي يحتوي على اسماء الألوان و مطلوب عمل علاقة بينه و بين جدول إسمه patron_colors يحتوي على حقل اسمه color_name من المفترض انه يحتوي على نفس الداتا الموجودة في حقل color_select بجدول order_threads و كان الاستعلام كالتالي SELECT order_threads.thread_id, order_threads.order_id, order_threads.color_select, thread.name, patron_colors.color_name AS color_name, patron_colors.id, patron_colors.color_count FROM order_threads JOIN thread ON order_threads.thread_id = thread.id LEFT OUTER JOIN patron_colors ON patron_colors.color_name = order_threads.color_select WHERE order_threads.order_id = '42'; و النتيجة كانت كالتالي مع العلم ان الداتا في الحقلين دول واحدة بالحرف
  17. رائع تم اختيار البيانات كالتالي و كما واضح تحتوي على 6 الوان ببياناتهم و تظهر رسالة خطأ بالشكل التالي الاسطر 82 و 82 كالتالي 82 : $item = $items[$j]; 83 : $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]')"); لكن تم ادخال البيانات في الداتابيز كالتالي يعني البيانات كلها دخلت تمام ( تم التعرف على عدد الالوان لكن المشكلة الان في اسمها) بخصوص لتمرير المتغيرات من الفرونت اند للباك اند عن طريق jQuery فهو كالتالي let threads = []; let colorSelect =[]; let colorNumber =[]; let countPiece =[]; let total =[]; let hadr =[]; let last = []; $(".threads-value").each(function () { threads.push($(this).val()); }); $(".color_select_thread option:selected").each(function() { let text = $(this).text(); //let tempVal = $(".color_select_thread").text(); if(text.indexOf(text) >= 0 && colorSelect.indexOf(text) < 0) { colorSelect.push(text); } else if(text.indexOf(text) < 0 && colorSelect.indexOf(text) >= 0) { colorSelect.splice(colorSelect.indexOf(text) , 1); } // colorSelect.push($(this).text()); }); $(".colorNumber_input_thread").each(function() { colorNumber.push($(this).val()); }); $(".countPiece_thread").each(function() { countPiece.push($(this).val()); }); $(".total_thread").each(function() { total.push($(this).val()); }); $(".hadr_thread").each(function() { hadr.push($(this).val()); }); $(".last_thread").each(function() { last.push($(this).val()); }); لك خالص شكري و تقديري يا باش مهندس على مساعدتك الكريمة
  18. انا شايف خطأ في بعض الوسوم php tags مثلا <img src="<?= $row['img'] ?>" alt="img-blur-shadow" class="img-fluid shadow border-radius-lg" loading="lazy"> ^^^^^^^^^^^^^^^^^^^ من المفترض ان تكون هكذا <img src="<?php echo $row['img'] ?>" alt="img-blur-shadow" class="img-fluid shadow border-radius-lg" loading="lazy"> و الخطأ متكرر في اغلب الكود صححه و جرب كده
  19. شكرا لك اخي الكريم ده مثال لشكل البيانات موضح بها اسماء المتغيرات في الكود و ازاي عاوز الداتا تدخل قاعدة البيانات لكن في الحقيقه دي بتدخل قاعدة البيانات بالشكل ده ناتج طباعة محتوى المتغير $items كما أمرت كالتالي Array ( [0] => Array ( [0] => احمر [1] => زيتي [2] => اصفر ) )
  20. سلام عليكم عندي 4 مصفوفات وأحاول ادخال بيانات اكثر من قائمة متعددة الاختيارات كل مصفوفة تحتوي على بيانات تأتي من ( قائمة منسدلة متعددة الاختيارات تسمى اللون - العدد - المجموع - السماح - الاجمالي ) عند اختيار قيمتين من القائمة المنسدلة متعددة الاختيارات المطلوب ادخال القيمتين في حقلين منفصلين و ادخال باقي عناصر المصفوفة امام كل حقل حسب المتغير شكل قاعدة البيانات كالتالي مثال هتختار من المصفوفة الاولى قائمة اللون احمر و ابيض ، يبقى هاينزلي في الداتابيز 2 صف واحد فيهم للون الاحمر و التاني للابيض و باقي البيانات تدخل عادي بمتغيراتها هختار من المصفوفة التانية قائمة اللون ازرق ، يبقى هاينزل لي صف واحد فيه اللون الاصفر و باقي البيانات بمتغيراتها لما بطبق الكود ما بيجليش غير لون واحد بس من كل قائمة حتى لو اخترت 4 الوان او 5 هو اول لون فقط ، فما الحل الكود $order = $_POST['order']; $threads = $_POST['threads']; // كود الخيط $items = array($_POST['colorSelect']); // مصفوفة اسماء الالوان // $colorSelect = $_POST['colorSelect']; // اختيار اللون $colorNumber = $_POST['colorNumber']; $hadr = $_POST['hadr']; // السماح $last = $_POST['last']; // الاجمالي $countPiece = $_POST['countPiece']; // عدد القطع الملبسية $total = $_POST['total']; // $result = $conn->query("DELETE FROM order_threads WHERE order_id='$order'"); for ($i =0; $i < count($threads); $i++){ try { foreach ($items AS $item){ $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'; }
  21. السلام عليكم عندي مجموعة من الاختيارات منهم قوائم منسدلة الاختيارات دي نفسها بتكرر حسب اختيار المستخدم و بقوم بادخال بيانات قائمة منسدلة متعددة الاختيارات إلى قاعدة البيانات فيديو صغير توضيحي يشرح المشكلة 2022-06-06_13-34-29.mp4 الكود <div class="col-12 mb-2 row d-flex align-items-center threads-fields"> <div class="col-9" style="margin-bottom:20px"> <label class="h5 text-primary m7md1" style="margin-bottom:20px">اختيار الخيط</label> <div class="input-group"> <!-- قائمة اختيار الخيط --> <select class="form-control threads-value show-image p-0" required> <option selected readonly value="0" disabled>تحديد خيط حياكة</option> <?php $result = $conn->query("SELECT * FROM thread"); while ($row = $result->fetch_assoc()) { if (empty($row['name'])){ echo '<option type="threads" img="' . $row['image'] . '" value="' . $row['id'] . '">كود الخيط T' . $row['id'] . '/ لم يتم تسجيل اسم للخيط</option>'; } else { echo '<option class="text-danger" type="threads" img="' . $row['image'] . '" value="' . $row['id'] . '">كود الخيط T' . $row['id'] . '/ اسم الخيط - ' . $row['name'] . '</option>'; } } ?> </select> </div> </div> <!-- ##### عرض الصورة --> <div class="col-3 d-flex justify-content-center show-image" style="margin-bottom:20px"></div> <div class="col-2" style="margin-bottom:30px"> <label class="required">اختيار لون المرياج</label> <div class="input-group"> <!-- قائمة اختيار لون المرياج --> <select class="form-control m color_select_thread" multiple="multiple" required> <option value="" disabled selected >اختيار اللون</option> <!-- بداية استعلام الوان المرياجات --> <?php $meriag = "SELECT `patron_colors`.`id` AS pcID, `patron_colors`.`patron_id` AS pcPID, `patron_colors`.`color_name` AS pcCN, `patron_colors`.`color_count`AS pcCC FROM `patron_colors` INNER JOIN `patron` ON `patron`.`id` = `patron_colors`.`patron_id` INNER JOIN `orders` ON `orders`.`id` = `patron`.`order_id` WHERE `orders`.`id` =$order_id"; $result = $conn->query($meriag); while ($row = $result->fetch_assoc()) { echo '<option class="text-danger color_count_thread" type="buttons" value="' . $row['pcCC'] . ' "> ' . $row['pcCN'] . '</option>'; } ?> </select> </div> </div> <div class="col-2" style="margin-bottom:30px"> <label class="required">العدد</label> <div class="input-group"> <input type="text" class="form-control colorNumber_input_thread" required readonly> </div> </div> <div class="col-2" style="margin-bottom:30px"> <label class="required">عدد الامتار للقطعة</label> <div class="input-group"> <input type="number" step=".01" class="form-control countPiece_thread" required> </div> </div> <div class="col-2" style="margin-bottom:30px"> <label class="required">المجموع</label> <div class="input-group"> <input type="text" class="form-control border border-warning total_thread" required disabled> </div> </div> <div class="col-2" style="margin-bottom:30px"> <label class="required">نسبة السماح</label> <div class="input-group"> <input type="text" class="form-control border border-warning hadr_thread" required> </div> </div> <div class="col-2" style="margin-bottom:30px"> <label class="required">الإجمالي</label> <div class="input-group"> <input type="text" class="form-control border border-warning last_thread" required disabled> </div> </div> </div> كود التمرير JQuery <script> // Submit Threads (function() { 'use strict'; window.addEventListener('load', function() { var forms = document.getElementsByClassName('needs-validation-threads'); var validation = Array.prototype.filter.call(forms, function(form) { form.addEventListener('submit', function(event) { if (form.checkValidity() === false) { event.preventDefault(); event.stopPropagation(); } else { let threads = []; // تعريف نوع الخيط let colorSelect =[]; // تعريف لون المرياج $(".threads-value").each(function () { threads.push($(this).val()); }); // تمرير لون المرياج $(".color_select_thread option:selected").each(function() { let text = $(this).text(); if(text.indexOf(text) >= 0 && colorSelect.indexOf(text) < 0) { colorSelect.push(text); } else if(text.indexOf(text) < 0 && colorSelect.indexOf(text) >= 0) { colorSelect.splice(colorSelect.indexOf(text) , 1); } // colorSelect.push($(this).text()); }); console.log(threads); $.ajax({ url: "requests/ordersAddAccessories.php", dataType: 'text', data: { "action": "add_threads", "order": <?php echo $order_id; ?>, "threads": threads, "colorSelect": colorSelect, }, type: 'post', success: function(data) { if (data == "done") { Swal.fire({ icon: 'success', title: 'تمت الاضافة بفضل الله - قم بتحديث الصفحة بعد الانتهاء', confirmButtonText: 'حسنا', showCloseButton: true }).then((result) => { if (result.isConfirmed) { location.reload(); } }) console.log(data); } else { Swal.fire({ icon: 'error', title: 'حدث خطأ حاول مجددا', confirmButtonText: 'حسنا', showCloseButton: true }); console.log(data); } } }); } form.classList.add('was-validated'); }, false); }); }, false); })(); </script> كود الباك ايند $order = $_POST['order']; $colorSelect = $_POST['colorSelect']; $threads = $_POST['threads']; $hadr = $_POST['hadr']; $last = $_POST['last']; $colorNumber = $_POST['colorNumber']; $countPiece = $_POST['countPiece']; $total = $_POST['total']; // $result = $conn->query("DELETE FROM order_threads WHERE order_id='$order'"); for ($i =0; $i < count($threads); $i++){ // لتكرار القائمة حسب اختيار المستخدم foreach ($colorSelect AS $meriag){ //دالة التكرار لادخال بيانات القائمة المتعددة الاختيار $result = $conn->query("INSERT INTO order_threads( order_id, thread_id, color_select, colorNumber_input, countPiece, total, hadr, egmaly ) VALUES( '$order', '$threads[$i]', '$meriag', '$colorNumber[$i]', '$countPiece[$i]', '$total[$i]', '$hadr[$i]', '$last[$i]' )"); } } $result2 = $conn->query("UPDATE orders SET thread=1 WHERE id='$order'"); if ($result2){ echo 'done'; } اين الخطأ الذي وقعت فيه ؟ و لكم خالص الشكر
  22. جواب حضرتك فيه الحل استاذي ، فعلا لم انتبه للمسار ، المسار و الملف ليسوا ضمن نفس المستوى و قمت بتعديل الكود كالتالي $image = $get['image']; $location = '../assets/images/common_cloth_composition/'.$image; //$location = __DIR__ . '/assets/images/common_cloth_composition/'.$image; if (file_exists($location)) { echo '<img style="max-height: 50px !important; margin: 0 auto;" src="assets/images/common_cloth_composition/'. $image .' " alt="#">'; } else { echo '<img class="img-thumbnail" style="width: 60px" src="assets/images/noImage.png" alt="">'; } ?> شكرا جزيلا لك
  23. البروجكت عمل معي بشكل طبيعي شاهد الفيديو المرفق 2022-05-29_16-41-04.mp4
  24. سلام عليكم الصورة موجودة بالفعل داخل المكان المقرر في لكن عند تنفيذ الكود تلقائيا يذهب بي للاستثناء else مع ان الشرط متحقق و الصورة موجودة في مكانها و لما شلت الif condition اشتغلت عادي جدا <?php $image = $get['image']; $location = '/assets/images/common_cloth_composition/'.$image; if (file_exists($location)) { echo '<img style="max-height: 150px !important; margin: 0 auto;" src="assets/images/common_cloth_composition/'. $image .' " alt="#">'; } else { echo '<img class="img-thumbnail" style="width: 60px" src="assets/images/noImage.png" alt="">'; } ?> اين الخطأ ؟
  25. لا مشكلة نهائيا في الكود ممكن تشارك رابط الموقع الذي تتدرب عليه
×
×
  • أضف...