Witam, mam mały kłopot z pobraniem przez skrypt zmiennej zawartej w pętli WHILE (dane z bazy SQL). Wiem jak zawrzeć zmienną z PHP w skrypcie - jednak jest to zmienna stała, a ja chciałbym by była to zmienna, która wynika z obliczeń z danego wiersza w tabeli SQL. Celem jest zliczanie w czasie rzeczywistym dodanych w inputach wartości z wartościami zawartymi w zmiennych z pojedynczych wierszy.Poniżej przedstawiam przykład:
// pętla
while($r = mysql_fetch_object($wynik)) {
// sumowanie i zlicznie wartości zawartych w tabeli SQL
$godziny_pracy = mysql_result(mysql_query("SELECT SUM(hours) FROM a_karta WHERE type='P' AND user LIKE '$user'"),0);
$nadgodziny = mysql_result(mysql_query("SELECT SUM(uphours) FROM a_karta WHERE type='P' AND user LIKE '$user'"),0);
$l4 = mysql_result(mysql_query("SELECT SUM(khours) FROM a_karta WHERE kind='L4' AND user LIKE '$user'"),0) / 10000;
$urlop = mysql_result(mysql_query("SELECT SUM(khours) FROM a_karta WHERE kind LIKE '%U%' AND user LIKE '$user'"),0) / 10000;
$dpopoludniowy = mysql_result(mysql_query("SELECT SUM(dnight) FROM a_karta WHERE user LIKE '$user'"),0);
$dweekendowy = mysql_result(mysql_query("SELECT SUM(dweek) FROM a_karta WHERE user LIKE '$user'"),0) / 2;
$sum_inne = mysql_result(mysql_query("SELECT COUNT(kind) FROM a_karta WHERE kind ='IN' AND MONTH(date) = '$date_month' AND YEAR(date) = '$date_year' AND user LIKE '$user'"),0);
$sum_duty = mysql_result(mysql_query("SELECT COUNT(duty) FROM a_karta WHERE duty ='TAK' AND MONTH(date) = '$date_month' AND YEAR(date) = '$date_year' AND user LIKE '$user'"),0);
$sum_dnight = mysql_result(mysql_query("SELECT COUNT(dnight) FROM a_karta WHERE dnight ='1' AND MONTH(date) = '$date_month' AND YEAR(date) = '$date_year' AND user LIKE '$user'"),0);
$sum_dweek = mysql_result(mysql_query("SELECT COUNT(dweek) FROM a_karta WHERE dweek ='1' AND MONTH(date) = '$date_month' AND YEAR(date) = '$date_year' AND user LIKE '$user'"),0);
// obliczenia z danych pobranych i wyliczonych z tabeli SQL
$obliczenia_godziny = $godziny_pracy*$stawka;
$obliczenia_nadgodziny = $nadgodziny*1.5*$stawka;
$obliczenia_urlopy = $urlop*$stawka;
$obliczenia_l4 = $l4*0.8*$stawka;
$premia = 0;
$obliczenia_premia = ($premia/100)*($obliczenia_godziny+$obliczenia_nadgodziny);
$obliczenia_dpopołudniowy = $dpopoludniowy*50;
$obliczenia_dweekendowy = $dweekendowy*200;
$obliczenia_razem = $obliczenia_godziny + $obliczenia_nadgodziny + $obliczenia_urlopy + $obliczenia_l4 + $obliczenia_premia + $obliczenia_dpopołudniowy + $obliczenia_dweekendowy;
//Wyniki
echo '<tr class="second">';
echo '<td></td>';
echo '<td></td>';
echo '<td>'.money_format('%.2n', $obliczenia_godziny).' zł</td>';
echo '<td>'.money_format('%.2n', $obliczenia_nadgodziny).' zł</td>';
echo '<td>'.money_format('%.2n', $obliczenia_urlopy).' zł</td>';
echo '<td>'.money_format('%.2n', $obliczenia_l4).' zł</td>';
echo '<td>'.money_format('%.2n', $obliczenia_premia).' zł</td>';
echo '<td>'.money_format('%.2n', $obliczenia_dpopołudniowy).' zł</td>';
echo '<td>'.money_format('%.2n', $obliczenia_dweekendowy).' zł</td>';
echo '<td><input type="number" min="0.00" max="1000000.00" step="0.01" id="uznaniowa'.$r->id.'" name="uznaniowa"/> zł</td>';
echo '<td><input id="results'.$r->id.'" value="" name="razem"/></td>';
echo '<td>'.money_format('%.2n', $obliczenia_nakonto).' zł</td>';
echo '<td>'.money_format('%.2n', $obliczenia_ubezpieczenie).' zł</td>';
echo '<td>'.money_format('%.2n', $obliczenia_inne).' zł</td>';
echo '<td>'.money_format('%.2n', $obliczenia_doreki).' zł</td>';
echo '</tr>';
echo '<tr class="last">';
echo '</tr>';
echo '</main>';
}
Do tego mam skrypt, którego zadaniem jest wyliczanie w czasie rzeczywistym sumy: $obliczenia_razem oraz wartości pobranej z inputa o id="uznaniowa". Przykład kodu:
<script>
var razem1 = <?php echo json_encode($obliczenia_razem); ?>;
document.getElementById('uznaniowa').addEventListener('input', e => {
document.getElementById('results').value = e.target.value/1 + razem1/1;
});
</script>
Proszę pomóżcie :), każda odpowiedź będzie dla mnie niezmiernie cenna. Z góry dziękuję