С помощью этого AJAX запроса можно публиковать данные для разных идентификаторов - PullRequest
1 голос
/ 11 марта 2020

В настоящее время у меня есть запрос AJAX, который отправляет данные из базы данных в тег <div> с идентификатором result. В моем запросе PHP я возвращаю * данные из моей таблицы БД module, а затем возвращаю указанные значения c в <div> с идентификатором result. Тем не менее, есть ли способ, которым я могу опубликовать другие данные из моего PHP заявления и заполнить различные идентификаторы в моем html?

Например, с идентификатором result показывает идентификатор модуля и имя, однако я хотел также иметь другой с тегом id content и вернуть данные содержимого из моей базы данных и просто отправить на этот идентификатор content Можно ли заполнить разные с разными данными с тем же AJAX запрос?

module. php

<div>
    <h1>Welcome to this module</h1>
        <div id="result"> 
        <!-- This is where I currently return the ID and the module name -->
        </div>

        <div id="content">
        <!-- This is where I would like to return other data via the AJAX -->
        </div>
</div>

moduleTesting AJAX. php:

<?php

require 'scripts/db.php';

$moduleID = $_POST['moduleID'];

if(isset($_POST['moduleID']))
{
    $stmt = $conn->prepare ("SELECT * FROM `module` WHERE moduleID = ?");    
    $stmt->bind_param("i", $moduleID);
    $stmt->execute();
    $result = $stmt->get_result();

    while($row = $result -> fetch_assoc()) {

        echo $row['moduleID'].' '.$row['moduleName'];
        }
    }
     ?>
    </div>

script. js:

function getModuleData(moduleID){
    console.log(moduleID);
    $.ajax({  
        url: "moduleTestingAJAX.php",  
        method: "post",   
        data: {moduleID:moduleID},
        success: function(data){  
              $('#result').html(data);    
        }  
    });  

  console.log('test');
}

Снимок экрана после использования ответа Набила, поскольку вы видите, что возвращенные данные находятся в одной строке, тогда как данные содержимого должны быть возвращены в строку ниже: output

1 Ответ

1 голос
/ 11 марта 2020

Отправьте обратно ответ json с ключом в качестве идентификатора div и значением, так как данные должны быть заполнены.

<?php

require 'scripts/db.php';

$moduleID = $_POST['moduleID'];

if(isset($_POST['moduleID']))
{
$stmt = $conn->prepare ("SELECT * FROM `module` WHERE moduleID = ?");    
$stmt->bind_param("i", $moduleID);
$stmt->execute();
$result = $stmt->get_result();
$output = [];
while($row = $result -> fetch_assoc()) {
    $output["result"] = $row['moduleID'].' '.$row['moduleName'];
    $output["content"] = $row["content"];
    }

echo json_encode($output);

}
 ?>
</div>

Используя jquery, вы можете заполнить различные div из ответа

function getModuleData(moduleID){
    console.log(moduleID);
    $.ajax({  
        url: "moduleTestingAJAX.php",  
        method: "post",   
        data: {moduleID:moduleID},
        success: function(data){  
              $('#result').html(data.result);    
              $('#content').html(data.content);    
        }  
    });  


}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...