Avatar billede heden Nybegynder
29. september 2005 - 12:50 Der er 20 kommentarer og
1 løsning

Oplæg radiobutton i db.

Hej eksperter.

Jeg vil gerne have hjælp til at lave så mine radio buttens virker alt efter hvad for en der er valgt så bliver der skrevet "1" i feltet der hedder "korrekt_svar", den skal tallet skal sættes ind i det id hvor radioknappen er markeret.

<?
if (isset($_POST['op']))
{
    include 'db.php';

    $spg_id = $_POST['spg'];
    $svar = htmlspecialchars(addslashes($_POST['svar']));

    $spg_id = mysql_escape_string($_POST['spg_id']);
    foreach($_POST['svar'] as $svar)
    {
        $query = mysql_query("INSERT INTO spg_svar (id,svar,spg_id) VALUES('','".$svar."','".$spg_id."')");
        if(mysql_affected_rows()==0)
        {
            echo "Der opstod en fejl: " . mysql_error() . "<hr>\n";
        }
    }

echo "<div align=\"center\" class=\"style2\">Svaret blev oprettet</div>";
}
?>

            <table width="100%" height="303"  border="0">
  <td>
<div align="center">    </div>
<form action="<?= $_SERVER['PHP_SELF'] ?>" method="post">
  <table width="100%"  border="0" cellpadding="0" cellspacing="0" class="style2">
    <tr>
      <td><div align="center" class="style2">Sp&oslash;rgsm&aring;l:</div></td>
    </tr>
    <tr>
      <td><div align="center">
    <?
        include 'db.php';
$res = mysql_query ("SELECT * FROM spg_spg WHERE id='". $_GET["id"] ."'") or die(mysql_error());
    while($row = mysql_fetch_array($res))
    {
$spg = $row['spg'];
$id = $row['id'];
echo $spg;
}
?></div></td>
    </tr>
  </table>
    <table width="90%"  border="0" align="center" cellpadding="0" cellspacing="0">
        <tr>
            <td width="22%"><div align="left"><span class="style2">Svar muligheder: </span></div></td>
            <td width="57%">&nbsp;</td>
            <td width="21%"><div align="center"><span class="style2">Det korrekte svar:</span></div></td>
        </tr>
        <tr>
            <td><div align="left"><span class="style2">Svar 1:</span></div></td>
            <td><div align="center">
              <input name="svar[]" type="text" id="svar1" size="50">
            </div></td>
            <td><p align="center">
              <label>
              <input type="radio" name="korrekt" value="ken">
              </label>
              <br>
            </p></td>
        </tr>
        <tr>
            <td><div align="left"><span class="style2">Svar 2:</span></div></td>
            <td><div align="center">
              <input name="svar[]" type="text" id="svar2" size="50">
            </div></td>
            <td><div align="center">
              <input type="radio" name="korrekt" value="kto">
            </div></td>
        </tr>
        <tr>
            <td><div align="left"><span class="style2">Svar 3:</span></div></td>
            <td><div align="center">
              <input name="svar[]" type="text" id="svar3" size="50">
            </div></td>
            <td><div align="center">
              <input type="radio" name="korrekt" value="ktre">
            </div></td>
        </tr>
        <tr>
          <td><div align="left"><span class="style2">Svar 4:</span></div></td>
          <td><div align="center">
  <input name="svar[]" type="text" id="svar4" size="50">
          </div></td>
          <td><div align="center">
            <input type="radio" name="korrekt" value="kfire">
          </div></td>
        </tr>
        <tr>
          <td><div align="left"><span class="style2">Svar 5:</span></div></td>
          <td><div align="center">
<input name="svar[]" type="text" id="svar5" size="50">
          </div></td>
          <td><div align="center">
            <input type="radio" name="korrekt" value="kfem">
          </div></td>
        </tr>
        <tr>
          <td colspan="3"><div align="center">
            <input type="hidden" name="spg_id" value="<?=$id?>">
          </div></td>
        </tr>
        <tr>
          <td colspan="3"><div align="center">
            <input type="submit" id="op" name="op" value="Opret svar">
          </div></td>
        </tr>
    </table>
