سلام عليكم
ليكن مثلا عندي متغير
conn
و متغير connWidth
و عاوز اعمل بينهم حاصل جمع او ضرب ( اي عملية حسابية )
العملية بتتم كويس جدا لو دخلت رقم صحيح في خانة
و صحيح او كسور في خانة تانية
و العكس صحيح
لكن لما بكتب كسور في الخانتين ما بيدنيش حاجة
ايه السبب
<?php
include("includes/db.php");
$title = "معدل إستهلاك خيط الحياكة";
?>
<!doctype html>
<?php include("includes/head.php"); ?>
<?php include("includes/loader.php"); ?>
<div class="app-container app-theme-white body-tabs-shadow fixed-sidebar fixed-header">
<?php include("includes/app-header.php"); ?>
<?php include("includes/ui-theme-settings.php"); ?>
<div class="app-main">
<?php include("includes/sidebar.php"); ?>
<div class="app-main__outer">
<div class="app-main__inner">
<div class="app-page-title">
<div class="page-title-wrapper">
<div class="page-title-heading">
<div class="page-title-icon">
<i class="pe-7s-network icon-gradient bg-mean-fruit">
</i>
</div>
<div>معدل إستهلاك خيط الحياكة
<div class="page-title-subheading">
</div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-12">
<form class="needs-validation" action="javascript:added(); return false;" novalidate>
<div class="main-card mb-3 card">
<div class="card-body">
<h3 class="card-title">معدل إستهلاك خيط الحياكة</h3>
<div class="form-row">
<div class="col-12 alerts"></div>
<div class="col-6">
<label>رقم الغرزة</label>
<input type="value" class="form-control by-code" placeholder="رقم الغرزة">
</div>
<div class="col-6">
<label>الغرزة</label>
<select class="form-control conns">
<?php
$result = $conn->query("SELECT * FROM stitch");
while ($row = $result->fetch_assoc()) {
echo '<option value="' . $row['id'] . '">' . $row['name'] . '</option>';
}
?>
</select>
</div> <!-- Un-neded
<div class="col-12">
<label>طول الحياكة بالسم</label>
<input type="number" class="form-control knitting" placeholder="">
</div>
<div class="col-12">
<label>عرض الحياكة بالسم</label>
<input type="number" class="form-control width" placeholder="">
</div> -->
<div class="col-12">
<label>طول الغرزة الواحدة بالسم</label>
<input type="number" class="form-control conn" placeholder="">
</div>
<div class="col-12">
<label>سمك القماش بالسم</label>
<input type="value" class="form-control cloth" placeholder="">
</div>
<div class="col-12">
<label>عدد الغرز بالمتر</label>
<input type="value" class="form-control conNum" readonly>
</div>
<div class="col-12">
<label>عرض الغرزة</label>
<input type="value" class="form-control connWidth" placeholder="">
</div>
<div class="col-12">
<label>عدد طبقات الوصلة</label>
<input type="value" class="form-control layer" placeholder="">
</div>
<div class="col-12">
<label>طول الخيط المستهلك في المتر الطولي/سم</label>
<input type="number" class="form-control result" readonly>
</div>
<div class="col-12">
<div class="form-row">
<button class="btn btn-success center-submit" type="submit">تأكيد</button>
</div>
</div>
</div>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
<?php include("includes/footer.php"); ?>
</div>
<?php include("includes/js.php"); ?>
<script src="./assets/scripts/Vibrant.min.js"></script>
<script src="./assets/scripts/pms.js"></script>
<script>
(function() {
'use strict';
window.addEventListener('load', function() {
var forms = document.getElementsByClassName('needs-validation');
var validation = Array.prototype.filter.call(forms, function(form) {
form.addEventListener('submit', function(event) {
if (form.checkValidity() === false) {
event.preventDefault();
event.stopPropagation();
} else {
$.ajax({
url: "functions/addConsumption.php",
dataType: 'text',
data: {},
type: 'post',
success: function(data) {
if (data == "done") {
Swal.fire({
icon: 'success',
title: 'تمت الإضافة بنجاح',
confirmButtonText: 'حسنا',
showCloseButton: true
}).then((result) => {
if (result.isConfirmed) {
location.reload();
}
})
} else {
Swal.fire({
icon: 'error',
title: 'حدث خطأ حاول مجددا',
confirmButtonText: 'حسنا',
showCloseButton: true
});
console.log(data);
}
}
});
}
form.classList.add('was-validated');
}, false);
});
}, false);
})();
function added() {}
$(".by-code").keyup(function() {
var val = $(".conns option:contains('"+$(this).val()+"')").val();
$(".conns").val(val);
if ($(".conns").val(val)) {
$(".alerts").html("");
} else {
$(".alerts").html('<div class="alert alert-warning" role="alert">تأكد من رقم الغرزة</div>');
}
});
$(".conn").keyup(function(){
var val = $(this).val();
$(".conNum").val(100/val);
});
$("form input").keyup(function(){
var conn = $(".conn").val(),
cloth = $(".cloth").val(),
width = $(".width").val(),
conNum = $(".conNum").val(),
conns = $(".conns option:selected").html(),
connWidth = $(".connWidth").val();
if(conns=="601"){
var result = 7+((4*conNum)*(connWidth+cloth));
}else if(conns=="602"){
var result = 8+((conNum*(5*connWidth))+(4*cloth));
}else if(conns=="603"){
var result = 9+((4*conNum)*(connWidth+cloth));
}else if(conns=="604"){
var result = 11+((2*conNum)*(2*connWidth)+(3*cloth));
}else if(conns=="605"){
var result = 10+((2*conNum)*((2*connWidth)+(3*cloth)));
}else if(conns=="606"){
var result = (4+((7*conn)+(4*cloth)+(2*width)))*conNum;
}else if(conns=="607"){
var result = (4+((7*conn)+(4*cloth)+(2*width)))*conNum;
}else if(conns=="501"){
var result = conNum*(Math.sqrt(Math.pow(conn,2)+Math.pow((2*connWidth+2*cloth),2))+conn);
}else if(conns=="502"){
var result = 4*conNum*connWidth+cloth+2;
}else if(conns=="503"){
var result = 4*conNum*connWidth+cloth+2;
}else if(conns=="504"){
var result = 4*conNum*connWidth+cloth+5;
}else if(conns=="505"){
var result = 4*conNum*connWidth+cloth+5;
}else if(conns=="506"){
var result = 5+6*cloth*conNum+4*connWidth*conNum;
}else if(conns=="512"){
var result = 5+2*conNum*3*cloth+2*connWidth-conn*conNum;
}else if(conns=="301"){
var preresult = (2*conn+2*cloth)*conNum;
var result = preresult.toFixed(2);
}else if(conns=="302"){
var result = 3+(2*conNum)*((2*cloth)+connWidth);
}else if(conns=="303"){
var result = 4+(2+conNum)*(3*cloth)+connWidth;
}else if(conns=="304"){
var f1 = Math.pow(connWidth,2);
var f2 = Math.pow(conn,2);
var f3 = f1+f2;
var f4 = Math.sqrt(f3)+salma;
var f5 = 2*(conNum)*(f4);
var result = f5.toFixed(2);
}else if(conns=="305"){
var result = conNum*(Math.sqrt((Math.pow(connWidth,2))+(Math.pow(conn,2)))+4*cloth+2*connWidth);
}
else {
var result = "1";
console.log();
}
$(".result").val(result);
});
</script>
هل يمكنك التوضيح من خلال إعطاء مثال؟
وفي أي جزء تتوقع وجود المشكلة، يوجد الكثير من الحسابات ..
ربما أنت تقوم بحساب النسبة الأولى بشكل خاطئ مثلا ..
لتحل المشكلة بنفسك أقترح عليك طباعة console.log عند حساب أي قيمة كانت ..
console.log("calc x :" + x / 100);
console.log("calc f1 :" + f1);
console.log("502 :" + ...);
بعد حساب أي متحول أو حفظ قيمته اكتب ضمن الدالة ما يعبر عن العملية ثم تتبع الشيفرة البرمجية وقم بالتعديل المناسب
مع طباعة معلومات تسهل عملية تحديد المتحول في البرنامج و تعبر عن أي جزء في البرنامج أنت تستخدم.
حتى يساعد أحد بشكل أفضل، عليك توضيح المشلة بشكل أفضل و شرح بسيط عن المنطق الرياضي المستخدم
بالتوفيق
التعليقات