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ørgsmå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%"> </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>
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
29. september 2005 - 13:33
#1
Det bør du kunne finde via: $_POST['korrekt']
29. september 2005 - 23:09
#2
er du sød at forklare lidt mere, eller vise det i koden?
30. september 2005 - 09:04
#3
Hvor vil du have radiobutton gemt henne?
30. september 2005 - 09:35
#4
i et felt der hedder "korrekt_svar" i samme tabel. altså "spg_svar"
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>"; } ?>
30. september 2005 - 10:20
#6
den mister id'et tror jeg, så den ligger intet op :/
30. september 2005 - 10:23
#7
ID skulle da gerne være i denne variabel: $spg_id
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ørgsmå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%"> </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>
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.
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
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>"; } ?>
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.
30. september 2005 - 11:10
#13
Du må have fejl andre steder så! Der er ikke fejl i det kode der.
30. september 2005 - 11:15
#14
hmm hehe !
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ørgsmå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%"> </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>
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
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
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ørgsmå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%"> </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>
30. september 2005 - 12:35
#19
Og er svar!
30. september 2005 - 12:38
#20
endnu engang tak. -lukket-
30. september 2005 - 12:55
#21
Takker for point!
Vi tilbyder markedets bedste kurser inden for webudvikling