В настоящее время у меня есть таблица, заполненная данными 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 этой строки при нажатии
Я думаю, я знаю, что вы пытаетесь сделать. То, что вы хотите, — это 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");
Надеюсь это поможет!
Вам нужно будет добавить 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>