Заполните отдельный div для нажатия кнопки, где идентификатор кнопки основан на переменных

В настоящее время у меня есть таблица, заполненная данными MySQL следующим образом:

 $result = mysqli_query($con,"SELECT * FROM artist LIMIT 10");
if (!$result) {
printf("Error: %s\n", mysqli_error($con));
exit();
}//show artist data in table
echo "<table><th>BadNoise Artists</th>";
while($row = mysqli_fetch_array($result))
{
echo "<tr><td>" . $row['FirstName'] . "</td><td>" . $row['LastName'] . "</td><td><button id='" . $row['ArtistNumber'] . "'>Songs by this artist</button></tr>" ;
}
echo "</table>";
mysqli_close($con);

?>

Скрипт в заголовке сообщает каждому нажатию кнопки для заполнения одного и того же div:

<script>
$(document).ready(function(){
$("button").click(function(){
var ArtistNumber = $(this).attr('id');
$("#div1").load("demo_test" + ArtistNumber + ".txt");
});
});
</script>

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

1

Решение

Я думаю, я знаю, что вы пытаетесь сделать. То, что вы хотите, — это div в каждой строке, который заполняется при нажатии кнопки. Итак, ваш PHP-код будет выглядеть так:

while($row = mysqli_fetch_array($result))
{
echo "<tr><td>" . $row['FirstName'] . "</td>
<td>" . $row['LastName'] . "</td>
<td><button id='" . $row['ArtistNumber'] . "'>Songs by this artist</button></td>
<td><div id='artist" . $row['ArtistNumber'] . "'></div></td></tr>" ;
}

И вы бы изменили свой JQuery, чтобы поместить его в это div используя его идентификатор:

$("#artist" + ArtistNumber).load("demo_test" + ArtistNumber + ".txt");

Надеюсь это поможет!

0

Другие решения

Вам нужно будет добавить div в каждую строку вашей таблицы. Вы можете дать ему класс «результатов». Тогда обратитесь к этому в своем JS. Вот что я бы сделал:

HTML / PHP:

<body>
<?php

//$result = mysqli_query($con, "SELECT * FROM artist LIMIT 10");
if (!$result) {
printf("Error: %s\n", mysqli_error($con));
exit();
}

//show artist data in table
echo "<table><th>BadNoise Artists</th>";
while ($row = mysqli_fetch_array($result)) {
?>
<tr>
<td><?= $row['FirstName']; ?></td>
<td><?= $row['LastName']; ?></td>
<td><button id="<?= $row['ArtistNumber']; ?>">Songs by this artist</button></td>
<td><div class='results'></div></td>
</tr>
<?php
}
echo "</table>";
mysqli_close($con);
?>
</body>

JS:

<script>
$(document).ready(function() {
$("button").click(function() {
alert();
var ArtistNumber = $(this).attr('id');
$(this).closest("tr").find(".results").load("demo_test" + ArtistNumber + ".txt");
});
});
</script>
0

По вопросам рекламы [email protected]