Håndtering af unikt id i JS fra PHP
Hej Eksperter,Håber i kan hjælpe med at løse endnu et problem.
Jeg har gennem hjælp herinde fået "udviklet" noget JS som skal håndtere live opdatering af en form.
Opbygningen sker over 3 filer: index.php, submitform.js & submitform.php.
index.php
<script src="submit.form.js"></script>
<?php
$maal = 0;
?>
<?php
$p_q = "SELECT * FROM `player`";
$p_r = mysql_query($p_q) or die(mysql_error()); while ($p_g = mysql_fetch_array($p_r)) {
?>
<p>
Goals:
<input type="submit" id="goals" value="<?php echo $maal; ?>" disabled />
<input type="button" value="+1" onclick = "UpdateGoal(this)" />
<input type="button" value="-1" onclick = "UpdateGoal(this)" />
<input type="button" value="0" onclick = "UpdateGoal(this)" />
</p>
<?php
}
?>
submitform.js
function UpdateGoal(elm){
var elmgoals = document.getElementById("goals");
var url = "submitform.php";
var params = "id="+elm.value+"&goals="+elmgoals.value+"&rand="+Math.random();
var http = new XMLHttpRequest();
http.open("POST",url ,true);
http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
http.setRequestHeader("Content-length", params.length);
http.setRequestHeader("Connection", "close");
http.send(params);
http.onreadystatechange = function () {
if(http.readyState == 4 && http.status == 200 ){
elmgoals.value = http.responseText;
}
}
}
submitform.php
<?php
$id = $_POST['id'];
$goals = $_POST['goals'];
switch($id){
case "0": $goals = 0; break;
case "-1": $goals--; break;
case "+1": $goals++; break;
}
echo $goals;
?>
Dette kan ses her: http://2mas.org/_fifa/beta/_ajax/
Problemet med ovenstående opstår ved tryk på +1, -1 eller 0 hvor den kun opdaterer den første line udskrevet af $g_p.
Jeg tænker umiddelbart det har noget med id at gøre, men kan ikke umiddelbart hitte ud af hvordan jeg får givet hver form et unikt id, som så kan bruges af JS.
Der vil ud over Goals også blive tilføjet gule kort, røde kort osv..
Håber et kvikt hoved kan hjælpe mig på vej.
Med venlig hilsen
Thomas