Кажется, этот вопрос уже был...
А ведь кажется, я спрашивала уже, как поочередно выводить данные из таблицы...
И опять на те же грабли.
Есть таблица. Хочу поочередно вывести из неё данные:
Делаю это так:
$arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]; foreach ($arr as $elem) {
echo $elem.<br>; }
$Id_Cto_Poisc_Concr = proba_l ($link, '4_Poisc', ' ', 'Id_Cto_Poisc_Concr', 'Id_Poisc = '.$elem);
$Id_Action_Poisc_Concr = proba_l ($link, '4_Poisc', ' ', 'Id_Action_Poisc_Concr', 'Id_Poisc = '.$elem);
Но программа выводит только последнюю строку - 9. То есть:
1
2
3
4
5
6
7
8
9
1412 20820
А мне надо поочередно вывести все эти значения. Какого черта программа не видит все остальные от 1 до 8? Или есть какие-то другие способы?
Наверняка использую не тот способ...
Така фигня тоже не работает:
$arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]; foreach ($arr as $elem) {
echo $elem.'<br>';
$Id_Cto_Poisc_Concr = proba_l ($link, '4_Poisc', ' ', 'Id_Cto_Poisc_Concr', 'Id_Poisc = '.$elem);
$Id_Action_Poisc_Concr = proba_l ($link, '4_Poisc', ' ', 'Id_Action_Poisc_Concr', 'Id_Poisc = '.$elem); }
А вот така фигня работает:
$arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]; foreach ($arr as $elem) {
echo $elem.'<br>';
$Id_Cto_Poisc_Concr = $elem;
$Id_Action_Poisc_Concr = $elem;
echo $Id_Cto_Poisc_Concr;
echo $Id_Action_Poisc_Concr; }
То есть, программа не видит $elem под $Id_Cto_Poisc_Concr = proba_l ($link, '4_Poisc', ' ', 'Id_Cto_Poisc_Concr', 'Id_Poisc = '.$elem); Потрошение функции proba_l ничего не дало: вставляла туда global $link, вставляла туда цикл, похоже, это все не то...
Ну, это будет стопроцентно выводить последнее значение из массива. Так что, об этом можно было даже не упоминать.
Но удивительно, что вот это:
— тоже выводит, как ты говоришь, последнее значение!
Или, все-таки, «не работает» заключается в чем-то другом?
Попробуй так:
Не очень понятно, что именно ты хочешь получить. По идее, вот этот кусок:
должен вывести элемент в массиве по индексу, т.е. Id_Poisc = 1, Id_Poisc = 2, Id_Poisc = 3 и т.д.
Так что, не зная цели, сложно что-нибудь подсказать конкретно.
Я до сих пор не могу запомнить, что именно делает эта функция вообще.
ЗЫ. Вопроса такого, кажется, не было.
Я там нашла один вариант, но корявый до черта.
Тут уже другие проблемы. Сделала таблицу под поиск, под препятствие — а если новый поиск и новое препятствие, программа же должна не к той же самой таблице обращаться, а к другой, а другой-то нет…
Что-то переделывать надо…
То есть, проблема в том была, что выдавало сразу массив целиком?
Что за корявый вариант?
// и так все девять вариантов
Но у тебя так и получается, что разные сочетания условий выводят разные результаты.
Пошел искать объект
Не нашел
Пошел искать в другое место
Напоролся на препятствие…
… заносит в таблицу, потом каждое действие таблицы расписывает как показано в этой программе: Там все эти функции — True_Object() и так далее – подразумевают занесение информации в определенную таблицу. Поиск объект – программа заносит в таблицу последовательность событий поиска объекта. Фальс объект – последовательность событий, при которых объекта не оказалось, вместо него что-то другое. Поиск барьер – последовательность событий, как персонаж столкнулся с препятствием…
А дальше проблема. Если программа в основном плане текста два раза выбрала – барьер, то есть два препятствия, то это должны быть разные препятствия. Ну препятствия-то программа может рандомно выбрать разные, но потащит их в одну и ту же таблицу – Барьер. Ну хорошо, но дальше-то у меня есть кусок программы, который поочередно выводит все из таблиц на экран. И вот он выводит из таблицы Барьер – строку 1,2,3… и.т.д, в каждой строке свое значение – что за барьер (дракон), какой дракон (большой), что делает (рычит), что вокруг (лес), какой лес (темный), и.т.д. Но в программе, выводящей все на экран, нет команды – сейчас выведи значения с 1 до 24 а через пару команд из той же таблицы значения от 24 до 48.
Есть вариант сделать таблицы – барьер 1, барьер 2 – но как я задам занесение данных в разные таблицы в этом куске кода, который я привела? Там-то четко говорится, выполняй функцию барьер, а функция барьер – занесение данных в таблицу барьер, а не барьер 1.
В общем, с этим надо что-то делать…
есть команда: составь плант текста, занеси в таблицу.
Итого имеем таблицу с планом текста:
1 — ищет цель
2 — увидел препятствие
3 — одолел препятствие
и.т.д.
потом команда: вынеси поочередно события из таблицы, на основе этих событий составь развернутое событие, занести в новую таблицу. Например:
2 — увидел препятствие:
Сгенерируй — где увидел, какое препятствие, что делало… занеси в таблицу «Барьер»:
1 — место действия
2 — что за препятствие
3 — какое оно
и.т.д.
Но если в первой таблице событие «увидел препятствие» встретися 2-3 раза? Значит, придется две или три таблицы Барьер. Но команда-то подразумевает одну таблицу барьер! И как этот вопрос разрешить, непонятно.
Как вообще осуществляется связь между текстами? По строке в таблицах? Т.е. каждая строка — один текст?
1 — место действия
2 — что за препятствие
3 — какое оно
СВыязь текстов — строка плана (действие) — таблица развернутого действия