Добро пожаловать, Гость!
Циклы в PHP - Страница 1
Помощь мастерам | Циклы в PHP
ATMAS :
Прошу не кидать в меня тухлые яйца с помидорами))
Есть обычный цикл foreach ($q as $post), из него нужно вынести переменную с ид за пределы цикла для дальнейшей работы с ней. Нашел вариант
<?php
$datam = array();
foreach ($q as $post)
{
$datam[] = $post['id']; //???? это под вопросом
нужно именно ид передать в цикл
через var_dump($datam); все необходимые ид отсвечивает:
"array(72) { [0]=> string(3) "121" [1]=> string(3) "117" [2]=> string(3) "116" [3]=> string(3) "115" [4]=> string(3) "105" [5]=> string(3) "104" [6]=> string(3) "103" [7]=> string(3) "102" [8]=> string(3) "101" [9]=> string(3) "100" [10]=> string(2) "99" [11]=> string(2) "97" [12]=> string(2) "94" [13]=> string(2) "89" [14]=> string(2) "90" [15]=> string(2) "88" [16]=> string(2) "70" [17]=> string(2) "85" [18]=> string(2) "81" [19]=> string(2) "79" [20]=> string(2) "77" [21]=> string(2) "73" [22]=> string(2) "72" [23]=> string(2) "71" [24]=> string(2) "67" [25]=> string(2) "49" [26]=> string(2) "65" [27]=> string(2) "64" [28]=> string(2) "63" [29]=> string(2) "62" [30]=> string(2) "61" [31]=> string(2) "58" [32]=> string(2) "55" [33]=> string(2) "54" [34]=> string(2) "53" [35]=> string(2) "52" [36]=> string(2) "51" [37]=> string(2) "48" [38]=> string(2) "46" [39]=> string(2) "45" [40]=> string(2) "44" [41]=> string(2) "43" [42]=> string(2) "41" [43]=> string(2) "40" [44]=> string(2) "35" [45]=> string(2) "36" [46]=> string(2) "37" [47]=> string(2) "38" [48]=> string(2) "34" [49]=> string(2) "33" [50]=> string(2) "32" [51]=> string(2) "31" [52]=> string(2) "30" [53]=> string(2) "29" [54]=> string(2) "28" [55]=> string(2) "27" [56]=> string(2) "25" [57]=> string(2) "24" [58]=> string(2) "23" [59]=> string(2) "22" [60]=> string(2) "21" [61]=> string(2) "20" [62]=> string(2) "19" [63]=> string(2) "18" [64]=> string(2) "17" [65]=> string(2) "16" [66]=> string(2) "14" [67]=> string(2) "12" [68]=> string(1) "9" [69]=> string(1) "5" [70]=> string(1) "4" [71]=> string(1) "1" }"
?>
а вот PHP матюгается "Array to string conversion.."
P.S. PHP 8.0
Прошу помощи знающих людей
Циклы в PHP
10 Июня 2022Прошу не кидать в меня тухлые яйца с помидорами))
Есть обычный цикл foreach ($q as $post), из него нужно вынести переменную с ид за пределы цикла для дальнейшей работы с ней. Нашел вариант
<?php
$datam = array();
foreach ($q as $post)
{
$datam[] = $post['id']; //???? это под вопросом
нужно именно ид передать в цикл
через var_dump($datam); все необходимые ид отсвечивает:
"array(72) { [0]=> string(3) "121" [1]=> string(3) "117" [2]=> string(3) "116" [3]=> string(3) "115" [4]=> string(3) "105" [5]=> string(3) "104" [6]=> string(3) "103" [7]=> string(3) "102" [8]=> string(3) "101" [9]=> string(3) "100" [10]=> string(2) "99" [11]=> string(2) "97" [12]=> string(2) "94" [13]=> string(2) "89" [14]=> string(2) "90" [15]=> string(2) "88" [16]=> string(2) "70" [17]=> string(2) "85" [18]=> string(2) "81" [19]=> string(2) "79" [20]=> string(2) "77" [21]=> string(2) "73" [22]=> string(2) "72" [23]=> string(2) "71" [24]=> string(2) "67" [25]=> string(2) "49" [26]=> string(2) "65" [27]=> string(2) "64" [28]=> string(2) "63" [29]=> string(2) "62" [30]=> string(2) "61" [31]=> string(2) "58" [32]=> string(2) "55" [33]=> string(2) "54" [34]=> string(2) "53" [35]=> string(2) "52" [36]=> string(2) "51" [37]=> string(2) "48" [38]=> string(2) "46" [39]=> string(2) "45" [40]=> string(2) "44" [41]=> string(2) "43" [42]=> string(2) "41" [43]=> string(2) "40" [44]=> string(2) "35" [45]=> string(2) "36" [46]=> string(2) "37" [47]=> string(2) "38" [48]=> string(2) "34" [49]=> string(2) "33" [50]=> string(2) "32" [51]=> string(2) "31" [52]=> string(2) "30" [53]=> string(2) "29" [54]=> string(2) "28" [55]=> string(2) "27" [56]=> string(2) "25" [57]=> string(2) "24" [58]=> string(2) "23" [59]=> string(2) "22" [60]=> string(2) "21" [61]=> string(2) "20" [62]=> string(2) "19" [63]=> string(2) "18" [64]=> string(2) "17" [65]=> string(2) "16" [66]=> string(2) "14" [67]=> string(2) "12" [68]=> string(1) "9" [69]=> string(1) "5" [70]=> string(1) "4" [71]=> string(1) "1" }"
?>
а вот PHP матюгается "Array to string conversion.."
P.S. PHP 8.0
Прошу помощи знающих людей
Последний раз редактировалось Zed 11 Июня 2022
Комментарии:
ATMAS 6 Ноября 2022
Автор темы
в общем, прикол такой: где-то в коде (скорее всего в js(!)) накидывается +1 при первом запуске страницы с плейлистом и плеером, ибо ситуевина такая, что при первом посещении или после обновления страницы с плеером и плейлистом, после нажатия кнопки плей, плеер перекидывает на следующий файл, и дальше все работает без сбоев, можно даже вручную запустить первый файл, который не зашел ранее. Блин, ну я хз, как все вариации описать, спрашивайте лучше, что вам непонятно, так будет продуктивнее, я думаю
Автор темы
в общем, прикол такой: где-то в коде (скорее всего в js(!)) накидывается +1 при первом запуске страницы с плейлистом и плеером, ибо ситуевина такая, что при первом посещении или после обновления страницы с плеером и плейлистом, после нажатия кнопки плей, плеер перекидывает на следующий файл, и дальше все работает без сбоев, можно даже вручную запустить первый файл, который не зашел ранее. Блин, ну я хз, как все вариации описать, спрашивайте лучше, что вам непонятно, так будет продуктивнее, я думаю
ATMAS 6 Ноября 2022
Автор темы
хочу сразу определиться с наименованиями для простоты и удобства понимания, о чем речь идет
Плеер - участок кода, размещается до вызова цикла (while, foreach, не суть важно), отвечает за управление плейлистом кнопками play/pause, next/previous (пока недоступно, в планах добавить в ближайшем будущем);
Плейлист - участок кода, через который формируется и выводится список файлов по заданным параметрам (в данном случае, это штатный $q)
Автор темы
хочу сразу определиться с наименованиями для простоты и удобства понимания, о чем речь идет
Плеер - участок кода, размещается до вызова цикла (while, foreach, не суть важно), отвечает за управление плейлистом кнопками play/pause, next/previous (пока недоступно, в планах добавить в ближайшем будущем);
Плейлист - участок кода, через который формируется и выводится список файлов по заданным параметрам (в данном случае, это штатный $q)
ATMAS 4 Ноября 2022
Автор темы
P.S. ----------------------
сверху плейлиста мне нужно поставить управление плеером, а оно идет перед началом цикла foreach, вот для этого мне и нужен "велосипед"))
Автор темы
MarkPrior (23 Окт 2022):
Проблема не в выборке ID. Это ты делаешь правильно.
На верочку: образец выборки, прокомментировал, что как работает.
То, что используешь foreach - правильно (если у тебя $q уже является массивом с результатами запроса к БД).
У тебя проблема в самой реализации плеера. Не понятно, зачем ты вообще пытаешься вытянуть все ID, если ID-идентификатор трека у тебя передаётся аж в пяти местах. Собственно, оттуда в JS ты и можешь (вернее, должен) его получать, а не с внешнего массива.
Как получить идентификатор.
Легко и просто. У тебя есть объект, по которому пользователь кликает для воспроизведения трека. Вот через атрибуты этого объекта и передавай ID. Собственно, у тебя это происходит в строке:
<span id="mp3play-$post['id']" class="icon-play" onclick="Player('toggle', '$post['id']')">
Первый и последний ID.
Если тебе они прям-таки нужны, то реализация будет такая: скриншот.
Array to string conversation...
Возникает, потому что ты пытаешься вывести весь список ID, как строку, в самом участке JS-кода.
===========
Пересматривай алгоритм своего плеера, проблема в его реализации, она, мягко говоря, кривейшая.
Не должно быть такого, чтобы куски JS-кода вставлялись в HTML. Плеер с плейлистом реализуется крайне просто, всё уместится в 1 js-файл.
MarkPrior, спасибо за подсказки, но не совсем понял пункт "если у тебя $q уже является массивом с результатами запроса к БД". Я раньше таким не заморачивался, как это делается?Проблема не в выборке ID. Это ты делаешь правильно.
На верочку: образец выборки, прокомментировал, что как работает.
То, что используешь foreach - правильно (если у тебя $q уже является массивом с результатами запроса к БД).
У тебя проблема в самой реализации плеера. Не понятно, зачем ты вообще пытаешься вытянуть все ID, если ID-идентификатор трека у тебя передаётся аж в пяти местах. Собственно, оттуда в JS ты и можешь (вернее, должен) его получать, а не с внешнего массива.
Как получить идентификатор.
Легко и просто. У тебя есть объект, по которому пользователь кликает для воспроизведения трека. Вот через атрибуты этого объекта и передавай ID. Собственно, у тебя это происходит в строке:
<span id="mp3play-$post['id']" class="icon-play" onclick="Player('toggle', '$post['id']')">
Первый и последний ID.
Если тебе они прям-таки нужны, то реализация будет такая: скриншот.
Array to string conversation...
Возникает, потому что ты пытаешься вывести весь список ID, как строку, в самом участке JS-кода.
===========
Пересматривай алгоритм своего плеера, проблема в его реализации, она, мягко говоря, кривейшая.
Не должно быть такого, чтобы куски JS-кода вставлялись в HTML. Плеер с плейлистом реализуется крайне просто, всё уместится в 1 js-файл.
P.S. ----------------------
сверху плейлиста мне нужно поставить управление плеером, а оно идет перед началом цикла foreach, вот для этого мне и нужен "велосипед"))
MarkPrior 23 Окт 2022
На верочку: образец выборки, прокомментировал, что как работает.
То, что используешь foreach - правильно (если у тебя $q уже является массивом с результатами запроса к БД).
У тебя проблема в самой реализации плеера. Не понятно, зачем ты вообще пытаешься вытянуть все ID, если ID-идентификатор трека у тебя передаётся аж в пяти местах. Собственно, оттуда в JS ты и можешь (вернее, должен) его получать, а не с внешнего массива.
Как получить идентификатор.
Легко и просто. У тебя есть объект, по которому пользователь кликает для воспроизведения трека. Вот через атрибуты этого объекта и передавай ID. Собственно, у тебя это происходит в строке:
<span id="mp3play-$post['id']" class="icon-play" onclick="Player('toggle', '$post['id']')">
Первый и последний ID.
Если тебе они прям-таки нужны, то реализация будет такая: скриншот.
Array to string conversation...
Возникает, потому что ты пытаешься вывести весь список ID, как строку, в самом участке JS-кода.
===========
Пересматривай алгоритм своего плеера, проблема в его реализации, она, мягко говоря, кривейшая.
Не должно быть такого, чтобы куски JS-кода вставлялись в HTML. Плеер с плейлистом реализуется крайне просто, всё уместится в 1 js-файл.
ATMAS (25 Июня 2022):
Zed, сам файл скину
Проблема не в выборке ID. Это ты делаешь правильно. Zed, сам файл скину
На верочку: образец выборки, прокомментировал, что как работает.
То, что используешь foreach - правильно (если у тебя $q уже является массивом с результатами запроса к БД).
У тебя проблема в самой реализации плеера. Не понятно, зачем ты вообще пытаешься вытянуть все ID, если ID-идентификатор трека у тебя передаётся аж в пяти местах. Собственно, оттуда в JS ты и можешь (вернее, должен) его получать, а не с внешнего массива.
Как получить идентификатор.
Легко и просто. У тебя есть объект, по которому пользователь кликает для воспроизведения трека. Вот через атрибуты этого объекта и передавай ID. Собственно, у тебя это происходит в строке:
<span id="mp3play-$post['id']" class="icon-play" onclick="Player('toggle', '$post['id']')">
Первый и последний ID.
Если тебе они прям-таки нужны, то реализация будет такая: скриншот.
Array to string conversation...
Возникает, потому что ты пытаешься вывести весь список ID, как строку, в самом участке JS-кода.
===========
Пересматривай алгоритм своего плеера, проблема в его реализации, она, мягко говоря, кривейшая.
Не должно быть такого, чтобы куски JS-кода вставлялись в HTML. Плеер с плейлистом реализуется крайне просто, всё уместится в 1 js-файл.
ATMAS 5 Июля 2022
Автор темы
Автор темы
kantry (2 Июля 2022):
ATMAS, аудио плеер с частотным спектром
kantry, а как это мне поможет? Мне совсем другое требуетсяATMAS, аудио плеер с частотным спектром