Avatar billede count44 Nybegynder
15. september 2007 - 17:22 Der er 9 kommentarer

Button handlig

Hvordan kan jeg få en simpel Button til at udføre en handling - uden at skulle viderestilles den til en anden side.

Altså jeg vil f.eks. gerne kunne gøre sådan at når jeg trykker på her Button:

<input name="kampe-" type="button" id="kampe-" value="-" />

Så udføre den følgende handling:

        <?
        $query = mysql_query("SELECT * FROM championship WHERE id = '$row[id]'");
        $row = mysql_fetch_array($query);
       
        mysql_query("UPDATE championship SET kampe=kampe+1 WHERE id = '$row[id]'");
        ?>

Jeg har prøvet lidt frem og tilbage - men kan altså ikke få det til at virke - det skal være sådan at der er mulighed for at trykke på knappen gentagende gange, den skal altså ikke viderestille til en eller anden side.

Håber på hjælp - på forhånd tak.
Avatar billede nielle Nybegynder
15. september 2007 - 17:26 #1
Du kan ikek få en button til at gøre noget på serveren uden at submitte din form.
Avatar billede nielle Nybegynder
15. september 2007 - 17:27 #2
Du behøver nu ikke at sende folk videre til en anden side - du kan sagtens sende dem tilbage til den samme side igen.
Avatar billede hmm10 Nybegynder
15. september 2007 - 17:31 #3
Enten ligger du det i en form og laver:
<input type='submit' value='-' /><input type='hidden' name='kampe-' value='-'>

Eller også laver du det via et java script:
<input name="kampe-" type="button" id="kampe-" value="-" onclick="location.href='';" />

Det er ligegyldigt om du ligger dit database-kald i samme (før print) eller ny fil - du laver blot en header("location: xx");
Avatar billede count44 Nybegynder
15. september 2007 - 17:43 #4
Jeg har forstår ikke hvordan jeg får denne her linje til at udføre en handling:
<input type='submit' value='-' /><input type='hidden' name='kampe-' value='-'>

Men ellers forstår jeg det nogenlunde det med Javascriptet, men hvordan skal jeg mere præcist skrive det. Hvis jeg skal bruge onclick="location.href='';", hvordan skriver jeg så selve den handling der skal udføres i toppen af dokumentet?
Avatar billede hmm10 Nybegynder
15. september 2007 - 19:42 #5
Jammen, så bruger vi "javascript-metodon", hvis du ikke forstår formålet med en form. Der er blot den ulempe, at du ikke kan bruge POST i denne mentode.

<?
if($_GET['do'] == 'update')
{
  // din php. fx. med en værdi: print $_GET['id'];
  header('Location: fil.php');
}
?>

<input type='button' onclick='location.href="fil.php?do=update&id=2";'>
Avatar billede olebole Juniormester
16. september 2007 - 17:37 #6
<ole>

Du kan også skrive:

<script type="text/JavaScript">
function updateDB(nID) {
    var o = document.createElement("img");
    o.style.display = "none";
    document.getElementsByTagName("body")[0].appendChild(o);
    o.setAttribute("src", "http://www.domain.dk/sti/til/fil.php?do=update&id="+nID);
}
</script>

<button onclick="updateDB(123)">Opdater</button>

- og i filen 'fil.php':

<?php
if (isset($_GET["do"]) && $_GET["do"]=="update") {
    if ($_GET["id"]-1<$_GET["id"]) { // $_GET["id"] er et tal
        $query = mysql_query("SELECT * FROM championship WHERE id = '".$_GET["id"]."'");
        $row = mysql_fetch_array($query);
        mysql_query("UPDATE championship SET kampe=kampe+1 WHERE id = '".$_GET["id"]."'");
    }
}
?>

/mvh
</bole>
Avatar billede olebole Juniormester
16. september 2007 - 17:40 #7
Nej, sql-sætningerne er noget vrøvl - men det er dine egne vist også. Ret dem selv til, så de giver mening  :)
Avatar billede count44 Nybegynder
21. september 2007 - 16:18 #8
Jeg har fået lavet en holdbar løsning - dog blev det lidt anderledes end jeg før havde skrevet. Men i skal have mange tak for hjælpen.
Avatar billede hmm10 Nybegynder
18. april 2011 - 16:53 #9
Selv tak :) Lukketid?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester