Waarde uit javascript opslaan in mysql database
Ik wil graag de waarde total_price opslaan in databasetabel order, kolom total_price.
Hoe kan ik dat doen?
<script type="text/javascript">
$(document).ready(function() {
$('.order_count').on('input', function() {
$('#total_price').html(0);
$('.order_count').each(function( index ) {
var current_value = $(this).val();
var cost_price = $(this).attr('data-cost-price');
var unit = $(this).attr('data-unit');
var stripped_cost_price = cost_price.replace(/\u20ac/g, '');
var stripped_cost_price = stripped_cost_price.replace(',-', ',00');
var stripped_cost_price = stripped_cost_price.replace(',', '.');
unit = unit > 0 ? unit : 1;
if(current_value != "" && current_value > 0)
{
var sub_total = (parseFloat(current_value) * parseFloat(stripped_cost_price)) * unit;
var current_total = $('#total_price').html();
var current_total = current_total.replace(/\u20ac/g, '');
var current_total = current_total.replace(',-', ',00');
var current_total = current_total.replace(',', '.');
if(current_total != "" && current_total > 0)
{
var current_total_float = parseFloat(current_total);
var sub_total_float = parseFloat(sub_total);
var sub_total = current_total_float + sub_total_float;
var current_total = $('#total_price').html(parseFloat(sub_total));
}
else
{
var current_total = $('#total_price').html(parseFloat(sub_total));
}
}
});
var rounded_total = $('#total_price').html();
var float_total = parseFloat(rounded_total).toFixed(2);
$('#total_price').html('€ '+float_total);
if(rounded_total > 200)
{
$('#shipment_message').html('U heeft het minimum bedrag voor franco levering bereikt!')
}
else{
$('#shipment_message').html('Franco levering vanaf €200,00');
}
});
$(window).keydown(function(event){
if(event.keyCode == 13) {
event.preventDefault();
return false;
}
});
});
</script>
PS: hoe zorg ik ervoor dat bovenstaande netjes wordt weergegeven?
Alvast bedankt!
Gewijzigd op 18/11/2017 10:08:59 door Willem van Strien
Dit kan met AJAX. Jquery heeft hier een speciale .ajax() functie voor.
Ik ga je alleen wel even een waarschuwing geven.
Je moet de prijzen nooit laten bepalen door de client. Als alles klopt dan staan de artikelprijzen in je database (op de server). Laat de client alleen selecteren welke producten hij wil en hoeveel. Het enigste wat je dus ook terugstuurt naar de server is het artikel_id en het aantal. Vervolgens maak je de rekensom altijd (nog een keer) op de server. Het totaalbedrag kun je gerust met behulp van javascript aan de gebruiker tonen maar je mag nooit het totaalbedrag terugsturen naar de server en dan klakkeloos aannemen dat het wel zal kloppen.
Gewijzigd op 18/11/2017 10:32:57 door Frank Nietbelangrijk
Frank Nietbelangrijk op 18/11/2017 10:30:50:
Wat je laat zien is javascript. Dit draait in de browser van de client. Je database bevindt zich op de webserver. Je zult dus de gegevens die je wilt opslaan moeten terugsturen naar de server.
Dit kan met AJAX. Jquery heeft hier een speciale .ajax() functie voor.
Ik ga je alleen wel even een waarschuwing geven.
Je moet de prijzen nooit laten bepalen door de client. Als alles klopt dan staan de artikelprijzen in je database (op de server). Laat de client alleen selecteren welke producten hij wil en hoeveel. Het enigste wat je dus ook terugstuurt naar de server is het artikel_id en het aantal. Vervolgens maak je de rekensom altijd (nog een keer) op de server. Het totaalbedrag kun je gerust met behulp van javascript aan de gebruiker tonen maar je mag nooit het totaalbedrag terugsturen naar de server en dan klakkeloos aannemen dat het wel zal kloppen.
Dit kan met AJAX. Jquery heeft hier een speciale .ajax() functie voor.
Ik ga je alleen wel even een waarschuwing geven.
Je moet de prijzen nooit laten bepalen door de client. Als alles klopt dan staan de artikelprijzen in je database (op de server). Laat de client alleen selecteren welke producten hij wil en hoeveel. Het enigste wat je dus ook terugstuurt naar de server is het artikel_id en het aantal. Vervolgens maak je de rekensom altijd (nog een keer) op de server. Het totaalbedrag kun je gerust met behulp van javascript aan de gebruiker tonen maar je mag nooit het totaalbedrag terugsturen naar de server en dan klakkeloos aannemen dat het wel zal kloppen.
Bedankt voor je reactie Frank, ik zal even toelichten waar het voor gebruikt wordt. De website is een custom planten bestelwedsite. Het is geen normale webshop, er wordt alleen besteld en via een factuur wordt er betaald. De totaalprijs is een indicatieprijs voor de winkelier. Onder de 200 euro betaald de winkelier bezorgkosten. Zodra een bestelling is geplaatst wordt er een e-mail verstuurd naar de klant en leverancier. Nu staat daar de totaalprijs nog niet op. Ze kunnen de prijzen wel manipuleren maar zodra de bestelling gemaakt is worden de producten ingevoerd in het boekhoudprogramma en komt daar alsnog de juiste prijs bij te staan.
Gewijzigd op 18/11/2017 12:16:25 door Frank Nietbelangrijk
En omdat je die informatie niet hebt, kun je hier ook geen statistiek op toepassen, zoals gemiddelde ordergrootte, trends in aankopen et cetera. Dit kan over tijd belangrijke strategische informatie worden. Informatie waarmee bijvoorbeeld je inkoopbeleid wordt afgestemd. Of dat je hiermee prognoses maakt. Of wie-weet-wat.
Als je al deze informatie niet hebt, maar alleen maar eindresultaten kun je hier niets meer uit afleiden. Terwijl, als je de complete som opslaat, je altijd het eindresultaat kunt berekenen.