2016-02-27 2 views
0

Это может быть вопрос о нобе. У меня есть таблица под названием user_thoughts. Я делаю кнопку Delete, которая при щелчке удалит «мысль». У меня есть две строки в моей таблице:Как получить доступ к столбцу в строке с использованием PHP

Row 1:

id - 106 
message - This is message 1 
added_by - AliceP 

Row 2:

id - 107 
message - This is message 2 
added_by - AliceP 

Вот то, что я до сих пор (del_post.php):

<?php include("connect.php"); ?> 

<?php 
session_start(); 
if (!isset($_SESSION["user_login"])) { 
    header("Location: index.php"); 
} else { 
    $username = $_SESSION["user_login"]; 
} 

/**************************/ 

// get id of all posts by logged in user 
$get_id = "SELECT id FROM user_thoughts WHERE added_by ='$username'"; 
$run_query = mysqli_query($connect, $get_id); 
    while ($row_query = mysqli_fetch_array($run_query)) { 
     $tho_id = $row_query['id']; 
     $comment_assigned_to_id = ['message']; 

    $delete_query = mysqli_query ($connect, "DELETE FROM user_thoughts WHERE id = '$tho_id' '"); 
    header ("Location: /profile_page/$username"); 

    } 
?> 

Если я хочу удалить думал This is message 1, я нажимаю delete, и он удалит все сообщения на AliceP. Как я могу получить идентификатор текущего сообщения, а затем удалить только это сообщение?

+0

У вас есть запрос внутри цикла while, который означает, что он удалит их все, вам нужно сделать это с помощью ajax или использовать ссылку, которую вы нажимаете, и использовать GET для создания функции удаления –

+0

Я избавился от while loop полностью, поэтому теперь он читает '$ row_query = mysqli_fetch_array ($ run_query);'. Кажется, что он работает лучше в том смысле, что теперь он удаляет по одному сообщению за раз, но он, кажется, удаляет самые старые «мысли», когда я нажимаю delete. Независимо от того, какой пост я навешиваю и нажимаю delete, самая старая мысль всегда удаляется. – Freddy

+0

Как вы отправляете данные этому файлу? Вы отправляете его по почте/получаете или нет вообще –

ответ

0

Шаг 1:

В нижней части сценария, создать форму, так и в форме (с использованием результатов ЗЕЬЕСТ в цикле):

  • Отображение строки
  • создать кнопку с именем = "удалить" и значение = ID (идентификатор строки)

Шаг 2:

В верхней части вашего скрипта добавьте код, который будет (при отправке формы) извлечет значение $ _GET ["delete"] или $ _POST ["delete"] (в зависимости от того, используете ли вы GET или POST-форму метод).

Если значение отсутствует, пропустите часть удаления.

Создать & выполнить инструкцию delete на основе извлеченного значения идентификатора строки.