28. september 2005 - 22:09
Der er
16 kommentarer og 1 løsning
Hjælp til oplæggelse af flere linjer i DB.
Hej alle eksperter. Jeg vil gerne høre hvordan man kan lave så dette script kan ligge det der står i feltene op på engang, så man ik skal opligge et svar hver gang. jeg vil gerne have at at den lægger hvert textfelt op med følgende ting i min db: id: selvf. automatisk valgt fra db. spg_id: id'et som bliver hentet fra adresse linjen og sat i feltet. svar: det som står i textfeltet. Håber i kan hjælpe mig :-D
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?
28. september 2005 - 22:12
#1
Hvis alle dine tekst felter f.eks. hedder: text[], så kan du lave: $spgid = mysql_escape_string($_GET['spgid']); foreach($_POST['text'] as $text) { $query = mysql_query("INSERT INTO tabel(id,tekst,spgid) VALUES('',$text,$spgid)"); } Dette kræver dog id er auto_increment.
28. september 2005 - 22:13
#2
undskyld, glemte scriptet: <form action="<?= $_SERVER['PHP_SELF'] ?>" method="post"> <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="svar1" 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="svar2" 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="svar3" 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="svar4" 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="svar5" 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> <? if (isset($_POST['op'])) { include 'db.php'; $spg_id = $_POST['spg']; $svar = htmlspecialchars(addslashes($_POST['svar'])); $sql = "INSERT INTO spg_svar (svar, spg_id) VALUES ('$svar', '$spg_id')"; mysql_query($sql) or die(mysql_error()); echo "<div align=\"center\" class=\"tekst_linkThin\">Svaret blev oprettet</div>"; } ?>
28. september 2005 - 22:18
#3
Prøv at ret dine inputs til: <input name="svar[]" type="text" id="svar1" size="50"> og ret din sql til: $spgid = mysql_escape_string($_GET['spg_id']); foreach($_POST['svar'] as $svar) { $query = mysql_query("INSERT INTO tabel(id,tekst,spgid) VALUES('',$svar,$spgid)"); }
28. september 2005 - 22:20
#4
du mener sådan ik: <form action="<?= $_SERVER['PHP_SELF'] ?>" method="post"> <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> <? if (isset($_POST['op'])) { include 'db.php'; $spg_id = $_POST['spg']; $svar = htmlspecialchars(addslashes($_POST['svar'])); $spgid = mysql_escape_string($_GET['spg_id']); foreach($_POST['svar'] as $svar) { $query = mysql_query("INSERT INTO tabel(id,svar,spg_id) VALUES('',$svar,$spg_id)"); } echo "<div align=\"center\" class=\"tekst_linkThin\">Svaret blev oprettet</div>"; } ?>
28. september 2005 - 22:25
#5
nu har jeg rettet den til som jeg tror den skal, men det virker ikke endnu korrekt :(.. det ser sådan ud nu : <form action="<?= $_SERVER['PHP_SELF'] ?>" method="post"> <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> <? 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)"); } echo "<div align=\"center\" class=\"tekst_linkThin\">Svaret blev oprettet</div>"; } ?>
29. september 2005 - 06:44
#6
Prøv at test at ret koden: <? 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)"); } echo "<div align=\"center\" class=\"tekst_linkThin\">Svaret blev oprettet</div>"; } ?> til: <? if (isset($_POST['op'])) { echo "<pre>"; print_r($_POST); echo "</pre>"; exit(); 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)"); } echo "<div align=\"center\" class=\"tekst_linkThin\">Svaret blev oprettet</div>"; } ?> Og smid hvad der kommer ud herind.
29. september 2005 - 09:09
#7
den skriver: Array ( [svar] => Array ( [0] => svar 11 -1 [1] => svar 11 -2 [2] => svar 11 -3 [3] => svar 11 -4 [4] => svar 11 -5 ) [spg_id] => 11 [op] => Opret svar )
29. september 2005 - 09:10
#8
så det ser da meget rigtigt ud
29. september 2005 - 09:22
#9
Test dette kode: <? 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=\"tekst_linkThin\">Svaret blev oprettet</div>"; } ?>
29. september 2005 - 09:25
#10
Det virker nu. tusind tak for det !! smider du et svar?
29. september 2005 - 09:26
#11
og må jeg spørge hvad du gjorde?
29. september 2005 - 09:32
#12
Før havde jeg: VALUES('',$svar,$spg_id)"); Nu rettede jeg til: VALUES('','".$svar."','".$spg_id."')"); Stor forskel på test og 'test' i mysql
29. september 2005 - 09:32
#13
Og et svar!
29. september 2005 - 09:35
#14
Ja okay, mange tak for det !
29. september 2005 - 09:35
#15
-lukket-
29. september 2005 - 09:38
#16
Takker for point!
29. september 2005 - 10:38
#17
intet problem. det er mig der takker :o) -lukket-
Vi tilbyder markedets bedste kurser inden for webudvikling