Как я могу исправить удаление текущей строки при нажатии IMG? - PullRequest
0 голосов
/ 26 марта 2019

Я ломал голову, пытаясь использовать модал в качестве подтверждения удаления определенной строки из моей базы данных. SQL работает, но только без модального. (требуется модал)

Из предыдущих поисков я пытался и не смог реализовать подсказки из другого вопроса .

    while ($row = $statement ->fetch(PDO::FETCH_ASSOC)) {

    Here I create a variable to use later
    <?php $username = $row['username']; ?>   

        <td>
            <div class="adjust-buttons">

                <input 
                type="image" 
                id="delete" 
                alt="delete" 
                src="../img/delete.png" 
                onclick="showModal();" 
                onmouseover="this.src='../img/delete-hover.png';" 
                onmouseout="this.src='../img/delete.png';">


                <div id="myModal" class="modal">
                    <div class="modal-content">

                        <h3>Delete user</h3>

                        <?php
                    echo 'are you sure you want ' .$username. '     removed?';
                        ?>

                        <input 
                            class="modal-button" 
                            type="button" 
                            value="Cancel" 
                            onclick="hideModal();">

                        <input 
                            class="modal-button" 
                            type="button" 
                            value="I'm sure" 
                            id="<?php echo $row['username']; ?>" 
                            onclick="document.location.href='../delete-user/delete-user.php?username=<?php echo $row['username']?>'" />
                        </div>

                    </div>
                </div>
        </td>
    </tr>

    <?php } ?>
</table>

Я ожидал, что удаленная строка будет той, которая выбрана из цикла. Это не так, выбирается только первая созданная строка независимо от того, какую кнопку удаления я нажимаю.

Ответы [ 2 ]

0 голосов
/ 26 марта 2019
    while ($row = $statement ->fetch(PDO::FETCH_ASSOC)) {

Here I create a variable to use later
<?php $username = $row['username']; ?>   

    <td>
        <div class="adjust-buttons">

            <input 
            type="image" 
            id="delete" 
            alt="delete" 
            src="../img/delete.png" 
            onclick="showModal('<?php echo $row['username']; ?>');" 
            onmouseover="this.src='../img/delete-hover.png';" 
            onmouseout="this.src='../img/delete.png';">


            <div id="myModal<?php echo $row['username']; ?>" class="modal">
                <div class="modal-content">

                    <h3>Delete user</h3>

                    <?php
                echo 'are you sure you want ' .$username. '     removed?';
                    ?>

                    <input 
                        class="modal-button" 
                        type="button" 
                        value="Cancel" 
                        onclick="hideModal();">

                    <input 
                        class="modal-button" 
                        type="button" 
                        value="I'm sure" 
                        id="<?php echo $row['username']; ?>" 
                        onclick="document.location.href='../delete-user/delete-user.php?username=<?php echo $row['username']?>'" />
                    </div>

                </div>
            </div>
    </td>
</tr>

<?php } ?>

и метод onclick

function showModal(modal_id)
{
  $('#myModal'+modal_id).show('modal');
 }

попробуйте это ...

0 голосов
/ 26 марта 2019

Просто создайте ссылку на этот вход, и он будет работать нормально.

<a href='delete-user/delete-user.php?username=<?=$row['username']?>'>
<input class="modal-button" type="button" value="I'm sure" />
</a>

или, вы можете сделать это так

onclick="deleteUser('<?=$row['username']?>')"

function deleteUser(username){
    window.location.href = "project_url_delete"+username;
}
...