Есть SQL запрос на вывод всех песен:
$res = mysqli_query($bd, "SELECT * FROM users INNER JOIN rus ON rus.idpolz=users.id ORDER BY reyting DESC");
while($row = mysqli_fetch_array($res))
{
echo "<audio id=audio src=./mp3/".$row['file']." data-mp3=".$row['file']." style=width:500px controls></audio>";
}
В таблице rus есть столбец file там идет полное название песни:
Нужно перенести все содержимое столбца file в массив JS в таком виде:
let playlist = [
Helloy.mp3,
Treck10.mp3,
Treck2.mp3,
];
Пробовал создать массив в JS и занести туда через data-* ,но почему то не выходит:
первый способ дает массив с ключами:
let playlist = element.getAttribute("data-mp3");
2 ой способ ваще не робит, возможно я делаю что то не так (закинул сразу в массив нахождение элемента по id.dataset.data-mp3):
let idAudio = document.getElementById('audio');
let playlist = [
idAudio.dataset.mp3,
]
Потом есть еще вариант сделать массив в Php и каким то образом передать в JS:
$mass = array();
while($rws = mysqli_fetch_assoc($res))
{
$mass[] = $rws['file'];
<script>
let playlist = [
<?php $mass[0] ?>,
<?php $mass[1] ?>,
<?php $mass[2] ?>,
]
</script>
}
Проблема в том что массив на находит 1-ую строку в таблице а начинает сразу со второй: Array ( [0] => Track10.mp3 [1] => Track2.mp3 ) хз почему. Вторая проблема в том что когда пользователь добавит песню массив увеличится и мне надо будет собственноручно добавлять в массив <?php $mass[3] ?>,<?php $mass[...] ?>,а если я буду не начеку то мой аудио плеер не сможет найти и воспроизвести новые добавленные песни=(
Подскажите кто чем может.