AsaMedlem sedan dec. 20011 934 inlägg
Har en adminsida där jag lägger till flera svar. Helt olika varje gång. Alltså inget bestämt.
<form action="admin.php?action=save" method="post">
<input type="hidden" name="fraga" value="<?=$fraga?>">
<?$sort = $antal+1;
for($i = 1;$i < $sort ;$i++){?>
<tr>
<td><b>Svar <?=$i?></b><br><input type="text" name="svar<?=$i?>" size="40"> </td>
</tr>
<?}?>
<tr>
<td colspan="2" height="25" style="border-bottom: 1px solid #000000" valign="top"><input type="submit" value="Slutför"></td>
</tr>
</form>
Sen vill jag spara detta. Har denna kod nu men hur gör jag för alla svarsalternativen?
mysql_query("Insert Into fraga(fraga) Values('$fraga')");?>
<script>location.href='admin.php';</script>
MatteMedlem sedan aug. 20002 970 inlägg
Nu skickar du från formuläret $svar1, $svar2, $svar3 o.s.v
Hur hade du tänkt spara dom?
Har du olika kolumner som heter svar1, svar2 o.s.v ?
AsaMedlem sedan dec. 20011 934 inlägg
Nej! Jag har id, pollid, klick och svar. Det ska alltså läggas till alla. Man vet ej hur många svar det är för man kan ha hur många svar som helts. Antalet får man från steget före det som är i min kod ovan!
AsaMedlem sedan dec. 20011 934 inlägg
Har jag inte förklarar riktigt så ni föstår?
MatteMedlem sedan aug. 20002 970 inlägg
Jag har nog inte förstått, men så här har jag uppfattat det.
Du har en tabell (fraga) där du lagrar frågan och en tabell (svar) där du lagrar svaren.
fältet pollid i tabellen svar motsvaras av id i tabellen fraga.
Då borde det gå med något liknande det här:
mysql_query("Insert Into fraga(fraga) Values('$fraga')");
$q_num = mysql_insert_id();
foreach($_POST as $key => $val){
if (substr($key, 0, 4) == "svar"){
mysql_query("INSERT INTO svar(pollid, svar) VALUES($qnum, '$val')");
}
}
AsaMedlem sedan dec. 20011 934 inlägg
För varje svar så är det en siffra när man skriver de svar man vill ha! Hur får man med den siffran? SKa sparas som svarId för varje svar! Bestämmer ordningen på svaren! Med detta?
mysql_query("Insert Into fraga(fraga) Values('$fraga')");
$q_num = mysql_insert_id();
foreach($_POST as $key => $val){
if (substr($key, 0, 4) == "svar"){
$svarId = substr($key, 5,3);
mysql_query("INSERT INTO svar(pollid, svar, svarId) VALUES($q_num,'$val',$svarId)");
}
}
Hur som helst sparas frågan men inte svaren!
MatteMedlem sedan aug. 20002 970 inlägg
$svarId = substr($key,4);
Är pollid och svarId av formatet INT, annars får du sätta citationstecken runt dom: VALUES('$q_num','$val','$svarId').
Lite felsökning:
foreach($_POST as $key => $val){
if (substr($key, 0, 4) == "svar"){
$svarId = substr($key, 4);
$sql = "INSERT INTO svar(pollid, svar, svarId) VALUES($q_num,'$val',$svarId)";
echo "SQL: $sql <br>";
mysql_query($sql) or die(mysql_error());
}
}
AsaMedlem sedan dec. 20011 934 inlägg
Dom är INT. SKa testa och återkommer strax!
AsaMedlem sedan dec. 20011 934 inlägg
Det fungerade nu! Vad var det som var fel?