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
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • 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.