Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
3 / 3 / 2
Регистрация: 29.10.2013
Сообщений: 230

Добавление данных в массив

29.11.2014, 13:39. Показов 1698. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как добавлять к массиву данные не стирая старые, отдельно строкой.
например
PHP
1
2
3
if ($url == true){
  echo $index->render( array(  'posts' => $posts, 'cats' => $cats, 'auth' => $auth, 'url' => $url ) );
}
бедет для всех страниц

а это уже для конкуретной, но уже нужно добавить еще пару данных
PHP
1
2
3
4
if ($url == '/index.php'){
  $index = $twig->loadTemplate('index.html');
  echo $index->render( array( 'menu' => $menu) );
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
29.11.2014, 13:39
Ответы с готовыми решениями:

Добавление данных в массив
Вообщем мне 14. Так что строго не судить) У меня такой вопрос как можно добавить в массив? Код на РНР у меня таков ...

Добавление данных из базы в массив
как правильно вложить данные из while($ys = $stmt->fetch()){echo $I.'=>'$ys->pro.',';} в массив array() так не работает $I = 0; ...

Добавление данных в многомерный массив
Доброго времени суток. Помогите, пожалуйста, разобраться, а то я совсем запутался. Из БД я получаю n строк с двумя столбцами:...

9
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
29.11.2014, 17:28
Ваник Хачатрян, попробуйте использовать addGlobal(), чтобы переменные были доступны во всех шалонах. Вот, почитайте: http://twig.kron0s.com/blog/ (Раздел "Глобальные переменные")
1
3 / 3 / 2
Регистрация: 29.10.2013
Сообщений: 230
29.11.2014, 17:48  [ТС]
Не совсем понял

Как это тут реализовать
PHP
1
2
3
4
5
6
7
8
9
10
if ($url == '/index.php'){
  $index = $twig->loadTemplate('index.html');
  echo $index->render( array(  'posts' => $posts, 'cats' => $cats, 'auth' => $auth, 'url' => $url ) );
}
 
if ($url == '/cat.php'){
  $cat = $twig->loadTemplate('cat.html');
  echo $cat->render( array( 'posts' => $posts, 'catname' => $catname, 'info_cat' => $info_cat, 'cats' => $cats, 'catsmenu' => $catsmenu, 'auth' => $auth));
  
}
Добавлено через 54 секунды
Мне нужно что бы не писать везде 'posts' => $posts, т.к. он везде должен быть, а вот 'catname' => $catname был конкретно на категориях
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
30.11.2014, 07:10
Лучший ответ Сообщение было отмечено Ваник Хачатрян как решение

Решение

Ваник Хачатрян, наверное как-то так:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# Переменная будет доступна во всех шаблонах
    $twig->addGlobal( 'post', $posts );
    
    if ($url == '/index.php'){
        # Какой шаблон загружать
        $tmpl = 'index';
        
        # Массив данных для шаблона
        $data = array(
            'cats' => $cats, 
            'auth' => $auth, 
            'url' => $url 
        );
    }
     
    if ($url == '/cat.php'){
        # Какой шаблон загружать
        $tmpl = 'cat';
        
        # Массив данных для шаблона
        $data = array( 
            'catname'  => $catname, 
            'info_cat' => $info_cat, 
            'cats'     => $cats, 
            'catsmenu' => $catsmenu, 
            'auth'     => $auth
        );
      
    }
    
    # Загружаем указанный шаблон
    $tmpl = $twig->loadTemplate( $tmpl . '.html' );
    
    # Обрабатываем шаблон и выводим
    $tmpl->render( $data );
Главное там вот это (по теме):
PHP
1
2
# Переменная будет доступна во всех шаблонах
    $twig->addGlobal( 'post', $posts );
