Avatar billede casperlauge Nybegynder
23. juni 2004 - 09:42 Der er 18 kommentarer

problemer med en checkbox

Jeg har en checkbox, og hvis den bliver sat skal der laves følgende databasekald:

$query = "UPDATE t_repair_rmalist SET hisec_price='' WHERE id=".$_GET['id'];
$result = mysql_query($query)
or die("ERROR: ". mysql_error());

Hvad skal jeg skrive for at checkboxen udfører den sql kode når der bliver klikket i den?
Avatar billede codebase Praktikant
23. juni 2004 - 09:44 #1
<form marhod='get'
<input type='checkbox' value='123' name='id'>
Avatar billede expnet Seniormester
23. juni 2004 - 09:44 #2
onclick="form.submit();"
Avatar billede codebase Praktikant
23. juni 2004 - 09:44 #3
method :)
Avatar billede expnet Seniormester
23. juni 2004 - 09:46 #4
det er op til en selv synes man skal have valgt :P
Avatar billede casperlauge Nybegynder
23. juni 2004 - 09:49 #5
expnet, hvordan laver jeg så den funktion? Er det en javascript funktion eller en php funktion?
Avatar billede Syska Mester
23. juni 2004 - 09:52 #6
expnet??? hvad er det lige der skulle stå i den kommentar klokken 09:46:15?
Avatar billede coderdk Praktikant
23. juni 2004 - 09:52 #7
<input type="checkbox" name="runcode" value="1"> Kør update kode

if ( $_REQUEST['runcode'] == '1' )
{
  // Din kode
}
Avatar billede Syska Mester
23. juni 2004 - 09:53 #8
if($id == 123){
$query = "UPDATE t_repair_rmalist SET hisec_price='' WHERE id=".$_GET['id'];
$result = mysql_query($query)
or die("ERROR: ". mysql_error());
}

Så kører den din query og andet du nu måtte smide ind i den if sætning

// ouT
Avatar billede Syska Mester
23. juni 2004 - 09:55 #9
mangler
if($_REQUEST['id'] == 123){
istedet for
if($id == 123){
Avatar billede expnet Seniormester
23. juni 2004 - 09:55 #10
det var isted for da have en submit klap og der var det jeg forstår ved det du skriver
Avatar billede casperlauge Nybegynder
23. juni 2004 - 09:58 #11
nu har jeg ikke nogen value på den, den hedder bare checked eller ikke checked. Kan jeg så skrive det på den her måde?:

if($_REQUEST['id'] == checked){
$query = "UPDATE t_repair_rmalist SET hisec_price='' WHERE id=".$_GET['id'];
$result = mysql_query($query)
or die("ERROR: ". mysql_error());
}
Avatar billede coderdk Praktikant
23. juni 2004 - 10:01 #12
Lettere hvis du sætte value="1" på den, og checker på det ;)
Avatar billede casperlauge Nybegynder
23. juni 2004 - 10:05 #13
Her er koden med min checkbox, jeg synes det driller lidt hvis jeg prøver de ting i har skrevet...

if($row['hisec_warranty']=="on")
{
print "<input type='checkbox' id='hisecwnt' name='hisecwnt' checked>";
}
elseif($row['hisec_warranty']=="")
{
print "<input type='checkbox' id='hisecwnt' name='hisecwnt'>";       
}
Avatar billede Syska Mester
23. juni 2004 - 10:10 #14
gør som coderdk skriver, meget nemmere....og så virker det helt sikkert
Avatar billede coderdk Praktikant
23. juni 2004 - 10:13 #15
$row ? Er det værdier fra databasen? For så skal du nok også lige lave dem om, evt. fyr denne af:

UPDATE tabelnavn SET hisec_warranty = '1' WHERE hisec_warranty = 'on'

Så burde du kunne lave en:

print "<input type='checkbox' id='hisecwnt' value='1' name='hisecwnt'";
print ( $row['hisec_warranty'] == '1' ? " checked='checked'" : '') . ">";

I stedet for den if/elseif du brugte...
Avatar billede casperlauge Nybegynder
23. juni 2004 - 10:26 #16
Det er jo ikke så fedt at jeg skal ændre feltet on i databasen til et 1 tal, når jeg bruger det felt der refererer til on på mange andre sider
Avatar billede Syska Mester
23. juni 2004 - 10:57 #17
ahh, nice, kan man også bruge den i en print, max nice, man lære nyttige ting hele tiden :-)
Avatar billede casperlauge Nybegynder
23. juni 2004 - 11:17 #18
print "<input type='checkbox' id='hisecwnt' value='1' name='hisecwnt'";
print ( $row['hisec_warranty'] == '1' ? " checked='checked'" : '') . ">";

Herfra virker det ikke, jeg regnede med at jeg godt kunne lave sådan en if løkke for checkboxen ovenover. Det hele ligger i en form derfor har jeg skrevet $_POST men det behøver jeg måske ikke når det hele ligger i formen?

if(isset($_POST['hisecwnt'] == 1))
{
$query2 = "UPDATE t_repair_rmalist SET hisec_price='' WHERE id=".$_GET['id'];
$result2 = mysql_query($query2)
or die("ERROR: ". mysql_error());           
}
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