PHP & MySQL - Deleting table rows problem -


okay script supposed delete specific users case stored in 2 mysql tables reason when user deletes specific case deletes users cases want delete case user selects. wondering how can fix problem? in advance helping.

here php & mysql code.

if(isset($_post['delete_case'])) {  $cases_ids = array();  $mysqli = mysqli_connect("localhost", "root", "", "sitename"); $dbc = mysqli_query($mysqli,"select cases.*, users_cases.* cases inner join users_cases on users_cases.cases_id = cases.id users_cases.user_id='$user_id'");  if (!$dbc) {     print mysqli_error($mysqli); }  else {     while($row = mysqli_fetch_array($dbc)){          $cases_ids[] = $row["cases_id"];     } }  foreach($_post['delete_id'] $di) {     if(in_array($di, $cases_ids)) {         $mysqli = mysqli_connect("localhost", "root", "", "sitename");         $dbc = mysqli_query($mysqli,"delete users_cases cases_id = '$di'");          $dbc2 = mysqli_query($mysqli,"delete cases id = '$di'");     }  }  } 

here xhtml code.

<li> <input type="text" name="file[]" size="25" /> <input type="text" name="case[]" size="25" /> <input type="text" name="name[]" size="25" /> <input type="submit" name="delete_case" id="delete_case" value="delete case" /> <input type="hidden" name="delete_id[]" value="' . $row['cases_id'] . '" /> </li>  <li> <input type="text" name="file[]" size="25" /> <input type="text" name="case[]" size="25" /> <input type="text" name="name[]" size="25" /> <input type="submit" name="delete_case" id="delete_case" value="delete case" /> <input type="hidden" name="delete_id[]" value="' . $row['cases_id'] . '" />  </li>  <li> <input type="text" name="file[]" size="25" /> <input type="text" name="case[]" size="25" /> <input type="text" name="name[]" size="25" /> <input type="submit" name="delete_case" id="delete_case" value="delete case" /> <input type="hidden" name="delete_id[]" value="' . $row['cases_id'] . '" />  </li> 

here mysql tables.

create table cases ( id int unsigned not null auto_increment, file varchar(255) not null, case varchar(255) not null, name varchar(255) not null, primary key (id) );  create table users_cases ( id int unsigned not null auto_increment, cases_id int unsigned not null, user_id int unsigned not null, primary key (id) ); 

from first glance it's because html contained in same form. so, no matter delete case button click, every 1 of delete_id[] hidden fields going submitted server.

so you'd need separate each row it's own form like...

<li> <form method="post" action="someurl.php"> <input type="text" name="file[]" size="25" /> <input type="text" name="case[]" size="25" /> <input type="text" name="name[]" size="25" /> <input type="submit" name="delete_case" id="delete_case" value="delete case" /> <input type="hidden" name="delete_id[]" value="' . $row['cases_id'] . '" /> </form> </li> 

or else changing submit buttons plain button , adding javascript...


Comments

Popular posts from this blog

javascript - Enclosure Memory Copies -

php - Replacing tags in braces, even nested tags, with regex -