Avatar billede djsteiner Nybegynder
03. januar 2012 - 22:35 Der er 18 kommentarer og
1 løsning

Radio button

Hej jeg har brug for en kode sådan at man som bruger kun kan vægle en af  de to radio knapper i min form ?

Dette valg skal så indsættes i databsen men dette skulle jeg gerne selv kunne finde ud af :)


<form>
<input type="radio" name="yes" value="yes" /> <br />
<input type="radio" name="no" value="no" /> <br /> <br />
<input type="submit" name="send" value="send"  />
</form>
Avatar billede Slettet bruger
03. januar 2012 - 22:38 #1
Set name så den har samme værdi for begge radiobuttons.
Avatar billede djsteiner Nybegynder
03. januar 2012 - 22:54 #2
er det virkeligt det eneste man skal gøre?
Avatar billede Slettet bruger
03. januar 2012 - 23:03 #3
Ja, name er navnet på din gruppe af radiobuttons. Hvis de har hvert sit navn er din bare en del af hver deres gruppe, og så kan du vælge dem alle.
Avatar billede djsteiner Nybegynder
03. januar 2012 - 23:11 #4
okay hvordan finder jeg så ud af om bruger har svaret ja eller nej når det bliver sendt til databasen ?
Avatar billede Slettet bruger
03. januar 2012 - 23:29 #5
Hvis du f.eks. bruger name="svar" på begge dine radiobuttons, så kan du læse svaret med $_REQUEST["svar"] (eller brug $_POST eller $_GET hvis du kun accepterer den metode som din form sender svaret med). Og hvis du ikke får noget svar tilbage, er det fordi brugeren ikke har valgt en af de to svar muligheder i dit eksempel.
Avatar billede Slettet bruger
03. januar 2012 - 23:31 #6
Og det svar du kan forvente er selvfølgelig enten "yes" eller "no" fra din value på dine radiobuttons (såfremt de har klikket på en af dem).
Avatar billede djsteiner Nybegynder
04. januar 2012 - 00:09 #7
okay  jeg bliver  nød til at teste det.

Men hvordan kommer det til at se ud i min tabel i databasen når værdien fra ens svar bliver send fra ens form ?

og hvordan skal min tabel se ud ?

Jeg tæker selv at den skal se sådan her ud:


id  yes no osv.

Kommer da så et 0 i enten yes eller no når det bliver sent fra formularen ?
Avatar billede DeeDawg Nybegynder
04. januar 2012 - 01:18 #8
Det ville nok være mere optimalt, kun at oprette 2 felter i din tabel - id og result. Eller hvad du nu vil kalde dem.

På denne måde, kan du indsætte 0, hvis nej, og 1, hvis ja.

Og hvis vi bygger videre på tolamaps eksempel:

<?php
    $svar = ($_REQUEST['svar'] == "yes" ? 1 : 0);
    mysql_query("INSERT INTO tabel (result) VALUES('".$svar."')");
?>
Avatar billede djsteiner Nybegynder
04. januar 2012 - 22:24 #9
okay hvad gør jeg så når jeg på et tidspunkt skal have alle svarende ud igen og tælle hvor mange der har stemt yes eller no?

Jeg skylder lige at skrive hvad det er jeg prøver på at lave.

jeg vil gerne lave en side hvor brugene kan uploade billeder og så kan stemme på dem.
Avatar billede djsteiner Nybegynder
04. januar 2012 - 22:50 #10
Hej igen prøvede lige at teste det med denne kode:

Men får denne fejl:

Notice: Undefined index: svar in C:\wamp\www\picture voting\insert.php on line 19 Call Stack: 0.0012 674440 1. {main}() C:\wamp\www\picture voting\insert.php:0 Notice: Undefined variable: sql in C:\wamp\www\picture voting\insert.php on line 22 Call Stack: 0.0012 674440 1. {main}() C:\wamp\www\picture voting\insert.php:0 Error: Query was empty


