У меня есть список "img_title" .'Img_title' получает через php из базы данных - динамический список.
+------------------------+
| img_title: |
+========================+
| golden Retriever |
+------------------------+
| Appenzeller Sennenhund |
+------------------------+
| German Shepard |
+------------------------+
| Alaskan Klee Kai |
+------------------------+
| . . . . . |
+------------------------+
Если пользователь нажимает на "img_title"...
+-----------------------------+
|<b>Appenzeller Sennenhund</b>|
+-----------------------------+
... затем должен появиться новый блок div с "img_descr" отдельно и извлеченным черезAJAX :
+-----------------------------+ +-----------------------------+
| Appenzeller Sennenhund | |<b>Swiss: ABC123... </b>|
+-----------------------------+ +-----------------------------+
... или
+-----------------------------+ +-----------------------------+
| golden Retriever | |<b>UK: ZYX987... </b>|
+-----------------------------+ +-----------------------------+
Мне нужно соединение между данными php и данными ajax.
Я только знаю, как получить все описания сразу, но не знаю, как извлечь "img_title - ID: 3" (php) только с "img_descr - ID: 3" (ajax).
Я думалсобирается извлечь также «img_id» и, ссылаясь на это, ajax может получить больше данных из базы данных.
Вот мой код (без соединения img_id между php и ajax fetched data)
HTML &PHP:
<body>
<?php
$db = mysqli_connect("localhost", "root", "", "xy");
$result = mysqli_query($db, "SELECT * FROM images");
while ($row = mysqli_fetch_array($result))
{
echo "<button class='img_title'>Title: <b>" . $row['img_title'] . "</b></button><br>";
}
?>
<div id="descrs"></div>
</body>
JavaScrpit & AJAX
<script>
// Get the buttons (NodeList)
var buttons = document.querySelectorAll("button.img_title");
for(var x=0; x < buttons.length; x++) {
buttons[x].addEventListener('click', loadDescr);
}
function loadDescr(e)
{
var xhr = new XMLHttpRequest();
xhr.open('GET', 'ajax.php', true);
xhr.onload = function()
{
if (this.status == 200)
{
var descrs = JSON.parse(this.responseText);
var output = '';
for (var i in descrs) {
output += '<ul>' +
'<li class="ajax_img_descr">ID: ' + descrs[i].img_descr + '</li>' + '</ul>';
}
document.getElementById('descrs').innerHTML = output;
}
}
xhr.send();
}
</script>
ajax.php
<?php
// Create Connection
$conn = mysqli_connect('localhost', 'root', '', 'xy');
$query = 'SELECT * FROM images';
// Get Result
$result = mysqli_query($conn, $query);
// Fetch Data
$users = mysqli_fetch_all($result, MYSQLI_ASSOC);
echo json_encode($users);
?>