i
Полезная информация
Свернуть
21.11.2024
ruensvdefrptesitzharnl

Кажется, этот вопрос уже был...

Кажется, этот вопрос уже был...

А ведь кажется, я спрашивала уже, как поочередно выводить данные из таблицы...

И опять на те же грабли.

Есть таблица. Хочу поочередно вывести из неё данные: 

Делаю это так:

$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, вставляла туда цикл, похоже, это все не то...

07:50
496
0
Aagira Aagira 1 год назад #
  1. $arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
  2. foreach ($arr as $elem)
  3. {
  4. echo $elem.<br />;
  5. }
  6.  
  7. $Id_Cto_Poisc_Concr = proba_l ($link, '4_Poisc', ' ', 'Id_Cto_Poisc_Concr', 'Id_Poisc = '.$elem);
  8. $Id_Action_Poisc_Concr = proba_l ($link, '4_Poisc', ' ', 'Id_Action_Poisc_Concr', 'Id_Poisc = '.$elem);


Ну, это будет стопроцентно выводить последнее значение из массива. Так что, об этом можно было даже не упоминать. ch_lol

Но удивительно, что вот это:
  1.  
  2. $arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
  3. foreach ($arr as $elem)
  4. {
  5. echo $elem.'<br />';
  6. $Id_Cto_Poisc_Concr = proba_l ($link, '4_Poisc', ' ', 'Id_Cto_Poisc_Concr', 'Id_Poisc = '.$elem);
  7. $Id_Action_Poisc_Concr = proba_l ($link, '4_Poisc', ' ', 'Id_Action_Poisc_Concr', 'Id_Poisc = '.$elem);
  8. }
  9.  

— тоже выводит, как ты говоришь, последнее значение!

Или, все-таки, «не работает» заключается в чем-то другом?

Попробуй так:

  1. $arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
  2. foreach ($arr as $elem)
  3. {
  4. echo $elem.'<br />';
  5. $Id_Cto_Elem = $elem;
  6. $Id_Action_Elem = $elem;
  7. $Id_Cto_Poisc_Concr = proba_l ($link, '4_Poisc', ' ', 'Id_Cto_Poisc_Concr', 'Id_Poisc = '.$Id_Cto_Elem);
  8. $Id_Action_Poisc_Concr = proba_l ($link, '4_Poisc', ' ', 'Id_Action_Poisc_Concr', 'Id_Poisc = '.$Id_Action_Elem);
  9. }


Не очень понятно, что именно ты хочешь получить. По идее, вот этот кусок:
  1. 'Id_Poisc = '.$elem

должен вывести элемент в массиве по индексу, т.е. Id_Poisc = 1, Id_Poisc = 2, Id_Poisc = 3 и т.д.

Так что, не зная цели, сложно что-нибудь подсказать конкретно.

Я до сих пор не могу запомнить, что именно делает эта функция вообще.

ЗЫ. Вопроса такого, кажется, не было.
0
Мария Фомальгаут Мария Фомальгаут 1 год назад #
Не, опять выдает 123456789
Я там нашла один вариант, но корявый до черта.

Тут уже другие проблемы. Сделала таблицу под поиск, под препятствие — а если новый поиск и новое препятствие, программа же должна не к той же самой таблице обращаться, а к другой, а другой-то нет…
Что-то переделывать надо…
0
Aagira Aagira 1 год назад #
Не, опять выдает 123456789

То есть, проблема в том была, что выдавало сразу массив целиком?
Что за корявый вариант? ch_search
0
Мария Фомальгаут Мария Фомальгаут 1 год назад #
  1.  
  2. $Id_Cto_Poisc_Concr = proba_l ($link, '4_Poisc', ' ', 'Id_Cto_Poisc_Concr', 'Id_Cto_Poisc_Concr =1');
  3. $Id_Action_Poisc_Concr = proba_l ($link, '4_Poisc', ' ', 'Id_Action_Poisc_Concr', 'Id_Action_Poisc_Concr =1');
  4. if ($Id_Cto_Poisc_Concr==15735 and $Id_Action_Poisc_Concr==2503) {
  5. echo Poisc_Object();
  6. }
  7. if ($Id_Cto_Poisc_Concr==15735 and $Id_Action_Poisc_Concr==20820) {
  8. echo True_Object();
  9. }
  10. if ($Id_Cto_Poisc_Concr==15735 and $Id_Action_Poisc_Concr==15398) {
  11. echo False_Object();
  12. }
  13. if ($Id_Cto_Poisc_Concr==1412 and $Id_Action_Poisc_Concr==2503) {
  14. echo Poisc_Barier();
  15. }
  16. if ($Id_Cto_Poisc_Concr==1412 and $Id_Action_Poisc_Concr==20820) {
  17. echo True_Barier();
  18. }
  19. if ($Id_Cto_Poisc_Concr==1412 and $Id_Action_Poisc_Concr==15398) {
  20. echo False_Barier();
  21. }
  22.  
  23.  
  24. $Id_Cto_Poisc_Concr = proba_l ($link, '4_Poisc', ' ', 'Id_Cto_Poisc_Concr', 'Id_Cto_Poisc_Concr =2');
  25. $Id_Action_Poisc_Concr = proba_l ($link, '4_Poisc', ' ', 'Id_Action_Poisc_Concr', 'Id_Action_Poisc_Concr =2');
  26. if ($Id_Cto_Poisc_Concr==15735 and $Id_Action_Poisc_Concr==2503) {
  27. echo Poisc_Object();
  28. }
  29. if ($Id_Cto_Poisc_Concr==15735 and $Id_Action_Poisc_Concr==20820) {
  30. echo True_Object();
  31. }
  32. if ($Id_Cto_Poisc_Concr==15735 and $Id_Action_Poisc_Concr==15398) {
  33. echo False_Object();
  34. }
  35. if ($Id_Cto_Poisc_Concr==1412 and $Id_Action_Poisc_Concr==2503) {
  36. echo Poisc_Barier();
  37. }
  38. if ($Id_Cto_Poisc_Concr==1412 and $Id_Action_Poisc_Concr==20820) {
  39. echo True_Barier();
  40. }
  41. if ($Id_Cto_Poisc_Concr==1412 and $Id_Action_Poisc_Concr==15398) {
  42. echo False_Barier();
  43. }
  44.  