</form>
Avatar billede jakobdo Ekspert
29. september 2005 - 13:33 #1
Det bør du kunne finde via: $_POST['korrekt']
Avatar billede heden Nybegynder
29. september 2005 - 23:09 #2
er du sød at forklare lidt mere, eller vise det i koden?
Avatar billede jakobdo Ekspert
30. september 2005 - 09:04 #3
Hvor vil du have radiobutton gemt henne?
Avatar billede heden Nybegynder
30. september 2005 - 09:35 #4
i et felt der hedder "korrekt_svar" i samme tabel. altså "spg_svar"
Avatar billede jakobdo Ekspert
30. september 2005 - 10:09 #5
Men som jeg husker det, så indsætter vi mange rækker i din tabel ikke?
Det er ikke smart gemme samme info flere gange...
Men du kan lave:
if (isset($_POST['op']))
{
    include 'db.php';

    $spg_id = $_POST['spg'];
    $svar = htmlspecialchars(addslashes($_POST['svar']));
    $korrekt = mysql_escape_string($_POST['korrekt']);

    $spg_id = mysql_escape_string($_POST['spg_id']);
    foreach($_POST['svar'] as $svar)
    {
        $query = mysql_query("INSERT INTO spg_svar (id,svar,spg_id,spg_svar) VALUES('','".$svar."','".$spg_id."','".$korrekt."')");
        if(mysql_affected_rows()==0)
        {
            echo "Der opstod en fejl: " . mysql_error() . "<hr>\n";
        }
    }

echo "<div align=\"center\" class=\"style2\">Svaret blev oprettet</div>";
}
?>
Avatar billede heden Nybegynder
30. september 2005 - 10:20 #6
den mister id'et tror jeg, så den ligger intet op :/
Avatar billede jakobdo Ekspert
30. september 2005 - 10:23 #7
ID skulle da gerne være i denne variabel: $spg_id
Avatar billede heden Nybegynder
30. september 2005 - 10:29 #8
ja nemlig. men så mister den det et eller andet sted.. for den ligger den nemlig ikke op, men den køre fint if(isset($_POST['op'];));  for den skriver "svaret blev oprettet."

koden ser sådan ud nu:
<?
if (isset($_POST['op']))
{
    include 'db.php';

    $spg_id = $_POST['spg'];
    $svar = htmlspecialchars(addslashes($_POST['svar']));
    $korrekt = mysql_escape_string($_POST['korrekt']);

    $spg_id = mysql_escape_string($_POST['spg_id']);
    foreach($_POST['svar'] as $svar)
    {
        $query = mysql_query("INSERT INTO spg_svar (id,svar,spg_id,spg_svar) VALUES('','".$svar."','".$spg_id."','".$korrekt."')");
        if(mysql_affected_rows()==0)
        {
            echo "Der opstod en fejl: " . mysql_error() . "<hr>\n";
        }
    }

echo "<div align=\"center\" class=\"style2\">Svaret blev oprettet</div>";
}
?>

            <table width="100%" height="303"  border="0">
  <td>
<div align="center">    </div>
<form action="opret_svar.php?id=$id" method="post">
  <table width="100%"  border="0" cellpadding="0" cellspacing="0" class="style2">
    <tr>
      <td><div align="center" class="style2">Sp&oslash;rgsm&aring;l:</div></td>
    </tr>
    <tr>
      <td><div align="center">
    <?
        include 'db.php';
$res = mysql_query ("SELECT * FROM spg_spg WHERE id='". $_GET["id"] ."'") or die(mysql_error());
    while($row = mysql_fetch_array($res))
    {
$spg = $row['spg'];
$id = $row['id'];
echo $spg;
}
?></div></td>
    </tr>
  </table>
    <table width="90%"  border="0" align="center" cellpadding="0" cellspacing="0">
        <tr>
            <td width="22%"><div align="left"><span class="style2">Svar muligheder: </span></div></td>
            <td width="57%">&nbsp;</td>
            <td width="21%"><div align="center"><span class="style2">Det korrekte svar:</span></div></td>
        </tr>
        <tr>
            <td><div align="left"><span class="style2">Svar 1:</span></div></td>
            <td><div align="center">
              <input name="svar[]" type="text" id="svar1" size="50">
            </div></td>
            <td><p align="center">
              <label>
              <input type="radio" name="korrekt" value="ken">
              </label>
              <br>
            </p></td>
        </tr>
        <tr>
            <td><div align="left"><span class="style2">Svar 2:</span></div></td>
            <td><div align="center">
              <input name="svar[]" type="text" id="svar2" size="50">
            </div></td>
            <td><div align="center">
              <input type="radio" name="korrekt" value="kto">
            </div></td>
        </tr>
        <tr>
            <td><div align="left"><span class="style2">Svar 3:</span></div></td>
            <td><div align="center">
              <input name="svar[]" type="text" id="svar3" size="50">
            </div></td>
            <td><div align="center">
              <input type="radio" name="korrekt" value="ktre">
            </div></td>
        </tr>
        <tr>
          <td><div align="left"><span class="style2">Svar 4:</span></div></td>
          <td><div align="center">
  <input name="svar[]" type="text" id="svar4" size="50">
          </div></td>
          <td><div align="center">
            <input type="radio" name="korrekt" value="kfire">
          </div></td>
        </tr>
        <tr>
          <td><div align="left"><span class="style2">Svar 5:</span></div></td>
          <td><div align="center">
