20. september 2006 - 17:11Der er
18 kommentarer og 1 løsning
problem med at update mysql tabel
jeg har denne kode
<? $bruger = $_SESSION['Brugernavn']; $get = mysql_query("SELECT * FROM brugere WHERE Brugernavn = '$bruger' LIMIT 1") or die(mysql_error()); // henter Brugernavn som er 1? $show = mysql_fetch_array($get); $til = $show[Brugernavn]; $id = $show[Id];
echo "<h3>"; $spg = mysql_query("SELECT * FROM spg WHERE til ='$til' ORDER BY `spgid` DESC"); $spgid = $a['spgid']; while ($a = mysql_fetch_assoc($spg)) { echo $a['spg']; echo "<br>"; echo" "; echo "<form name='svar' method='POST' ACTION=''>"; echo"<textarea name='svar' rows='4' cols='30'>"; echo $a['svar']; echo"</textarea><br>"; echo"<input class='inputknap' type='submit' value='Send svar'>"; echo""; echo "<br><br>"; echo "</form>";
$svar = $_REQUEST["$svar"];
if(!empty($spgid)) { mysql_query("UPDATE spg SET svar = $svar WHERE spgid='$spgid'") or die(mysql_error()); }
} echo "</h3><br>";
?>
men den vil ikke opdatere tabellen. ideen er at der bliver listet nogen spørgsmål og under hvert spørgsmål er der en teksboks hvor man kan skrive spørgsmålet i og trykke på sen hvorefter tabellen bliver opdateret. feltet svar skal have det nye svar indsat istedet for det gamle svar og svarey skal passe sammen med spgid er der en som har et bud på hvor fejlen er?
jeg havde byttet rundt på 2 linier $spgid = $a['spgid']; skal komme fra den forspørgsle jeg laver i tabellen da jeg skal bruge det id som er til spørgsmålet vil jeg hente det ud i en variabel.
men gør jeg sådan her virker det heller ikke $spg = mysql_query("SELECT * FROM spg WHERE til ='$til' ORDER BY `spgid` DESC"); while ($a = mysql_fetch_assoc($spg)) $spgid = $a['spgid'];
nej det gør jeg ikke men med $spg = mysql_query("SELECT * FROM spg WHERE til ='$til' ORDER BY `spgid` DESC"); while ($a = mysql_fetch_assoc($spg)) $spgid = $a['spgid'];
udskriver den kun en tekstboks, men ingen spørgsmål
jeg tror jeg har lavet den fejl ikke at uploade for med denne kode $spg = mysql_query("SELECT * FROM spg WHERE til ='$til' ORDER BY `spgid` DESC"); while ($a = mysql_fetch_assoc($spg)) $spgid = $a['spgid'];
får jeg denne fejl You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''7' at line 1
ja men nu har jeg prøvet bare med denne kode, men den udskriver ingenting og jeg vil mene det er rigtigt
$spg = mysql_query("SELECT * FROM spg WHERE til ='$til' ORDER BY `spgid` DESC"); while ($b = mysql_fetch_assoc($spg)) $spgid = $a[spgid]; { echo $spgid; }
$spg = mysql_query("SELECT * FROM spg WHERE til ='$til' ORDER BY `spgid` DESC"); while ($a = mysql_fetch_assoc($spg)) { $spgid = $a['spgid']; echo $spgid; }
$spg = mysql_query("SELECT * FROM spg WHERE til ='$til' ORDER BY `spgid` DESC"); while ($a = mysql_fetch_assoc($spg)) { $spgid = $a['spgid']; $svar = $a['svar'];
$nysvar = $_REQUEST["$spgid"]; if(!empty($svar)) { mysql_query("UPDATE spg SET svar = $nysvar WHERE spgid='".$a['spgid']."'") or die(mysql_error()); }
Det der skal ske er at der på siden bliver listet X antal formulare som hver skal opdatere et bestemt svar (svaret til det spørgsmål som er listet over formularen) jeg kan ikke lige regne ud om det er den bedste måde jeg gør det på her
if( !empty( $_POST['svar'] ) ) { $svar = mysql_escape_string( $_POST['svar'] ); mysql_query("UPDATE spg SET svar = '$_POST[svar]' WHERE spgid='$_POST[spgid]'") or die(mysql_error()); }
$spg = mysql_query("SELECT * FROM spg WHERE til ='$til' ORDER BY `spgid` DESC"); while ($a = mysql_fetch_assoc($spg)) { $spgid = $a['spgid']; $svar = $a['svar'];
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.