Voor een betaalpagina voor een webshop heb ik een vraag.
Ik heb een select list waarin ik een land selecteer. Aan de hand van het gekozen land worden de betaal- en verzendmethodes live aangepast. Ik wil dus eigenlijk een live update van mijn mysql query met ajax.
Nu heb ik een extern php bestand met de 2 queries en het php bestand met het formulier. Het externe php bestand met de 2 queries werkt. De queries worden aan de hand van het gekozen land goed aangepast.
Hoe kan ik echter de queries weer gebruiken in het php bestand (afrekenen.php) met het formulier?
Extern php bestand met de queries (formulier.php):
AJAX Code:
Het formulier (afrekenen.php):
Ik heb een select list waarin ik een land selecteer. Aan de hand van het gekozen land worden de betaal- en verzendmethodes live aangepast. Ik wil dus eigenlijk een live update van mijn mysql query met ajax.
Nu heb ik een extern php bestand met de 2 queries en het php bestand met het formulier. Het externe php bestand met de 2 queries werkt. De queries worden aan de hand van het gekozen land goed aangepast.
Hoe kan ik echter de queries weer gebruiken in het php bestand (afrekenen.php) met het formulier?
Extern php bestand met de queries (formulier.php):
PHP:
1
2
3
4
5
6
7
8
9
| if (isset($_GET["select"]) && ($_GET["select"] != "")){ $land_id = utf8_decode(htmlentities($_GET["select"])); $query_verzendkosten = "SELECT verzendkosten.* FROM verzendkosten, talen WHERE verzendkosten.taal_id = '".mysql_real_escape_string($var_taal_id)."' AND verzendkosten.land_id = talen.id AND talen.id = '".mysql_real_escape_string($land_id)."' ORDER BY verzendkosten.rangorde"; echo $query_verzendkosten; $query_betaalmethode = "SELECT betaalmethode.id, betaalmethode.betaalmethode_id, betaalmethode.naam, betaalmethode.omschrijving, betaalmethode.logo, betaalmethode.bedrag, betaalmethode.procent FROM betaalmethode, talen WHERE betaalmethode.status = '1' AND betaalmethode.taal_id = '".mysql_real_escape_string($var_taal_id)."' AND betaalmethode.land_id = talen.id AND talen.id = '".mysql_real_escape_string($land_id)."' ORDER BY betaalmethode.rangorde"; echo $query_betaalmethode; } |
AJAX Code:
JavaScript:
1
2
3
4
5
6
7
8
| $(document).ready(function(){ $('#select').change(function() { var option = $(this).val(); $.get('formulier.php', {select:option}, function(data) { $('#checkout_verzendmethodes').html(data).hide().fadeIn(1000); }); }); }); |
Het formulier (afrekenen.php):
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
| echo "<div id=\"checkout_verzendmethodes\"></div> <div class=\"item-block icon second\"> <h1>".$var_430."</h1>\n"; $result_verzendkosten = mysql_query($query_verzendkosten); while ($row_verzendkosten = mysql_fetch_array($result_verzendkosten)){ // VERZENDKOSTEN BEREKENEN if (($_SESSION["bedrag_winkelmandje"] > $row_verzendkosten['minimum_bedrag'] || $_SESSION["bedrag_winkelmandje"] == $row_verzendkosten['minimum_bedrag']) && ($row_verzendkosten['datumkeuze'] != '1')){ $verzendkosten_intern = 0; $verzendkosten = "".$var_130.""; } else { $verzendkosten_intern = $row_verzendkosten['kosten']; $verzendkosten = $row_verzendkosten['kosten']; $verzendkosten = number_format($verzendkosten, 2, ',', ''); $verzendkosten = "€ ".$verzendkosten.""; } echo "<div class=\"icon-holder\"> <strong class=\"price\">".$verzendkosten."</strong>\n"; if ($i == 1){ echo "<input type=\"radio\" checked=\"checked\" name=\"verzendkosten_".$row_verzendkosten['id']."\">\n"; } else{ echo "<input type=\"radio\" name=\"verzendkosten_".$row_verzendkosten['id']."\">\n"; } echo "<div class=\"icon-image\"> <img src=\"/images/".$row_verzendkosten['icon']."\" alt=\"".$row_verzendkosten['naam']."\"> </div> <div class=\"icon-description\"> <h2>".$row_verzendkosten['naam']."</h2> <p>".$row_verzendkosten['omschrijving']."</p> <strong class=\"price\">".$verzendkosten."</strong> </div> </div> </div>\n"; } echo "</div>\n"; |