Waarde uit javascript opslaan in mysql database

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Willem van Strien

Willem van Strien

18/11/2017 10:07:58
Quote Anchor link
Goedemorgen allen,
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
 
PHP hulp

PHP hulp

27/11/2024 08:47:48
 
Frank Nietbelangrijk

Frank Nietbelangrijk

18/11/2017 10:30:50
Quote Anchor link
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.
Gewijzigd op 18/11/2017 10:32:57 door Frank Nietbelangrijk
 
Willem van Strien

Willem van Strien

18/11/2017 12:07:20
Quote Anchor link
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.


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.
 
Frank Nietbelangrijk

Frank Nietbelangrijk

18/11/2017 12:15:43
Quote Anchor link
Mja maar misschien wordt er over een half jaar wel aan je gevraagd om toch maar een ideal koppeling te maken of een import/export module naar het boekhoudprogramma te schrijven. En dan? Dan ga je van de grond af aan weer opnieuw beginnen? Of grijp je nu direct in? (Zonder dollen, ik krijg hier echt de kriebels van).
Gewijzigd op 18/11/2017 12:16:25 door Frank Nietbelangrijk
 
Thomas van den Heuvel

Thomas van den Heuvel

18/11/2017 12:40:25
Quote Anchor link
Los hiervan, je slaat een resultaat op (tenzij er meer gegevens naar de database gaan?). Je kunt hier niets uit afleiden, en na verloop van tijd ook geen informatie uit peuteren, omdat je waarschijnlijk niet (meer) weet hoe deze eindprijs tot stand kwam.

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.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.