arkadaşlar aşağıdaki kodda mdf_esfiyat, tutkal, iscilik ve kar2 belirli formüllerle sonuç alıyor.. en alttaki ham_fiyat alanındaki formül aslında çalışıyor. ama mdf_esfiyat, tutkal, iscilik ve kar2 değerlerini manuel değiştirmeden hesaplamayı göstermiyor. değer yokmuş gibi görüyor sanırım. nasıl düzeltebilirim..
<?php
// Veritabanı bağlantısı için gerekli dosyayı dahil edin
include 'db.php';
// Veritabanından mdf_name sütunundaki değerleri getir
$sql = "SELECT mdf_name FROM mdf";
$result = mysqli_query($conn, $sql);
// Profil ölçüsü sayısal giriş kutusu
echo '<tr><td><label for="profil_olcu">PROFİL ÖLÇÜSÜ:</label></td>';
echo '<td><input type="number" name="profil_olcu" id="profil_olcu" min="0" step="0.000001" value="" oninput="hesaplakesim()"></td></tr>';
// MDF KALINLIK açılır kutusu oluştur
echo '<table>';
echo '<tr><td><label for="mdf-select">MDF KALINLIK:</label></td>';
echo '<td><select id="mdf-select">';
while ($row = mysqli_fetch_assoc($result)) {
echo "<option value='" . $row['mdf_name'] . "'>" . $row['mdf_name'] . "</option>";
}
echo "</select></td></tr>";
// Veritabanından pvc_name sütunundaki değerleri getir
$sql = "SELECT pvc_name FROM pvc";
$result = mysqli_query($conn, $sql);
// PVC Desen açılır kutusu oluştur
echo '<tr><td><label for="pvc-select">PVC Desen:</label></td>';
echo '<td><select id="pvc-select">';
echo '<option value="">Seçiniz</option>'; // Seçiniz değeri eklendi
while ($row = mysqli_fetch_assoc($result)) {
echo "<option value='" . $row['pvc_name'] . "'>" . $row['pvc_name'] . "</option>";
}
echo '</select></td></tr>';
// PVC Ölçü sayısal giriş kutusu
echo '<tr><td><label for="pvc_olcu">PVC ÖLÇÜSÜ:</label></td>';
echo '<td><input type="number" name="pvc_olcu" id="pvc_olcu" min="0" step="0.01" value="" oninput="hesaplapvcolcu()"></td></tr>';
// Kesim sayısal giriş kutusu
echo '<tr><td><label for="kesim">KESİM:</label></td>';
echo '<td><input type="number" name="kesim" id="kesim" min="0" step="0.000001" value="" readonly></td></tr>';
// JavaScript kodu
echo '<script>
function hesaplakesim() {
var profil_olcu = parseFloat(document.getElementById("profil_olcu").value);
var kesim = 2100 / (profil_olcu + 5);
document.getElementById("kesim").value = kesim.toFixed(6);
// Profil Adet hesaplaması
var profil_adet = Math.ceil(kesim);
document.getElementById("profil_adet").value = profil_adet.toFixed(0);
}
document.getElementById("profil_olcu").addEventListener("input", hesaplakesim);
</script>';
// Profil Adet giriş kutusu
echo '<tr><td><label for="profil_adet">PROFİL ADET:</label></td>';
echo '<td><input type="number" name="profil_adet" id="profil_adet" min="0" step="1" value="" ></td></tr>';
// Kur input alanı
echo '<tr><td><label for="kur">Kur:</label></td>';
echo '<td><input type="number" name="kur" id="kur" placeholder="Kur değerini girin" value="22" oninput="hesaplakur()" onchange="pvcSelect.dispatchEvent(new Event(\'change\'));"></td></tr>';
echo '</table>';
echo '<br><br>';
// PVC FİYATINI OTOMATİK GETİRME
echo '<label for="pvc-price">PVC fiyatı:</label>';
echo '<input type="number" name="pvc-price" id="pvc-price" step="0.01" readonly>';
echo '</table>';
echo '<br><br>';
// PVC FİYATINI OTOMATİK TL GETİRME
echo '<label for="sonuc">PVC TL fiyatı:</label>';
echo '<input type="number" name="sonuc" id="sonuc" step="0.01" >';
// JavaScript kodu
echo "<script>";
echo "const pvcSelect = document.querySelector('#pvc-select');";
echo "const kurInput = document.querySelector('#kur');";
echo "const pvcPriceInput = document.querySelector('#pvc-price');";
echo "const sonucInput = document.querySelector('#sonuc');"; // Sonuç kutusu seçildi
echo "pvcSelect.addEventListener('change', () => {";
echo "const selectedpvc = pvcSelect.value;";
echo "fetch('get_mdf_price.php?pvc_name=' + selectedpvc)";
echo ".then(response => response.text())";
echo ".then(data => {";
echo "const pvcPrice = parseFloat(data);";
echo "pvcPriceInput.value = pvcPrice;";
echo "const kurValue = parseFloat(kurInput.value);";
echo "if (!isNaN(kurValue)) {";
echo "const sonuc = pvcPrice * kurValue;";
echo "sonucInput.value = sonuc;"; // Sonuç kutusuna sonucu yazdır
echo "} else {";
echo "sonucInput.value = '';"; // Kur değeri sayısal bir değer değilse sonuç kutusunu boş bırak
echo "}";
echo "});";
echo "});";
echo "</script>";
echo '<table>';
echo '<br><br>';
// MDF FİYATINI OTOMATİK GETİRME
echo "<tr><td><label for='mdf-price-result'>MDF fiyat:</label></td>";
echo "<td><input type='text' name='mdf-price-result' id='mdf-price-result' ></td></tr>";
echo "<script>";
echo "const mdfSelect = document.querySelector('#mdf-select');";
echo "mdfSelect.addEventListener('change', () => {";
echo "const selectedMdf = mdfSelect.value;";
echo "fetch('get_mdf_price.php?mdf_name=' + selectedMdf)";
echo ".then(response => response.text())";
echo ".then(data => {";
echo "const mdfPriceResult = document.querySelector('#mdf-price-result');";
echo "mdfPriceResult.value = parseFloat(data) + ' TL';";
echo "const profilAdet = document.querySelector('#profil_adet').value;";
echo "const mdfEsfiyatInput = document.querySelector('#mdf_esfiyat');";
echo "mdfEsfiyatInput.value = parseFloat(profilAdet) / parseFloat(data);";
echo "})";
echo "});";
echo "</script>";
// MDF 280 boy sayısal giriş kutusu
echo '<tr><td><label for="mdf_esfiyat">MDF 280 BOY:</label></td>';
echo '<td><input type="number" name="mdf_esfiyat" id="mdf_esfiyat" min="0" step="0.000001" value="" ></td></tr>';
// JavaScript kodu
echo '<script>
function hesaplamdfesfiyat() {
var profil_adet = parseFloat(document.getElementById("profil_adet").value);
var mdfFiyat = parseFloat(document.getElementById("mdf-price-result").value);
var mdf_esfiyat = profil_adet / mdfFiyat;
document.getElementById("mdf_esfiyat").value = mdf_esfiyat.toFixed(2);
}
document.getElementById("profil_adet").addEventListener("input", hesaplamdfesfiyat);
document.getElementById("mdf-price-result").addEventListener("input", hesaplamdfesfiyat);
</script>';
echo '<tr><td><label for="kar2">KAR:</label></td>';
echo '<td><input type="number" name="kar2" id="kar2" min="0" step="0.01" value="1.2"></td></tr>';
// tutkal sayısal giriş kutusu
echo '<tr><td><label for="tutkal">TUTKAL:</label></td>';
echo '<td><input type="number" name="tutkal" id="tutkal" min="0" step="0.01" value="" ></td></tr>';
// JavaScript kodu
echo '<script>
function hesaplatutkal() {
var pvc_olcu = parseFloat(document.getElementById("pvc_olcu").value);
var kur = parseFloat(document.getElementById("kur").value);
var tutkal = pvc_olcu / 1000 * 0.06 * 9.1 * 1.18 * kur * 2.80;
document.getElementById("tutkal").value = tutkal.toFixed(6);
}
document.getElementById("pvc_olcu").addEventListener("input", hesaplatutkal);
document.getElementById("kur").addEventListener("input", hesaplatutkal);
</script>';
// İşçilik için hesaplama adını veritabanından çek
$query = "SELECT hesaplama_formul FROM hesaplama WHERE hesaplama_adi = 'iscilik'";
$result = mysqli_query($conn, $query);
$row = mysqli_fetch_assoc($result);
// İşçilik hesaplama formülünü input alanına yazdır
echo '<tr><td><label for="iscilik">İŞÇİLİK</label></td>';
echo '<td><input type="number" name="iscilik" id="iscilik" min="0" step="0.5" value="'.htmlspecialchars($row['hesaplama_formul']).'" ></td></tr>';
// Üretim maliyeti, kar ve nakit fiyat tablosu
echo '<tr><td><label for="uretim_maliyeti">ÜRETİM MALİYETİ:</label></td>';
echo '<td><input type="number" name="uretim_maliyeti" id="uretim_maliyeti" min="0" step="0.01" value="" ></td></tr>';
echo '<tr><td><label for="nakit_fiyat">NAKİT FİYAT:</label></td>';
echo '<td><input type="number" name="nakit_fiyat" id="nakit_fiyat" min="0" step="0.01" value=""></td></tr>';
echo '<tr><td><label for="vadeli_fiyat">VADELİ FİYAT:</label></td>';
echo '<td><input type="number" name="vadeli_fiyat" id="vadeli_fiyat" min="0" step="0.01" value="" ></td></tr>';
// Hesaplamalar için JavaScript kodu
echo '<script>
function hesaplauretimmaliyeti() {
var pvc_olcu = parseFloat(document.getElementById("pvc_olcu").value);
var kur = parseFloat(document.getElementById("kur").value);
var tutkal = parseFloat(document.getElementById("tutkal").value);
var mdf_esfiyat = parseFloat(document.getElementById("mdf_esfiyat").value);
var pvc_price = parseFloat(document.getElementById("sonuc").value);
var uretim_maliyeti = tutkal + mdf_esfiyat + pvc_price;
document.getElementById("uretim_maliyeti").value = uretim_maliyeti.toFixed(6);
document.getElementById("nakit_fiyat").value = (uretim_maliyeti * parseFloat(document.getElementById("kar2").value)).toFixed(6);
document.getElementById("vadeli_fiyat").value = (uretim_maliyeti * parseFloat(document.getElementById("kar2").value) * 1.30).toFixed(6);
document.getElementById("fiyatlas").value = ((parseFloat(document.getElementById("nakit_fiyat").value) / 2.8) * 1.05 * 2.10).toFixed(6);
document.getElementById("mdf_esfiyat").addEventListener("input", hesaplauretimmaliyeti);
document.getElementById("sonuc").addEventListener("input", hesaplauretimmaliyeti);
}
document.getElementById("pvc_olcu").addEventListener("input", hesaplauretimmaliyeti);
document.getElementById("kur").addEventListener("input", hesaplauretimmaliyeti);
document.getElementById("tutkal").addEventListener("input", hesaplauretimmaliyeti);
document.getElementById("mdf_esfiyat").addEventListener("input", hesaplauretimmaliyeti);
document.getElementById("sonuc").addEventListener("input", hesaplauretimmaliyeti);
document.getElementById("kar2").addEventListener("input", hesaplauretimmaliyeti);
document.getElementById("nakit_fiyat").addEventListener("input", hesaplauretimmaliyeti);
</script>';
// 2100 mm FİYAT sayısal giriş kutusu
echo '<tr><td><label for="fiyatlas">2100 mm FİYAT:</label></td>';
echo '<td><input type="number" name="fiyatlas" id="fiyatlas" min="0" step="0.000001" value="" readonly></td></tr>';
echo '<script>
function hesaplaFiyatlas() {
var nakit_fiyat = parseFloat(document.getElementById("nakit_fiyat").value);
var fiyatlas = nakit_fiyat / 2.8 * 1.05 * 2.10;
document.getElementById("fiyatlas").value = fiyatlas.toFixed(6);
}
document.getElementById("nakit_fiyat").addEventListener("input", hesaplaFiyatlas);
</script>';
// Ham Fiyat sayısal giriş kutusu
echo '<tr><td><label for="ham_fiyat">HAM FİYAT:</label></td>';
echo '<td><input type="number" name="ham_fiyat" id="ham_fiyat" min="0" step="0.01" value="" ></td></tr>';
// JavaScript kodu
echo '<script>
function hesaplahamfiyat() {
var mdf_esfiyat = parseFloat(document.getElementById("mdf_esfiyat").value);
var tutkal = parseFloat(document.getElementById("tutkal").value);
var iscilik = parseFloat(document.getElementById("iscilik").value);
var kar2 = parseFloat(document.getElementById("kar2").value);
var ham_fiyat = (mdf_esfiyat + tutkal + iscilik) * kar2;
document.getElementById("ham_fiyat").value = ham_fiyat.toFixed(6);
}
document.addEventListener("DOMContentLoaded", hesaplahamfiyat);
document.getElementById("tutkal").addEventListener("input", hesaplahamfiyat);
document.getElementById("iscilik").addEventListener("input", hesaplahamfiyat);
document.getElementById("kar2").addEventListener("input", hesaplahamfiyat);
</script>';
// Veritabanı bağlantısını kapatın
mysqli_close($conn);