Det verkar vara på den här raden felet ligger:
<b>ID: <? echo $row['g_id']; ?></b><input type="hidden" name="id">
Ändra slutet till:
<input type="hidden" name="id" value="<? echo $row['g_id']; ?>">
5 svar · 421 visningar · startad av ann
hej,
undrar om någon sålt min hjärna, jag e grön på detta m nu står det still. jag försöker radera post från min mysql db utan resultat. kan spara och hämta data därifrån men inte redigera något.
här är ett ex:
<?php
require ("connect.php");
$result = mysql_query("SELECT * FROM gbook ORDER BY g_id DESC");
while ($row = mysql_fetch_array($result))
{
?>
<TABLE border="1" WIDTH="60%" align="center">
<form method="post" action="delete_msg.php.">
<TR><TD>
<b>ID: <? echo $row['g_id']; ?></b><input type="hidden" name="id">
</TD><TD>
<b><? echo $row['g_time']; ?></b>
</TD><TD>
<b><? echo $row['g_name']; ?></b>
</TD><TD>
<b><? echo $row['g_msg']; ?></b>
</TD><TD align="right">
<input type="submit" value="Radera">
</TD></TR>
</form>
</TABLE>
<? } ?>
<?php
//************DELETE ****************
if(isset($_POST["id"]))
{
$mysql_query2 = "DELETE FROM gbook" . "WHERE g_id='" . $_POST["id"] . "';";
if (@mysql_query($mysql_query2))
{
print "<p>msg deleted!</p>";
} else {
print "<p>msg could not be deleted..</p>";
}
$num_rows2 = mysql_affected_rows();
if($num_rows2 == 1)
{
echo "&action=Record #$id deleted from the database";
}else if($num_rows2 > 1){
echo "&error=More than one row may have
been deleted";
}else{
echo "&error=No records were deleted.";
}
@mysql_free_result($mysql_query2);
}else{
echo "&error=Login incorrect or no correct parameters provided";
}
?>
</body >
</html>
vore så tacksam för hjälp....
tack!!
Det verkar vara på den här raden felet ligger:
<b>ID: <? echo $row['g_id']; ?></b><input type="hidden" name="id">
Ändra slutet till:
<input type="hidden" name="id" value="<? echo $row['g_id']; ?>">
tack
ser klart mer logiskt ut att fånga upp "id " i value= MEN det deletas inte utan får felmedelande:
msg could not be deleted..
&error=No records were deleted.
tittar vidare.
hej.
Den här raden ser lite knas ut:
$mysql_query2 = "DELETE FROM gbook" . "WHERE g_id='" . $_POST["id"] . "';";
Du har inget mellanslag mellan gbook och WHERE.
Jag tror inte du ska ha med något semikolon i slutet av SQL-frågan.
Testa så här:
$mysql_query2 = "DELETE FROM gbook WHERE g_id='" . $_POST["id"] . "'";
Ett tips är ju att vänta med att sätta dit @ tills du vet att allt funkar som det ska.
if (@mysql_query($mysql_query2))