<form action="insert.php" id="form1" name="form1" method="post">
<input type="radio" name="svar" value="yes" /> <br />
<input type="radio" name="svar" value="no" /> <br /> <br />
<input type="submit" name="send" value="send"  />
</form>


<?php
$con = mysql_connect("localhost","root");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

mysql_select_db("picvote", $con);


$svar = ($_REQUEST['svar'] == "yes" ? 1 : 0);
    mysql_query("INSERT INTO picture(result) VALUES('".$svar."')");

if (!mysql_query($sql,$con))
  {
  die('Error: ' . mysql_error());
  }
echo "1 record added";

mysql_close($con)
?>
Avatar billede djsteiner Nybegynder
04. januar 2012 - 22:54 #11
dette er line 19:

$svar = ($_REQUEST['svar'] == "yes" ? 1 : 0);

Dette er line 22:

if (!mysql_query($sql,$con))
Avatar billede DeeDawg Nybegynder
05. januar 2012 - 03:14 #12
Ok, det hjælper lidt at du fortæller hvad du prøver på. ;)


Som jeg kan se nu, så var det helt rigtigt den måde du foreslog opsætningen af din tabel på. Da jeg skrev mit foreslag, vidste jeg jo ikke at ID'et er et billedes ID.

Så når vi har det at gå ud fra, vil din kode kunne se sådan her ud:

<form action="insert.php" id="form1" name="form1" method="post">
    <input type="radio" name="svar" value="yes" /><br />
    <input type="radio" name="svar" value="no" /><br />
    <input type="hidden" name="img-id" value="23" />
    <input type="submit" name="send" value="send"  />
</form>

<?php
    if(isset($_POST['svar'])){
        if(!$con = mysql_connect("localhost", "root")){ die("Could not connect: ".mysql_error()); }
        mysql_select_db("picvote", $con);
       
        $id = $_POST['img-id'];
        $svar = $_POST['svar'];
        $sql = mysql_query("SELECT id FROM picture WHERE id = '".$id."'", $con);
        if(mysql_num_rows($sql) > 0){ mysql_query("UPDATE picture SET ".$svar." = ".$svar." + 1 WHERE id = '".$id."'", $con); }
        else{
            mysql_query("INSERT INTO picture (id, yes, no) VALUES ('".$id."', '0', '0')", $con);
            mysql_query("UPDATE picture SET ".$svar." = ".$svar." + 1 WHERE id = '".$id."'", $con);
        }
       
        echo "1 record added.";
       
        mysql_close($con);
    }
?>

Vær dog opmærksom på at jeg har tilføjet noget til din form. Feltet img-id burde kunne tale for sig selv.

Jeg ved ikke på nuværende tidspunkt hvor du får dine billeder fra, men sørg for at det pågældende billedes ID, bliver sat ind her.
Avatar billede djsteiner Nybegynder
05. januar 2012 - 15:40 #13
Det vil sige at jeg skal lave et id for svarende og et id for billeder i min database tabel ?
Avatar billede djsteiner Nybegynder
05. januar 2012 - 15:41 #14
Det er mening at brugerne skal uploade billederne
Avatar billede djsteiner Nybegynder
05. januar 2012 - 19:28 #15
Hej ingen nu har jeg lige teste det uden held.

Den skriver

1 record added.


Men der kommer ikke noget databasen
Avatar billede djsteiner Nybegynder
23. januar 2012 - 20:40 #16
Hej DeeDawg

Har du noget svar på hvorfor der ikke kommer noget ind i databasen ?
Avatar billede djsteiner Nybegynder
27. februar 2013 - 18:55 #17
Lukketid
Avatar billede djsteiner Nybegynder
27. februar 2013 - 18:56 #18
DeeDawg  vil du have point?
Avatar billede djsteiner Nybegynder
08. maj 2013 - 17:09 #19
tolamaps hvis du gerne ville have point for at hjælpe kan jeg godt lave et nyt spørgsmål!
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