А обработку шаблона я вынес за пределы условий, для того, чтобы не дублировалось одно и то же по нескольку раз.
0
3 / 3 / 2
Регистрация: 29.10.2013
Сообщений: 230
30.11.2014, 10:12  [ТС]
Не получается
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
try {
  // указывае где хранятся шаблоны
  $loader = new Twig_Loader_Filesystem($tmpl_dir);
 
  // инициализируем Twig
  $twig = new Twig_Environment($loader);
     $twig->addGlobal( 'post', $posts );
 
  
if ($url == '/index.php'){
  $index = $twig->loadTemplate('index.html');
  echo $index->render( array( 'cats' => $cats, 'auth' => $auth, 'url' => $url ) );
}
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
30.11.2014, 10:44
Цитата Сообщение от Ваник Хачатрян Посмотреть сообщение
Не получается
Что именно? Как определили? Переменнея $posts существует? Вы в шаблоне правильное название переменной "post" вводите?
0
3 / 3 / 2
Регистрация: 29.10.2013
Сообщений: 230
30.11.2014, 13:47  [ТС]
У меня сделано так. Если в шаблоне post == false то он вводит нет данных в категории, а я попробовал как вы сделали и он вывел что нету данных. Может вам весь код дать?

Добавлено через 1 минуту
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
<?
include_once '../config.php';
$url = $_SERVER["PHP_SELF"]; 
$admurl = $_SERVER["REQUEST_URI"];
$postid = $_GET["post"];
 
//Шаблонизатор
require_once $tmpl_dir.'/lib/Twig/Autoloader.php';
Twig_Autoloader::register();
 
try {
  // указывае где хранятся шаблоны
  $loader = new Twig_Loader_Filesystem($tmpl_dir);
 
  // инициализируем Twig
  $twig = new Twig_Environment($loader);
  
  
if ($url == '/index.php'){
  $index = $twig->loadTemplate('index.html');
  echo $index->render( array(  'posts' => $posts, 'cats' => $cats, 'auth' => $auth, 'url' => $url ) );
}
 
if ($url == '/cat.php'){
  $cat = $twig->loadTemplate('cat.html');
  echo $cat->render( array( 'posts' => $posts, 'catname' => $catname, 'info_cat' => $info_cat, 'cats' => $cats, 'catsmenu' => $catsmenu, 'auth' => $auth));
  
}
 
if ($url == '/s.php'){
  $post = $twig->loadTemplate('post.html');
  echo $post->render( array('posts' => $posts, 'cats' => $cats, 'auth' => $auth));
}
 
 
 
//Admin
 
if ($getid == 2){
  $editpost = $twig->loadTemplate('editpost.html');
  echo $editpost->render( array('posts' => $posts, 'cats' => $cats, 'admin' => $admin, 'auth' => $auth));
}
 
if ($getid == 1){
  $editpost = $twig->loadTemplate('addpost.html');
  echo $editpost->render( array('posts' => $posts, 'cats' => $cats,  'admin' => $admin,'auth' => $auth));
}
  // передаём в шаблон переменные и значения
  // выводим сформированное содержание
 
 
} catch (Exception $e) {
  die ('ERROR: ' . $e->getMessage());
} 
 
?>
Добавлено через 2 минуты
'posts' => $posts это массив
PHP
1
2
3
4
5
6
7
$result = mysqli_query($mysqli, $query);
 
# Построчно обходим результат
while($post = mysqli_fetch_array($result)){
    # Дописываем данные в массив
    $posts[] = $post;
  }
Добавлено через 1 минуту
И в шаблоне массив
{% for post in posts %}
{{post.description}}
{% endfor %}

Добавлено через 20 минут
Супер, все получилось но как добавить еще
PHP
1
     $twig->addGlobal( 'post', $posts еще );
Добавлено через 2 часа 32 минуты
Я все сделал, получилось, т.к. добавить еще глобальных, в эту строчку, или нужно обяззательно копировать эту
PHP
1
 $twig->addGlobal( 'post', $posts );
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
30.11.2014, 13:54
Лучший ответ Сообщение было отмечено Ваник Хачатрян как решение

Решение

Цитата Сообщение от Ваник Хачатрян Посмотреть сообщение
все получилось
Всё получилось? Отлично.
Цитата Сообщение от Ваник Хачатрян Посмотреть сообщение
но как добавить еще
В документации так показывается:
PHP
1
2
$twig->addGlobal( 'post', $posts );
$twig->addGlobal( 'вторая переменная', 'второе значение');
1
3 / 3 / 2
Регистрация: 29.10.2013
Сообщений: 230
30.11.2014, 13:55  [ТС]
Ясно, я просто думал можно сделать в той же строчке
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
30.11.2014, 13:55
Хотя в принципе можно доработать метод addGlobals в самом twig, чтобы он принмал сразу несколько параметров массивом.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
30.11.2014, 13:55
Помогаю со студенческими работами здесь

Добавление данных в массив который в файле
Здравствуйте, бьюсь уже третий день кажется всё перепробовал ничего не спасает... есть файл в нём массив доменов &lt;?php ...

Добавление данных в многомерный массив через цикл
Здравствуйте! Как добавить данные в многомерный массив используя цикл? Я пробую так: $privet = array(); for($i = 0; $i &lt; 3;...

Добавление в массив
Доброе время суток! Может вопрос глуп, но он все таки есть! скрипт получает данные из БД производит некоторые манипуляции и ему в цикле...

Добавление данных
Народ, помогите решить пример на php пожалуйста Есть поле ввода, кнопка добавить и кнопка отправить 1) Допустим, я ввожу 5 и...

Добавление данных в бд
Помогите пожалуйста ,я недавно начал учить PHP , HTML &amp; CSS у меня начальные знания (пока хватает) ,я много раз пытался подключить в PHP бд...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru