mysql update met javascript
functie
dus dat ik bijv. op een link klik
ik vroeg mij af of dat kan
en hoe
Gewijzigd op 14/09/2011 17:24:30 door Thymen akker
ja, verdiep je eens in AJAX. Dit zou je zelfs met jQuery kunnen doen, met de $.ajax-functie.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
<script type="text/javascript">
function onClick(href)
{
$.ajax({
type: "GET",
url: "update.php"
});
}
</script>
<img src="<?=$sql[siteimage]?>">
<a href="#" onclick="return onClick(href)">Vote!</p>
function onClick(href)
{
$.ajax({
type: "GET",
url: "update.php"
});
}
</script>
<img src="<?=$sql[siteimage]?>">
<a href="#" onclick="return onClick(href)">Vote!</p>
update.php
Code (php)
1
2
3
4
2
3
4
<?php
include("_include-config.php")
mysql_query("UPDATE `[users]` SET `cash`=`cash`+'50000' WHERE `login`='".$data['login']."'");
?>
include("_include-config.php")
mysql_query("UPDATE `[users]` SET `cash`=`cash`+'50000' WHERE `login`='".$data['login']."'");
?>
mysql_query doet niets omdat hij geen "submit" krijgt
Je kan prima met een selector in jQuery bepalen of er op een id/class geklikt is.
Is de basis van jQuery.
$data['login'] komt ook nergens vandaan.
Gewijzigd op 14/09/2011 17:43:54 door - Ariën -
Code (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
40
41
42
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
40
41
42
<?php
if (isset($_POST['action'])) {
$field = $_POST['db_field'];
$value = $_POST['db_value'];
$link = mysql_connect("localhost", "27852", "27272");
mysql_select_db("7252", $link);
mysql_query("UPDATE `[users]` SET `belstatus`=`belstatus`+'1' WHERE `login`='".$data['login'].", $link);
mysql_close($link);
}
?>
<html>
<head>
<script type="text/javascript">
function performAjaxSubmission() {
$.ajax({
url: 'vote.php',
method: 'POST',
data: {
action: 'save',
field: $(this).attr("db_field"),
val: $(this).attr("db_value")
},
success: function() {
alert("success!");
}
});
return false; // <--- important, prevents the link's href (hash in this example) from executing.
}
jQuery(document).ready(function() {
$(".linkToClick").click(performAjaxSubmission);
});
</script>
</head>
<body>
<a href="#" class="linkToClick" db_field="field1" db_value="value1">Click here</a>
<a href="#" class="linkToClick" db_field="field2" db_value="value2">Click here</a>
<a href="#" class="linkToClick" db_field="field3" db_value="value3">Click here</a>
</body>
</html>
if (isset($_POST['action'])) {
$field = $_POST['db_field'];
$value = $_POST['db_value'];
$link = mysql_connect("localhost", "27852", "27272");
mysql_select_db("7252", $link);
mysql_query("UPDATE `[users]` SET `belstatus`=`belstatus`+'1' WHERE `login`='".$data['login'].", $link);
mysql_close($link);
}
?>
<html>
<head>
<script type="text/javascript">
function performAjaxSubmission() {
$.ajax({
url: 'vote.php',
method: 'POST',
data: {
action: 'save',
field: $(this).attr("db_field"),
val: $(this).attr("db_value")
},
success: function() {
alert("success!");
}
});
return false; // <--- important, prevents the link's href (hash in this example) from executing.
}
jQuery(document).ready(function() {
$(".linkToClick").click(performAjaxSubmission);
});
</script>
</head>
<body>
<a href="#" class="linkToClick" db_field="field1" db_value="value1">Click here</a>
<a href="#" class="linkToClick" db_field="field2" db_value="value2">Click here</a>
<a href="#" class="linkToClick" db_field="field3" db_value="value3">Click here</a>
</body>
</html>
dan krijg ik de volgende fout`en:
Code (php)
1
Parse error: syntax error, unexpected T_STRING in /home/id417/domains/***/public_html/Test/vote.php on line 15
lol 1 " vergeten
maar nu update hij dus niet :(
Gewijzigd op 14/09/2011 18:05:51 door thymen akker
De uit te voeren code moet in een los bestand staan, die je met AJAX vervolgens inlaadt. Verder mis je op lijn 9 een single-quote na je: $data['login']." welke wederom nog nergens vandaan komt.
Verder is een functie nergens voor nodig, je hebt de selectors van jQuery dit dit makkelijk kunnen oplossen.
Ook laad je nergens je jQuery framework in.
Gewijzigd op 14/09/2011 18:03:47 door - Ariën -
die moet ik dus gebruiken ik snap het niet helemaal ik heb nu die php script in update.php geplaatst en de Post naar update.php gezet
En laat dan eens je relevante code zien die je tot nu toe hebt.
Vergeet ook niet jQuery in te laden.
n.v.m. kom er niet uit
vertel, waar loop je op vast?