Как передать данные базы данных mysql функции javascript с помощью php?

Я создаю сеть, где люди могут добавлять в нее фан-базу и удалять ее, нажав кнопку X. Вот что я хочу: когда пользователь нажимает кнопку X, появляется модальное окно с сообщением «вы уверены», а когда он нажимает кнопку удаления в модальном окне, данные будут удалены из базы данных (я использую mysql база данных).

Когда пользователь нажимает кнопку X, я надеюсь, что модальное окно появилось с конкретным названием фан-базы, которую пользователь хочет удалить. Но я не знаю, как передать идентификатор фан-базы (из моей базы данных) в функцию, которую я сделал, и использовать ее. Вот как это выглядит:

модальное окно из "welcome.php"

    <div class = "modal fade" id = "delmdl">
            <div class = "modal-dialog">
            <div class = "modal-content">
            
                <!-- Modal Header -->
                <div class = "modal-header">
                <h4 class = "modal-title">Delete Fanbase</h4>
                <button type = "button" class = "close" data-dismiss = "modal">×</button>
                </div>
                
                <!-- Modal body -->
            <form id = "" method = "post" action = "deletefanbase.php">
                <div class = "modal-body">
                <h5>Are you sure you want to delete this fanbase?
                    <span><!-- this is where the fanbase's name should be --></span>
                </h5>
                </div>               
                <!-- Modal footer -->
                <div class = "modal-footer">
                <button name = "addfbmdl" type = "submit" class = "btn btn-danger" >Delete</button>
                </div>  
            </form>             
            </div>
            </div>
        </div>

код для итеративного добавления div фан-баз из "showfanbase.php"

<?php
  require "session.php";
  require "connect.php";
  if (!isset($_SESSION["loggedin"])||$_SESSION["loggedin"]!==true){
     header("location: login.php");
     exit;
  }
  
  $sql = "SELECT fanroom.id AS fr_id, fanroom.uid AS uid, fanroom.aid AS aid, fanroom.name AS fr_name, 
  fanroom.description AS fr_desc,
  artists.id, artists.name AS a_name, users.username,users.id AS user_id
  FROM fanroom INNER JOIN artists ON fanroom.aid=artists.id INNER JOIN users ON fanroom.uid=users.id 
  ORDER BY fanroom.created_at DESC";

   $result=$link->query($sql);
   if ($result){
   $output = "<div class='container' style='margin:15px;'>";
     if ($result->num_rows>0){
        while($row = $result->fetch_assoc()){
           if ($row['user_id']==$_SESSION['id']){
               $username = "You";
               $output. = "<div class='row'>
                <div class='col border' style='margin:10px;border-radius:10px;padding:15px;'>
                <h3>".$row['fr_name']."</h3>
                <p style='color:grey;'>Made by <b>".$username."</b></p>
                <h5 style='color:grey;'>A <b>".$row['a_name']."'s</b> Fanbase</h5>
                <p>".$row['fr_desc']."</p> 
                <button id='delete' type='button' class='btn btn-danger' 
                   onclick='deletefunction(".$row['fr_id'].")' >x</button> #this is the X button
                </div>
                </div>";
            }
            else{
                 $username=$row['username'];
                 $output. = "<div class='row'>
                <div class='col border' style='margin:10px;border-radius:10px;padding:15px;'>
                <h3>".$row['fr_name']."</h3>
                <p style='color:grey;'>Made by <b>".$username."</b></p>
                <h5 style='color:grey;'>A <b>".$row['a_name']."'s</b> Fanbase</h5>
                <p>".$row['fr_desc']."</p>
                </div>
                </div>";
             }   
          }
$output. = "</div>";
echo $output;
   }
}?>

и при нажатии этой кнопки будет выполнена функция (deletefunction()) в «Welcome.php». внутри него я передаю идентификатор фан-базы, который вот-вот будет удален. Предполагается, что эта функция показывает только модальное окно, но я хочу, чтобы эта функция могла содержать идентификатор фан-базы, который будет удален.

<script>
function deletefunction(del_id){
    $('#delmdl').modal();} 
</script>

что мне нужно было добавить в свой код, чтобы я мог отображать имя фан-базы в модальном окне и чтобы я мог передать идентификатор этой фан-базы в deletefanbase.php (это для удаления данных в базе данных mysql)?

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
2
0
579
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

вы должны взять скрытое поле, чтобы опубликовать это значение в deletefanbase.php

возьмите скрытое поле в welcome.php, например.

<input type='hidden' name='delbyid' id='delbyid value = "">

когда функция выполняется, установите идентификатор удаления в скрытое поле перед отправкой формы

$('#delbyid').val(del_id);

он опубликует значение этого поля с $_POST['delbyid'] на deletefanbase.php здесь вы можете выполнить запрос на удаление определенной записи с этим идентификатором

//you need to make connection for database or include database connection file before run query
    $delid=$_POST['delbyid'];
    $sql = "DELETE FROM table_name WHERE id = $delid ";
    $result=$link->query($sql);
    if ($result){
    echo "delete successfully";
    }

СПАСИБО ЗА ОТВЕТ, РАБОТАЕТ! и я добавил ajax на welcome.php, чтобы получить имя фан-базы в модальном окне. Я понял, что вы не можете передать переменную javascript напрямую в переменную php.

так, это так:

модальное окно из "welcome.php"

    <div class = "modal fade" id = "delmdl">
            <div class = "modal-dialog">
            <div class = "modal-content">
            
                <!-- Modal Header -->
                <div class = "modal-header">
                <h4 class = "modal-title">Delete Fanbase</h4>
                <button type = "button" class = "close" data-dismiss = "modal">×</button>
                </div>
                
                <!-- Modal body -->
            <form id = "" method = "post" action = "deletefanbase.php">
                <div class = "modal-body">
                <h5>Are you sure you want to delete this fanbase?</h5>
                
                <p>Fanbase name: <span id = "fbname"></span></p>
                <input type='hidden' name='delbyid' id='delbyid' value = "">
                </div>               
                <!-- Modal footer -->
                <div class = "modal-footer">
                <button name = "addfbmdl" type = "submit" class = "btn btn-danger" >Delete</button>
                </div>  
            </form>             
            </div>
            </div>
        </div>

функция в файле welcome.php

function deletefunction(del_id){
    $('#delmdl').modal(); 
    $('#delbyid').val(del_id);
    $.ajax({
        url:"getfbname.php",
        type:"POST",
        data:({fb_id:del_id}),
        success:function(response){
            $('#fbname').html(response);
        }
    });
}

getfbname.php , это php, чтобы имя фан-базы отображалось в модальном окне.

<?php
require "session.php";
require "connect.php";
if (!isset($_SESSION["loggedin"])||$_SESSION["loggedin"]!==true){
    header("location: login.php");
    exit;
}
$id=$_POST['fb_id'];
$sql = "SELECT name FROM fanroom WHERE id=$id";
$result=$link->query($sql);
if ($row=$result->fetch_assoc()){
    echo $row['name'];
}?>

еще раз спасибо за ответ, мне очень помогло!

Другие вопросы по теме