2013-02-22 2 views
1

Могу ли я удалить запись, используя следующую функцию? Если да, как я могу это сделать? Мне нужно передать функцию на кнопку отправки?Запись Delte от db

function deleteImage($id = "") 
     { 
      if(isset($_POST['delete_image'])) 
      { 
       $query = mysql_query("DELETE FROM store WHERE id='$id'"); 
      } 
       return $query; 

     } 

HTML, выглядит следующим образом:

<?php 

    $images = mysql_query("SELECT * FROM store"); 

    while($row = mysql_fetch_assoc($images)) { 
?> 
     <form action="admin.php" method="post"> 
      <?php 
       echo "<img src=".$row['image'].">"; 
      ?> 
      <input type="submit" name="delete_image" value="DELETE IMAGE"> 
     </form> 
<?php  
    } 
?> 

Спасибо заранее!

+2

Опубликовано снова !!!! –

+0

Пожалуйста, не переуступайте. –

+0

Я изменил описание, потому что я хочу сделать себя понятным. извините за публикацию снова. – emcee22

ответ

2

Вы можете сделать что-то вроде этого, добавить скрытый ввод в форму внутри цикла while.

<input type="hidden" name="id" value="<?php echo $row['id']; ?>" 

Затем в action.php файле

$id = $_POST['id']; 
if(isset($_POST['delete_image'])) 
{ 
    $query = mysql_query("DELETE FROM store WHERE id='$id'"); 
} 
+0

Всегда приветствую дорогого. –

1

Вы должны попробовать это.

<?php 
    if(isset($_POST['delete_image'])) 
    { 
     $query = mysqli_query("DELETE FROM store WHERE id='".$_POST['image_id']."'")or die(mysqli_error()); 
    } 

    $images = mysqli_query("SELECT * FROM store"); 

    while($row = mysqli_fetch_assoc($images)) 
    { 
?> 
     <form action="admin.php" method="post"> 
      <?php echo "<img src=".$row['image'].">"; ?> 
      <input type="hidden" id="image_id_<?php echo $row['id']; ?>" value="<?php echo $row['id']; ?>" name="image_id"/> 
      <input type="submit" name="delete_image" value="DELETE IMAGE"> 
     </form> 
<?php  
    } 
?>

Я прошел идентификатор изображения в скрытом поле.

+0

Вы знаете, что ваше предложение широко открыта для SQL-инъекции? – oktopus

+0

@oktopus да, я ... –

+0

http://php.net/manual/en/migration53.deprecated.php –

0

Это ваш вид

<td>  
<?php $images = mysql_query("SELECT * FROM store"); ?> 
<form action="index.php" method="post"> 
<?php while($row = mysql_fetch_assoc($images)): ?> 
     <img src="<?php echo $row['image']; ?>"> 
     <input type="hidden" name="deleting[]" value="<?php echo $row['id_from_database'] ?>"> 
<?php endwhile; ?> 
<input type="submit" name="delete_image" value="DELETE IMAGE"> 
</form> 
</td> 

Этот код

<?php 
function deleteImage() 
{ 
    if(isset($_POST['delete_image'], $_POST['deleting']) && !empty($_POST['deleting'])) 
    { 
     $ids = array_map('intval', $_POST['deleting']); // Type conversion to integer 
     $ids = implode(', ', $ids); // Bringing to id1,id2... 
     $query = mysql_query('DELETE FROM images WHERE id IN(' . $ids . ')'); // Deleting 
     return (bool)$query; 
    } 
} 
?> 

Теперь вам нужно установить флажок, какие изображения вы хотите удалить и нажать отправить ,

Смежные вопросы