| |
|
|
| | подскажете пожалуйста как при while($danie=mysql_fetch_array($tt))....
добавлять значения колонки в один массив? | |
| |
|
|
| |
|
|
| |
для: moonfox
(27.12.2007 в 20:02)
| | | $a[] = ... | |
| |
|
|
| |
|
|
| |
для: bronenos
(27.12.2007 в 20:22)
| | | пробывал что то не то выходило..
вот
if($test[$i]==$u_id) $a[]=$danie['id'];$smarty->assign('a',$a);
в массиве находиться
Array ( [0] => 3 ) Array ( [0] => 3 [1] => 4 )
как в шаблоне вывести данные
........
{section name='h' loop=$a}
{$a[........]} ?
{/section} | |
| |
|
|
| |
|
|
| |
для: moonfox
(27.12.2007 в 20:47)
| | | >if($test[$i]==$u_id) $a[]=$danie['id'];$smarty->assign('a',$a);
Вы правда полагаете что если несколько строчек объединить в одну, то все они будут выполняться в результате одного if? | |
| |
|
|
| |
|
|
| |
для: Loki
(28.12.2007 в 10:36)
| | | там не одна строка
я хотел узнать как создать и вносить элементы в массив чтобы на выходе получить один массив со всеми значениями | |
| |
|
|
| |
|
|
| |
для: moonfox
(28.12.2007 в 17:07)
| | | У вас массив какой-то странный. Ну вот такой, например:
<?
$a = Array(0 => Array(0 => 'as1_1', 1 => 'as1_2', 2 => 'as1_3',
3 => Array(0 => Array(0 => 'one1', 1 => 'two1'))),
1 => Array(0 => 'as2_1', 1 => 'as2_2', 2 => 'as2_3',
3 => Array(1 => Array(0 => 'one2', 1 => 'two2'))));
?>
//вывод
{section name="i" loop=$a}
{$a[i][0]} - {$a[i][1]} - {$a[i][2]} <BR>
{assign var = "new" value = $a[i][3]}
{$new[i][0]} - {$new[i][1]}<BR>
{/section}
|
| |
| |
|
|
| |
|
|
| |
для: sim5
(28.12.2007 в 17:49)
| | | что то как все ... странно)
может я чего незнаю и не так делаю.
задача примерно такова.
есть поле 'komy' в нем находяться id пользователей для которых нужно показывать данные из этой строки из отведенного поля
данные в поле komy ввиде 1,12,36, - id пользователей
я пытаюся найти в каждой строке таблицы в поле komy наличие id соотвествующего id авторизированого пользователя а потом показать текст находящийся в поле для информации
<?
$query = "SELECT * FROM `pub_ob`";
$tt= mysql_query($query);
$i=0;
while($danie=mysql_fetch_array($tt))
{
$test=explode(',' , $danie['komy']);
for($i=0;$i<=count($test)-1;$i++)
// -1 потому как последняя запись любого поля имеет запятую - а это пустое значение
{
if($test[$i]==$u_id) {$a[]=$danie['id'];$b[]=$danie['name_ru'];}}
// в каждом проходе цикла сверяю сооветвует ли цифра из поля - id юзера ( $u_id)
}
$smarty->assign('a',$a);
$smarty->assign('b',$b);
|
вывод print_r($a);
выдает что каждый проход создает массив с текущим результатом + новым тоесть:
для двух найденных соотвествий будет 2 массива
Array ( [0] => 3 ) Array ( [0] => 3 [1] => 4 )
для трех Array ( [0] => 3 ) Array ( [0] => 3 [1] => 4) Array ( [0] => 3 [1] => 4 [2]=>33)и тд..
в шаблоне пишу
{section name='h' loop=$a}
{$a[h]}
{/section}
|
получаю
3
4
33
вот тут я не пойму если массив $a содержал в себе вот ту кучу массивов и лишь последний содержал список всех выбранных данных - почему в шаблоне выводиться все правильно?
......... | |
| |
|
|
| |
|
|
| |
для: moonfox
(28.12.2007 в 19:00)
| | | Array ( [0] => 3 ) Array ( [0] => 3 [1] => 4 ) такого не знаю, такое array(0 => Array ( [0] => 3 ), 1 => Array ( [0] => 3 [1] => 4 )) еще могу понять. Что касается вывода в Смарти, то если вам нужно разложить многомерный массив некого элемента массива, то назначайте этот массив новой переменной Смарти и раскладывайте его во вложенном цикле. Вот про это и есть мой пример. Собственно в мануале Смарти все вроде понятно расписано, тем более если ваш массив проще. | |
| |
|
|
| |
|
|
| |
для: sim5
(28.12.2007 в 19:06)
| | | так отчего
строка цикла
$a[]=$danie['id'];
заносить этот бред? - Array ( [0] => 3 ) Array ( [0] => 3 [1] => 4) Array ( [0] => 3 [1] => 4 [2]=>33
я предпологал получить только одну запись из переменой а = Array ( [0] => 3 [1] => 4 [2]=>33
а в смарти все нормально.... | |
| |
|
|
| |
|
|
| |
для: moonfox
(28.12.2007 в 19:10)
| | | Вот почему у вас бред в массиве сказать не могу, код ваш. Если в Смарти у вас так как надо, значит вы не верно массив прописали здесь. | |
| |
|
|
| |
|
|
| |
для: sim5
(28.12.2007 в 19:14)
| | | я привел тот кусок кода который выбирает и формирует массив
нет ли там чего не корректного? | |
| |
|
|
| |
|
|
| |
для: moonfox
(28.12.2007 в 19:18)
| | | Почитайте мануал - там все очень просто с примерами различных массивов. Разберетесь в чем у вас "бардак" будете знать как вывести. | |
| |
|
|
| |
|
|
| |
для: sim5
(28.12.2007 в 19:26)
| | | проблемой как являеться что стоит for стоит внутри while... поэтому так и формирует | |
| |
|
|