Здравствуйте. Вот такой запрос
$sql = "SELECT * FROM cms_video v1
WHERE v1.cat_id IN
( SELECT c1.id
FROM cms_video_category AS c1
LEFT JOIN cms_video_category AS c2
ON c2.id = c1.parent_id
WHERE c2.seolink = '".$link."' )
";
На выходе имею массив такого типа
Array ( [0] => Array ( [id] => 100 [seodes] => [album_id] => 1052...
с нескольких строк БД.
И не могу вывести $array[xxx].Если делаю перебор, такой
foreach ($video as $value) {
$vid = $value;}
или такой
$video = array($video);
foreach($video as $value){
foreach($value as $key => $value2){
$videos[$key] = $value2;}}
то выводится только одна строка БД. Как я понимаю мне нужно получить массив такого вида
Array ( [id] => 131 [seodes] => [album_id] => 0...
Как это сделать. Или что то другое. Подскажите, а то замучила уже.
Игорь_Vasinsky
24.04.2014 - 14:50
foreach($array as $key=>$value){
echo '<pre>' . print_r($value) . '</pre>';
}
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Akarapidoz
24.04.2014 - 14:53
foreach ($video as $value) {
$vid[] = $value['id'];
$seodes[] = $value['seodes'];
$album_id[] = $value['album_id'];
}
Возможно вы хотели что-то другое)
_____________
Прошу критиковать, если что-то не так.
Цитата (Игорь_Vasinsky @ 24.04.2014 - 13:50) |
foreach($array as $key=>$value){ echo '<pre>' . print_r($value) . '</pre>'; } |
Нет, так не работает. Всё равно выводит только одну строку и мне нужна переменная вне цикла.
Т.е. $video = ... // запрос
И $video['id'] я использую в другой ф-ции.
Цитата (Akarapidoz @ 24.04.2014 - 13:53) |
foreach ($video as $value) { $vid[] = $value['id']; $seodes[] = $value['seodes']; $album_id[] = $value['album_id']; }
Возможно вы хотели что-то другое) |
Т.е. мне нужно заново составить массив, я правильно понял?
Цитата (Akarapidoz @ 24.04.2014 - 13:53) |
foreach ($video as $value) { $vid[] = $value['id']; $seodes[] = $value['seodes']; $album_id[] = $value['album_id']; }
Возможно вы хотели что-то другое) |
Так тоже не выходит. Выводит данные только одной строки.
Akarapidoz
24.04.2014 - 15:16
А это у тебя первый foreach к переменной $video
_____________
Прошу критиковать, если что-то не так.
Игорь_Vasinsky
24.04.2014 - 15:17
покажи распечатку массива и структуру, которая нужна
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Цитата (Akarapidoz @ 24.04.2014 - 14:16) |
А это у тебя первый foreach к переменной $video |
К переменной $video. да первый. Если не считать в самом запросе.Возможно где то в скрипте есть ещё такая переменная в foreach и с неё тянется?
Что то я не смог в сполер вставить свои array -и какие то ссылки вставило. Сейчас ещё раз попробую.
Игорь_Vasinsky
24.04.2014 - 15:43
foreach ($video as $k=>$value) {
$vid[$k][] = $value['id'];
$seodes[$k][] = $value['seodes'];
$album_id[$k][] = $value['album_id'];
}
иначе перезапись переменных идёт
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Цитата (Игорь_Vasinsky @ 24.04.2014 - 14:17) |
покажи распечатку массива и структуру, которая нужна |
Не могу разобраться как вставить сполер или файл прикрепить? Через хостинг какой-то надо?Или у меня нет прав на это?
Цитата |
иначе перезапись переменных идёт |
Так она тоже идёт. Ещё один [0] появляется.
Прикрепил файл, в <pre> что то не хочет выводиться.
Блин, я думаю что задача мной поставлена не верно изначально. Ключи и не должны выводиться наверное. Т.е. их нельзя использовать выборочно. Это же не один ключ, а несколько. Прошу меня извинить, пойду курить дальше. Нужно переосмыслить логику.
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.