php - Why can't I delete multiple values using checkboxes? -


i don't know i'm doing wrong here, can't delete multiple values database.

i have 1 html table values database table, , inserted button delete row.

but button doesn't work, don't know why.

i'm using mvc structure, i'm following own rules.

i made on view (i cant post original code, sorry)

function print($valuearray){ //calling function  <table> //html table here <tr>   <td>id</td>   <td>delete</td>   foreach($valuearray $key){     echo " <form method='post'> //form delete values  <td> ".$key['id']."</td>  <td><input name='checkbox[]' type='checkbox'/></td>  <input type='submit' name='delete' /> </form>"; 

and did on model

function function(){     $sql = ("select * mytable");    $result = mysql_query($sql);  if(isset($_post['delete'])) {     $checkbox = $_post['checkbox'];  for($i=0;$i<count($checkbox);$i++){  $del_id = $checkbox[$i]; $sql = "delete * mytable id ='$del_id'"; $result = mysql_query($sql); }  }    print($valuearray);   } 

its html problem.

you have give checkboxes names , values:

<input type="checkbox" name="delete[]" value="<?=$key['id']?>" /> 

notice name of checkbox 'delete[]', , not 'delete'.

in php part should check $_post['delete'] exists:

if(isset($_post['delete']) && !empty($_post['delete'])) { 

after foreach $_post['delete'] value - use separate delete statement;

foreach($_post['delete'] $delete_id) {     $sql = 'delete mytable id="'.$delete_id.'" limit 1'; } 

notice limit 1 part - great limit queries, if delete smth. in case delete maximum of 1 row table.

in case of php & mysql database - might want use prepared statements mysqli connector. but, that's question.

or join them in 1 query, better approach.

$sql = 'delete mytable id in (1,2,3,4,5);' mysql_query($sql); 

where 1,2,3,4,5 - delete_ids.


Comments

Popular posts from this blog

apache - Remove .php and add trailing slash in url using htaccess not loading css -

javascript - jQuery show full size image on click -