2014-10-21 2 views
0

У меня есть этот код, где я получаю все строки из моей базы данных MySQL:Удаление определенного результата строки, полученного через mysql_query?

<?php 
$result = mysql_query("SELECT * FROM `photos` WHERE `photo_category` = 1 AND `photo_active` = 1"); 
while($row = mysql_fetch_array($result)) {; 
?> 
    <img src="<?php echo $row['thumb_path'] ?>"><br> 
    Creatie datum: <?php echo $row['photo_date'] ?><br> 
    <a href="">Delete picture</a> 
<?php }; ?> 

Я хотел бы, чтобы удалить изображение, где мое удаление кнопки включена. Я понятия не имею, как мне начать или как я могу это достичь. Любая помощь приветствуется! enter image description here

+3

Пожалуйста, [не используйте 'mysql_ *' функции] (http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in-php), они больше не являются поддерживаются и [официально устарели] (https://wiki.php.net/rfc/mysql_deprecation). Узнайте о [подготовленных заявлениях] (http://en.wikipedia.org/wiki/Prepared_statement) и используйте [PDO] (http://us1.php.net/pdo) или [MySQLi] (http: // us1.php.net/mysqli). [Эта статья] (http://php.net/manual/en/mysqlinfo.api.choosing.php) поможет вам решить. –

+2

Вы хотите что-то вроде кнопки HTML, ссылающейся на 'deleteRow.php? RowID = #'. – user3973427

+0

@JayBlanchard Я действительно получил код ошибки от PHP. Я только начал с уроков PHP в школе, и мы используем этот код для изучения основ. Спасибо за указание, хотя, я узнаю другого точно, когда я закончил с этим проектом! ^^ – Mae

ответ

0

Как и другие заявили, ознакомьтесь с PDO или mysqli для вашего интерфейса между вашей базой данных. На ваш вопрос. Вам нужно выпустить команду MySQL DELETE. Чтобы это работало, ваш пользователь mysql должен иметь привилегии удаления в таблице, из которой вы удаляете строку. Используя ваш пример выше, SQL будет выглядеть следующим образом:

<html> 
    <img src="<?php echo $row['thumb_path'] ?>"><br> 
    Creatie datum: <?php echo $row['photo_date']; ?><br> 

    <form name="photo_<?php echo $row['photo_id']; ?>_delete" action="doDelete.php" method="post"> 
    <input type="hidden" name="photo_id" value="<?php echo $row['photo_id']; ?>"> 
    <input class="delete_button" type="submit" name="submit" value="delete"> 
</form> 

</html> 


<?php //doDelete.php 

if ($_POST['submit'] == 'delete') { 
    $photo_id = $_POST['photo_id']; 
    $sql = "DELETE FROM photos WHERE photo_id = " . $photo_id . " LIMIT 1"; 
    if (mysql_query($sql)) { 
    //photo deleted. 
    } else { 
    //handle errors. 
    } 
} 
?> 

Для того, чтобы это работало, вы будете нуждаться, чтобы добавить primary key к вашей фотографии таблицы.

+0

Все, что вы предложили, уже сделано. Проблема в том, что я не знаю, как создать эту функцию. Я хочу нажать кнопку удаления и изображение, в котором кнопка будет удалена. :( – Mae

+0

@Mae Смотрите мои правки – Tanner

+0

вы, где быстрее меня! Ваш предыдущий ответ заставил меня подумать, как я могу использовать функцию get. Большое вам спасибо! :) Вы сделали мой день! – Mae

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