Shamma Mohammed نشر 8 مارس 2022 أرسل تقرير نشر 8 مارس 2022 السلام عليكم المشكلة : الكود عباره عن تحديث كمية المنتج في الشوبنق كارت السعر يظهر بشكل نص لذلك لايمكنني ادخاله الى قاعدة البيانات بستخدام php و mysql المطلوب : اريد تحويل كود الجافاسكربت الى php كي استطيع ادخال ال grand total الى قاعدة البيانات او اذا كان يوجد طريقة اخرى شكرا كود php بالمختصر <table> <thead> <th><h6>Price</h6></th> <th><h6>quantity</h6></th> <th><h6>total</h6></th> <th><h6>grand total</h6></th> </thead> <tbody> <td>$<?php echo $row['price']; ?><input type="hidden" class="iprice" value="<?php echo $row['price']; ?>"></td> <td><input type="number" min="1" max="10" name="quantity" class="iquantity" onchange="subTotal()" value="1"> </td> <td class="itotal"></td> <td><h6 id="gtotal"></h6></td> </tbody> </table> كود جافاسكربت var gt=0; var iprice=document.getElementsByClassName('iprice'); var iquantity=document.getElementsByClassName('iquantity'); var itotal=document.getElementsByClassName('itotal'); var gtotal=document.getElementById('gtotal'); function subTotal() { gt=0; for ( i = 0; i < iprice.length; i++) { itotal[i].innerText=(iprice[i].value)*(iquantity[i].value); gt=gt+(iprice[i].value)*(iquantity[i].value); } gtotal.innerText=gt; } subTotal(); 1 اقتباس
1 Sam Ahw نشر 8 مارس 2022 أرسل تقرير نشر 8 مارس 2022 إن كود الجافاسكريبت يتم تنفيذه والتعامل معه من طرف المستخدم أي متصفح الويب، أما كود PHP فهو من طرف خادم الويب والذي بدوره يستقبل البيانات من المستخدم ويتعامل مع قاعدة البيانات. ومع أن الكود لكل منهما موجود في نفس الملف الذي يقوم المبرمج بكتابته أحياناً لذلك لتوضيح الأمر يمكنك اعتبار أن كل من PHP و الجافاسكريبت لا يمكنهم الوصول إلى نفس المتغيرات بشكل مباشر، بل يتم ذلك من خلال مرحلتين: إما عند تحميل الصفحة من الخادم، بحيث يتم إرسال قيم معيّنة من PHP إلى طرف المستخدم وبالتالي الوصول إليها من خلال الجافاسكريبت. أو من خلال إرسال طلبات HTTP (GET, POST, PUT, DELETE) من طرف المستخدم (أي الجافاسكريبت) إلى خادم الويب PHP. والتي تكون أحياناً على هيئة نماذج forms وحقول إدخال أو باستخدام fetch,axios من الجافاسكريبت. لذلك لا يمكنك بشكل مباشر الوصول إلى القيم الموضوعة بواجهة المستخدم أو تحويل كود جافاسكريبت نفسه إلى PHP بل يجب إرسال القيم المراد تخزينها في قاعدة البيانات إلى طرف الخادم وذلك يختلف تطبيقه في حال كنت تستعمل أطر عمل من طرف الخادم أو مكتبات أخرى والمكان الذي تقوم بحفظ بيانات السلة فيه (في بعض الأحيان ضمن الجلسة session أو التخزين المحلي في المتصفح Local Storage). بتاريخ 4 ساعات قال ellylalla: السعر يظهر بشكل نص لذلك لايمكنني ادخاله الى قاعدة البيانات يوجد عدّة طرق لتحويل النص string إلى int ومنها: $num = "30"; $int = (int)$num; أو في حال كان الرقم من نمط double: $num = (double) "10.12"; مثال عام للتعامل مع الجلسات عند التعامل مع بيانات السلة في PHP: <?php //POST عندما يقوم المستخدم بالضغط على زر إضافة إلى السلة يتم إرسال طلب if (isset($_POST['product_id'], $_POST['quantity']) && is_numeric($_POST['product_id']) && is_numeric($_POST['quantity'])) { $product_id = (int)$_POST['product_id']; //الرقم المعرّف للمنتج الموجود في قاعدة البيانات $quantity = (int)$_POST['quantity']; // الكمية التي تم اختيارها من المنتج $stmt = $pdo->prepare('SELECT * FROM products WHERE id = ?'); $stmt->execute([$_POST['product_id']]); //جلب بيانات المنتج من قاعدة البيانات $product = $stmt->fetch(PDO::FETCH_ASSOC); //التحقق من أن كمية المنتج متاحة (اختياري) if ($product && $quantity > 0) { if (isset($_SESSION['cart']) && is_array($_SESSION['cart'])) { if (array_key_exists($product_id, $_SESSION['cart'])) { //في حال كان المنتج موجود مسبقاً في السلة $_SESSION['cart'][$product_id] += $quantity; $_SESSION['total'] = $product['price'] * $quantity; //حساب السعر } else { // إضافة منتج جديد للسلة في حال لم يكن موجوداً $_SESSION['cart'][$product_id] = $quantity; $_SESSION['total'] = $product['price'] * $quantity; //حساب السعر } } else { $_SESSION['cart'] = array($product_id => $quantity); } } } واعتبرنا في هذا المثال أنك تستخدم الجلسة نفسها بين الخادم ومتصفح الويب لحفظ الجلسة، ولكن بطريقة مشابهة يمكنك استخدام $_POST مثلاً في حال طلبات HTTP المباشرة أو إرسال نموذج form مباشر. يمكنك أيضاً البحث أكثر عن طرق إرسال واستقبال البيانات بين جافاسكريبت وطرف الخادم PHP على الانترنت وتطبيق الطرق التي تلائم حاجتك والتقنيات التي تستخدمها في مشروعك. 1 اقتباس
السؤال
Shamma Mohammed
السلام عليكم
المشكلة : الكود عباره عن تحديث كمية المنتج في الشوبنق كارت السعر يظهر بشكل نص لذلك لايمكنني ادخاله الى قاعدة البيانات بستخدام php و mysql
المطلوب : اريد تحويل كود الجافاسكربت الى php كي استطيع ادخال ال grand total الى قاعدة البيانات او اذا كان يوجد طريقة اخرى
شكرا
كود php بالمختصر
كود جافاسكربت
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.