// и так все девять вариантов
0
Мария Фомальгаут Мария Фомальгаут 1 год назад #
Но здесь миллион раз повторяется одно и то же. То есть вариант корявый.
0
Aagira Aagira 1 год назад #
Соглашусь. ch_sad
Но у тебя так и получается, что разные сочетания условий выводят разные результаты.
0
Мария Фомальгаут Мария Фомальгаут 1 год назад #
Так так и надо, шоб разные сочетания разные результаты давали
0
Мария Фомальгаут Мария Фомальгаут 1 год назад #
И не знаю, то ли радоваться, то ли куда — но russiannlp.github.io/rugpt-demo/ пишет лучше моей убогой программы. С одной стороны ждала чего-то такого с нетерпением, с другой — вся работа с 17 года псу под хвост…
0
Aagira Aagira 1 год назад #
Твоя работа — это твоя работа. Даже если не получится — зато опыта наберешься нужного. Ну и если когда-нибудь программистом захочешь стать — будет что-то в портфолио.
0
Мария Фомальгаут Мария Фомальгаут 1 год назад #
Пишут, что эту нейросеть можно дообучить на конкретных текстах какого-нибудь автора, но пока не вижу, где и как это можно сделать…
0
Мария Фомальгаут Мария Фомальгаут 1 год назад #
Тут самое поганое вылезает в программе дальше. Программа генерирует основную последовательность событий:
Пошел искать объект
Не нашел
Пошел искать в другое место
Напоролся на препятствие…
… заносит в таблицу, потом каждое действие таблицы расписывает как показано в этой программе: Там все эти функции — True_Object() и так далее – подразумевают занесение информации в определенную таблицу. Поиск объект – программа заносит в таблицу последовательность событий поиска объекта. Фальс объект – последовательность событий, при которых объекта не оказалось, вместо него что-то другое. Поиск барьер – последовательность событий, как персонаж столкнулся с препятствием…
А дальше проблема. Если программа в основном плане текста два раза выбрала – барьер, то есть два препятствия, то это должны быть разные препятствия. Ну препятствия-то программа может рандомно выбрать разные, но потащит их в одну и ту же таблицу – Барьер. Ну хорошо, но дальше-то у меня есть кусок программы, который поочередно выводит все из таблиц на экран. И вот он выводит из таблицы Барьер – строку 1,2,3… и.т.д, в каждой строке свое значение – что за барьер (дракон), какой дракон (большой), что делает (рычит), что вокруг (лес), какой лес (темный), и.т.д. Но в программе, выводящей все на экран, нет команды – сейчас выведи значения с 1 до 24 а через пару команд из той же таблицы значения от 24 до 48.
Есть вариант сделать таблицы – барьер 1, барьер 2 – но как я задам занесение данных в разные таблицы в этом куске кода, который я привела? Там-то четко говорится, выполняй функцию барьер, а функция барьер – занесение данных в таблицу барьер, а не барьер 1.
В общем, с этим надо что-то делать…
0
Aagira Aagira 1 год назад #
Не очень понятно. Нужна команда для вывода значений или то, как их рассчитать?
0
Мария Фомальгаут Мария Фомальгаут 1 год назад #
Постараюсь сформулировать понятнее.
есть команда: составь плант текста, занеси в таблицу.
Итого имеем таблицу с планом текста:
1 — ищет цель
2 — увидел препятствие
3 — одолел препятствие
и.т.д.
потом команда: вынеси поочередно события из таблицы, на основе этих событий составь развернутое событие, занести в новую таблицу. Например:
2 — увидел препятствие:
Сгенерируй — где увидел, какое препятствие, что делало… занеси в таблицу «Барьер»:
1 — место действия
2 — что за препятствие
3 — какое оно
и.т.д.
Но если в первой таблице событие «увидел препятствие» встретися 2-3 раза? Значит, придется две или три таблицы Барьер. Но команда-то подразумевает одну таблицу барьер! И как этот вопрос разрешить, непонятно.

0
Aagira Aagira 1 год назад #
Ну, во-первых, на препятствие хватит ячейки с массивом. Во-вторых, в каком виде заносится это в таблицу Барьер? В виде кучи строк (о чем?) или в виде одной строки, связанной с конкретным текстом?
Как вообще осуществляется связь между текстами? По строке в таблицах? Т.е. каждая строка — один текст?
0
Мария Фомальгаут Мария Фомальгаут 1 год назад #
В таблицу Барьер куча строк
1 — место действия
2 — что за препятствие
3 — какое оно
СВыязь текстов — строка плана (действие) — таблица развернутого действия
0
Aagira Aagira 1 год назад #
А, то есть, это одна таблица на одно препятствие? Ну тогда не проблема сделать по одной строке на одно препятствие.
Пытаюсь оформить алгоритм в программу. Получается коряво. Всю эту хрень напрашивается разбить на чет...
Программа ищет в тексте слова. Существительные и прилагательные.  Делает она это так: берет сл...
Сижу, думаю, можно ли сделать в РНР такую штуку.   Есть у меня функция выбора чего-то из табл...

Все представленные на сайте материалы принадлежат их авторам.

За содержание материалов администрация ответственности не несет.