Gå til innhold

checkbox-verdi fra MySQL til HTML via PHP...LØST!


Anbefalte innlegg

Hei guruer. Jeg har følgende problemstilling:

Jeg har en side (oppgavedetalj.php) hvor man kan hake av i en checkbox om en oppgave er utført eller ikke.

Checkboxen er i et form, som sendes til en php-fil. Her kontrolleres det om checkboxen er haket av eller ikke. Hvis den er haket av sendes verdien 1 til MySQL-tabellen, hvis ikke sendes verdien 0.

 

Alt over funker.

 

Problemet mitt er når jeg senere skal se på oppgaven (som i dette tilfellet er utført), så klarer jeg ikke å få generert en hake i checkboksen igjen. Oppgaven ser med andre ord ut som om den fremdeles står ugjort.

 

Dette er hvordan jeg har forsøkt å løse det: (oppgavedetalj.php)

           <?php
           include("kobletilbase.php");

           $sql = "SELECT brukerindeks, dato_opprettet, overskrift, innhold, forfall, konsekvens, utfort
           FROM tab5
           WHERE brukernavn='{$_SESSION['brukernavn']}' AND brukerindeks= $bindeks
           ORDER BY brukerindeks DESC LIMIT 1";
           
           $sql_resultat=mysql_query($sql);
           
           while ($arr=mysql_fetch_array($sql_resultat)){
               $vodato = date("d.m.y",strtotime($arr["dato_opprettet"]));
               $forfall = date("d.m.y",strtotime($arr['forfall']));                
               $forfalldelt = explode(".", $forfall);
                             
           ?> 
         <FORM METHOD="POST" ACTION="http://inter.net/viktigeoppdatersql.php" NAME="viktigeskjema">
         
       <p>
           <INPUT TYPE ="checkbox" NAME="utfort" VALUE="<? if ($arr["utfort"]=1){echo "checked";}?>">  (Det er denne linjen jeg vil skal gi checkboxen verdien "checked")
           Huk av her hvis oppgaven er utført.

osv osv...

 

Jeg blir IKKE overrasket hvis noen av dere øyeblikkelig ser løsningen... På forhånd takk! :)

Endret av primaxx
Lenke til kommentar
Videoannonse
Annonse
if ($arr["utfort"]=1)

 

må bli til

 

if ($arr["utfort"]=="1")

 

husk 2 ==

Takk for forslaget, Fjartan!

 

Endret det til det du sa, og forsøkte både med og uten anførselstegn rundt ettallet. Men det løste ikke problemet... :(

Lenke til kommentar

eneste jeg kan tenke meg da, er at du prøver trim() rundt $arr[]. Den fjerner eventuelle spaces.

 

edit: nå ser jeg feilen! :D

 

<INPUT TYPE ="checkbox" NAME="utfort" VALUE="<? if ($arr["utfort"]=1){echo "checked";}?>">

 

...skal være....

 

<INPUT TYPE ="checkbox" NAME="utfort" VALUE=""<? if ($arr["utfort"]=1){echo " checked";}?>>

Lenke til kommentar

fjartan har funnet problemet der.

 

Også husk å sette verdien til checkboksen og vist du bruker dette i formen (veit ikkje om du sjekker om den er tom, eller om variablen er satt (vist du sjekker om den er satt, husk dette er av og til ein "uting" med forms, så det er bedre å sjekke om den ikkje er tom))

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...