<input name="svar[]" type="text" id="svar5" size="50">
          </div></td>
          <td><div align="center">
            <input type="radio" name="korrekt" value="kfem">
          </div></td>
        </tr>
        <tr>
          <td colspan="3"><div align="center">
            <input type="hidden" name="spg_id" value="<?=$id?>">
          </div></td>
        </tr>
        <tr>
          <td colspan="3"><div align="center">
            <input type="submit" id="op" name="op" value="Opret svar">
          </div></td>
        </tr>
    </table>
</form>
Avatar billede jakobdo Ekspert
30. september 2005 - 10:34 #9
Prøv igen!

Efter:
if (isset($_POST['op']))
{
skriver du:
if (isset($_POST['op']))
{
echo "<pre>";
print_r($_POST);
echo "</pre>";
exit();

Smid input herind.
Avatar billede heden Nybegynder
30. september 2005 - 10:49 #10
ja så skriver den:

Array
(
    [svar] => Array
        (
            [0] => t
            [1] => e
            [2] => s
            [3] => t
            [4] => 10
        )

    [korrekt] => ktre
    [spg_id] => 10
    [op] => Opret svar
)


og det ser rigtigt nok ud jo .. men den ligger det bare ik op i min DB
Avatar billede jakobdo Ekspert
30. september 2005 - 11:01 #11
Jeg ved ikke om det er et problem, men dit felt og din tabel hedder det samme: spg_svar
Prøv at ret det ene felt.
Og test så denne kode:

<?
if (isset($_POST['op']))
{
    include 'db.php';

    $spg_id  = mysql_escape_string($_POST['spg_id']);   
    $svar    = mysql_escape_string($_POST['svar']);
    $korrekt = mysql_escape_string($_POST['korrekt']);

    foreach($_POST['svar'] as $svar)
    {
        if(isset(trim($svar)))
        {
            $query = mysql_query("INSERT INTO spg_svar (id,svar,spg_id,korrekt) VALUES('','".$svar."','".$spg_id."','".$korrekt."')");
            if(mysql_affected_rows()==0)
            {
                echo "Der opstod en fejl: " . mysql_error() . "<hr>\n";
            }
        }
    }
   
    echo "<div align=\"center\" class=\"style2\">Svaret blev oprettet</div>";
}
?>
Avatar billede heden Nybegynder
30. september 2005 - 11:06 #12
hvorfor siger den Parse error: parse error, unexpected T_STRING, expecting T_VARIABLE or '$' på den linje hvor der står trim ?


nej det skulle helst ik have noget at sige, for det virkede tidligere.
Avatar billede jakobdo Ekspert
30. september 2005 - 11:10 #13
Du må have fejl andre steder så!
Der er ikke fejl i det kode der.
Avatar billede heden Nybegynder
30. september 2005 - 11:15 #14
hmm hehe !
Avatar billede heden Nybegynder
30. september 2005 - 11:26 #15
og nu har jeg fjernet "trim" og kan nu taste ind min DB. og den ligger fint svarene op, men ændre intet i korrekt.. i min db hedder feltet "korrekt_svar" derfor har jeg ændret noget af den.

du kan se den her:

<?
if (isset($_POST['op']))
{
    include 'db.php';

    $spg_id  = mysql_escape_string($_POST['spg_id']);   
    $svar    = mysql_escape_string($_POST['svar']);
    $korrekt_svar = mysql_escape_string($_POST['korrekt_svar']);

    foreach($_POST['svar'] as $svar)
    {
            $query = mysql_query("INSERT INTO spg_svar (id,svar,spg_id,korrekt_svar) VALUES('','".$svar."','".$spg_id."','".$korrekt_svar."')");
            if(mysql_affected_rows()==0)
            {
                echo "Der opstod en fejl: " . mysql_error() . "<hr>\n";
            }
  }
   
    echo "<div align=\"center\" class=\"style2\">Svaret blev oprettet</div>";
}
?>

            <table width="100%" height="303"  border="0">
  <td>
<div align="center">    </div>
<form action="opret_svar.php?id=$id" method="post">
  <table width="100%"  border="0" cellpadding="0" cellspacing="0" class="style2">
    <tr>
      <td><div align="center" class="style2">Sp&oslash;rgsm&aring;l:</div></td>
    </tr>
    <tr>
      <td><div align="center">
    <?
        include 'db.php';
$res = mysql_query ("SELECT * FROM spg_spg WHERE id='". $_GET["id"] ."'") or die(mysql_error());
    while($row = mysql_fetch_array($res))
    {
$spg = $row['spg'];
$id = $row['id'];
echo $spg;
}
?></div></td>
    </tr>
  </table>
    <table width="90%"  border="0" align="center" cellpadding="0" cellspacing="0">
        <tr>
            <td width="22%"><div align="left"><span class="style2">Svar muligheder: </span></div></td>
            <td width="57%">&nbsp;</td>
            <td width="21%"><div align="center"><span class="style2">Det korrekte svar:</span></div></td>
        </tr>
        <tr>
            <td><div align="left"><span class="style2">Svar 1:</span></div></td>
            <td><div align="center">
              <input name="svar[]" type="text" id="svar1" size="50">
            </div></td>
            <td><p align="center">
              <label>
              <input type="radio" name="korrekt_svar" value="ken">
              </label>
              <br>
            </p></td>
        </tr>
        <tr>
            <td><div align="left"><span class="style2">Svar 2:</span></div></td>
            <td><div align="center">
              <input name="svar[]" type="text" id="svar2" size="50">
            </div></td>
            <td><div align="center">
              <input type="radio" name="korrekt_svar" value="kto">
            </div></td>
        </tr>
        <tr>
            <td><div align="left"><span class="style2">Svar 3:</span></div></td>
            <td><div align="center">
              <input name="svar[]" type="text" id="svar3" size="50">
            </div></td>
            <td><div align="center">
              <input type="radio" name="korrekt_svar" value="ktre">
            </div></td>
        </tr>
        <tr>
          <td><div align="left"><span class="style2">Svar 4:</span></div></td>
          <td><div align="center">
  <input name="svar[]" type="text" id="svar4" size="50">
          </div></td>
          <td><div align="center">
            <input type="radio" name="korrekt_svar" value="kfire">
          </div></td>
        </tr>
        <tr>
          <td><div align="left"><span class="style2">Svar 5:</span></div></td>
          <td><div align="center">
<input name="svar[]" type="text" id="svar5" size="50">
          </div></td>
          <td><div align="center">
            <input type="radio" name="korrekt_svar" value="kfem">
          </div></td>
        </tr>
        <tr>
          <td colspan="3"><div align="center">
            <input type="hidden" name="spg_id" value="<?=$id?>">
          </div></td>
        </tr>
        <tr>
          <td colspan="3"><div align="center">
            <input type="submit" id="op" name="op" value="Opret svar">
          </div></td>
        </tr>
    </table>
</form>
Avatar billede jakobdo Ekspert
30. september 2005 - 11:38 #16
Jeg må kigge på problemet på et tidspunkt!
Det her går ikke!
Kontakt mig på msn: jakobdo (at) hotmail (dot) com
Avatar billede heden Nybegynder
30. september 2005 - 11:42 #17
Jeg tror jeg har løst det :).. jeg havde glemt den skulle bruge tal. og kun et tal.. så derfor har jeg ændret value i radiobuttons til 1.. og der ligger den det fint op, problemet er bare den ligger det op i alle felterne, og ikke kun det felt jeg har markeret radiobutton ud for :-D
Avatar billede heden Nybegynder
30. september 2005 - 12:31 #18
Færdig kode:

Tak til Jakobdo.

<?
if (isset($_POST['op']))
{
    include 'db.php';

    $spg_id  = mysql_escape_string($_POST['spg_id']);   
    $svar    = mysql_escape_string($_POST['svar']);
    $korrekt_svar = mysql_escape_string($_POST['korrekt_svar']);
   
    echo "<pre>";
    print_r($_POST);
    echo "</pre>";
   
    foreach($_POST['svar'] as $id => $svar)
    {
        $korrekt = 0;
        if($id == $korrekt_svar)
        $korrekt = 1;
                $sql = "INSERT INTO spg_svar (id,svar,spg_id,korrekt_svar) VALUES('','".$svar."','".$spg_id."','".$korrekt."')";
        $query = mysql_query($sql);
        if(mysql_affected_rows()==0)
        {
            echo "Der opstod en fejl: " . mysql_error() . "<hr>\n";
        }
  }
   
    echo "<div align=\"center\" class=\"style2\">Svarene blev oprettet.</div>";
}
?>

            <table width="100%" height="303"  border="0">
  <td>
<div align="center">    </div>
<form action="opret_svar.php?id=$id" method="post">
  <table width="100%"  border="0" cellpadding="0" cellspacing="0" class="style2">
    <tr>
      <td><div align="center" class="style2">Sp&oslash;rgsm&aring;l:</div></td>
    </tr>
    <tr>
      <td><div align="center">
    <?
        include 'db.php';
$res = mysql_query ("SELECT * FROM spg_spg WHERE id='". $_GET["id"] ."'") or die(mysql_error());
    while($row = mysql_fetch_array($res))
    {
$spg = $row['spg'];
$id = $row['id'];
echo $spg;
}
?></div></td>
    </tr>
  </table>
    <table width="90%"  border="0" align="center" cellpadding="0" cellspacing="0">
        <tr>
            <td width="22%"><div align="left"><span class="style2">Svar muligheder: </span></div></td>
            <td width="57%">&nbsp;</td>
            <td width="21%"><div align="center"><span class="style2">Det korrekte svar:</span></div></td>
        </tr>
        <tr>
            <td><div align="left"><span class="style2">Svar 1:</span></div></td>
            <td><div align="center">
              <input name="svar[]" type="text" id="svar1" size="50">
            </div></td>
            <td><p align="center">
              <label>
              <input type="radio" name="korrekt_svar" value="0">
              </label>
              <br>
            </p></td>
        </tr>
        <tr>
            <td><div align="left"><span class="style2">Svar 2:</span></div></td>
            <td><div align="center">
              <input name="svar[]" type="text" id="svar2" size="50">
            </div></td>
            <td><div align="center">
              <input type="radio" name="korrekt_svar" value="1">
            </div></td>
        </tr>
        <tr>
            <td><div align="left"><span class="style2">Svar 3:</span></div></td>
            <td><div align="center">
              <input name="svar[]" type="text" id="svar3" size="50">
            </div></td>
            <td><div align="center">
              <input type="radio" name="korrekt_svar" value="2">
            </div></td>
        </tr>
        <tr>
          <td><div align="left"><span class="style2">Svar 4:</span></div></td>
          <td><div align="center">
  <input name="svar[]" type="text" id="svar4" size="50">
          </div></td>
          <td><div align="center">
            <input type="radio" name="korrekt_svar" value="3">
          </div></td>
        </tr>
        <tr>
          <td><div align="left"><span class="style2">Svar 5:</span></div></td>
          <td><div align="center">
<input name="svar[]" type="text" id="svar5" size="50">
          </div></td>
          <td><div align="center">
            <input type="radio" name="korrekt_svar" value="4">
          </div></td>
        </tr>
        <tr>
          <td colspan="3"><div align="center">
            <input type="hidden" name="spg_id" value="<?=$id?>">
          </div></td>
        </tr>
        <tr>
          <td colspan="3"><div align="center">
            <input type="submit" id="op" name="op" value="Opret svar">
          </div></td>
        </tr>
    </table>
</form>
Avatar billede jakobdo Ekspert
30. september 2005 - 12:35 #19
Og er svar!
Avatar billede heden Nybegynder
30. september 2005 - 12:38 #20
endnu engang tak.

-lukket-
Avatar billede jakobdo Ekspert
30. september 2005 - 12:55 #21
Takker for point!
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

IT-JOB

IT Forum Gruppen

Senior Sales Manager hos ITF

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Sektionschef for Facility Management til Forsvarets nye Digital Backbone

Netcompany A/S

Network Engineer

Riskpoint A/S (Riskpoint Solutions Limited)

Senior Developer

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Driftsstærk IT-profil til Forsvarsministeriets Materiel- og Indkøbsstyrelse