Войти

Показать полную графическую версию : собрать переменные из цикла в одну переменную while


binders
14-09-2011, 21:20
собрать переменные из цикла в одну переменную while

надо из цикла собрать ИДЫ в одну переменную для последующего создания запроса к бд для вывода этих идов

переделывать цикл while в for не предлагайте скрипт движка ДЛЕ я прсто пытаюсь создать модуль

Sham
14-09-2011, 22:31
недопонял, подробности приветствуются.

binders
15-09-2011, 00:47
в самом скрипте есть файл с функциями и есть там такая функция которая в цикле выводит ну например 10 новостей на страницу

если всунуть в цикл который в одной из функций $row[id] то по echo можно увидеть иды новостей выводимых на странице

вопрос как мне собрать иды выводимые в цикле в одну переменную для дальнейшего их использования

вопрос не совсем по теме но новую создавать вроде не нужно

как сделать перенос на новую строку после 5 циклов

это не корректно работает ( после первого цикла идёт перенос но потом как надо )
$elt++;
$nline="";
if ($elt>="5") {$nline='<div style="clear: both;"></div><br>'; $elt="0";}

PhilB
15-09-2011, 16:41
По поводу первого вопроса, наверно так (если я верно понял вопрос):
$ids = array_map(function ($x) { return ($x['id']); }, $a);
По поводу второго (если я верно понял вопрос):

for ($i=0; $i < $n; $i++) {
if ($i % 5 == 4) $nline='<div*style="clear:*both;"></div><br>';
else $nline='';
echo $whatYouNeed, $nline;
}

binders
15-09-2011, 22:36
PhilB,

а как пользоваться вашими функциями ?

первой я вобще не понял
второй не работает если заменить моё на ваше то нечего не работает

Sham
16-09-2011, 07:52
1.$IDS = array(); //выше цикла
//в цикле
$IDS[] = $row['id'];
//после цикла
$string = implode(',', $IDS); // 1,2,3,4
2. смотрите HTML на выходе, на словах не надо...

PhilB
16-09-2011, 18:54
binders, вопросы сформулированы достаточно неочевидно.
Что касается первого вопроса. Я так понял, вы хотите преобразовать массив типа

Array
(
[0] => Array
(
[id] => 0
[name] => name1
)
[1] => Array
(
[id] => 2
[name] => name2
)
)
в

Array
(
[0] => 0
[1] => 2
)

Тогда $a - исходный массив, $ids - выходной массив.

Что касается второго. Вы хотите сделать перенос после каждых 5 итераций? Тогда вам надо сделать так: когда остаток от деления на 5 станет равным 4, вы на итерации кратной 5ой (при условии цикла от нуля). Там и надо после основного вывода добавить перевод строк. Это идея. Не исключаю, что вас не понял.

binders
16-09-2011, 20:11
что касается первого то Sham, все расписал в трёх строчках кода за что ему огромное спасибо

и про второе он тоже прав вина была в ХТМЛ части скрипта




© OSzone.net 2001-2012