Jump to content

Can't edit and delete in the same table


tommy168

Recommended Posts

Hey guys

 

So my question is related to the delete and edit functions in a table

 

When I am able to delete entries, I can't edit

 

When I am able to edit entries, I can't delete

 

Let me explain... Started with the table script first (excerpt):

 

echo "<form method = \"post\" action=\"{$_SERVER['PHP_SELF']}\">
<table>
<tr>
<td width=\"55\" class=\"formLabelsS2\"><input type=\"submit\" name=\"delete_mail\" value=\"Delete\" id=\"delete_mail\"></td>
</tr>
</table>";

echo "<table class=\"sortable\" id=\"query_quick2\" width=\"100%\" >\r\n";
echo "\t<tr><th class=\"sorttable_nosort\" ></th><th class=\"sorttable_nosort\" ></th>
<th class=\"sorttable_alpha\" >Promoter Locus</th>\r\n";


if($result->num_rows){
while ($row = $result->fetch_array()){
$RowCount ++;
$row_color = ($RowCount % 2) ? $color1 : $color2;
echo "\t<tr id=\"{$row['id']}\" class=\"$row_color\" >


<!--<form method = \"post\" action=\"{$_SERVER['PHP_SELF']}\">-->



<td><input type =\"hidden\" name = \"id\" value=\"{$row['id']}\"/></td>
<td><input name=\"checkbox[]\" type=\"checkbox\" id=\"checkbox[]\" value=\"{$row['id']} \"></td>
<td>{$row['pro']}</td>
<td><input type=\"submit\" name=\"edit_mail\" value = \"Edit\"/></td>



<!--</form>-->



</tr>";

}
}

echo "</table>";
echo "</form>"; 

 

Script for deleting entries (excerpt):

 

} elseif(isset($_SESSION['user_id']) AND isset($_POST['delete_mail'])){
//user is deleting existing queries
$connect=db_connect_2();

if($_POST['checkbox']){
{
foreach($_POST['checkbox'] as $check)
{
$delete = mysqli_query($connect, "DELETE FROM mailing_list WHERE id = '$check'");

}
$msgs[] = "Entry deletion was successful!";
$body = "account.php";
} 

 

 

When "edit_mail" button is pressed:

 

} elseif(isset($_SESSION['user_id']) AND isset($_POST['edit_mail'])){
//user is editing existing queries
$body = "mailingList_edit.php";

} 

 

 

A editing form is displayed based on the value of $id:

 

<?php
//retrieve user information
$conn=db_connect_2();
$id = mysqli_real_escape_string($conn, $_POST['id']);
$result = $conn->query("SELECT * FROM mailing_list WHERE id = '$id';");
$mail = $result->fetch_array();
?>

<div class="viewTitles" >Edit Your Queries:</div>
<form method = "post" action = "<? echo $_SERVER['PHP_SELF'] ?>">
<table>
<tr><td width="88" class="formLabelsS2" align="left">Promoter Locus:</td></tr>
<tr><td><input class = "basicTextField" type="text" name="pro_edit" value="<? echo $mail['pro']; ?>"></td></tr>

</table>

 

OK so what happens is:

 

I can delete entries with no problems by checking off the entries I want to delete then click delete button

 

But when I try to click "edit" button near a specific entry (individually), it DOES refer to a specific entry, but right after i SORT the table using sorttable.js, it would always refer to the LAST entry.

 

So I am suspecting there's problem with positioning of the <form></form> inside the while loop (see the table script, as I put lot of space in between these lines for emphasis)

 

Note that I put these <form> and </form> lines as comment so I could do what I mention above, otherwise I couldn't even delete any entries if I leave these 2 lines to be part of the while loop BUT !! I could edit specific entry even after I sort the table

 

 

I know this is long thread, so please let me know if you need more clarification

 

Thanks.

Link to comment
https://forums.phpfreaks.com/topic/232432-cant-edit-and-delete-in-the-same-table/
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.