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

Как впихнуть невпихнуемое

Как впихнуть невпихнуемое

Сижу, думаю, можно ли сделать в РНР такую штуку.

 

Есть у меня функция выбора чего-то из таблицы, там куча строк,

 

function proba_l($link, $t, $parametr, $parametr_ind, $usl)

{

$sql_re = «SELECT * FROM ».$t." WHERE ".$usl.";";

$result_re = mysqli_query($link, $sql_re);

$num_rows_re = mysqli_num_rows($result_re);

$sqls_re = mysqli_fetch_all($result_re, MYSQLI_ASSOC);

$x_re = rand(0, $num_rows_re-1);

echo $sqls_re[$x_re][$parametr];

$x_code_re = $sqls_re[$x_re][$parametr_ind];

echo $x_code_re;

return $x_code_re;

}

 

я к ней обращаюсь, просто пишу:

 

$x_gl = proba_l ($link, 'Hero_all', 'Существительное', '', 'Tema1 = 28 or Tema2 = 28');

 

И она выбирает из таблицы.

 

Есть у меня функция, например, про внешность героя, там несколько таких функций:

 

function create_Fraza_Hero() {

global $link;

echo 'У ';

$x_gl1 = proba_l ($link, 'Personag', ' ', 'Ид_Персонажа', 'Id_Pers = .$x_gl1);

$x_gl = proba_l ($link, 'Hero_all_gen', 'Сущ_род', '', 'Id_gen = '.$x_gl1);

$x_gl2 = proba_l ($link, 'Detali', 'Часть', 'Id_Part', 'Id_total = '.$x_gl1);

$x_gl = proba_l ($link, 'Hero_Prilag', 'pril_name', ' ', 'Index_hero1 = '.$x_gl2);

}

 

Но дальше. У меня программный код, который пишет про героев.

И если программа пишет про главного героя, то надо function create_Fraza_Hero() где 'Id_Pers = 1,

если для друга героя, соответственно, function create_Fraza_Hero() где 'Id_Pers = 2, и.т.д.

Но.

Номер героя я выбираю за пределами функции.

А как впихнуть его в функцию, не знаю.

 

То есть.

Выбрали главного героя.

$x_gl1 = 1;

А дальше:

function create_Fraza_Hero($x_gl1);

И не видит, падла, что $x_gl1 = 1;

 

Может, есть какой-то способ, или я хочу от программы невозможного…

14:39
377
0
Мария Фомальгаут Мария Фомальгаут 2 года назад #
А хде в блоге возможность указать, шо это программный код? Пишу усё в комментах:

0
Мария Фомальгаут Мария Фомальгаут 2 года назад #
При попытке вставить код комметарий бесится.
пробую без кода:

Сижу, думаю, можно ли сделать в РНР такую штуку.

Есть у меня функция выбора чего-то из таблицы, там куча строк,

function proba_l($link, $t, $parametr, $parametr_ind, $usl)
{
$sql_re = «SELECT * FROM ».$t." WHERE ".$usl.";";
$result_re = mysqli_query($link, $sql_re);
$num_rows_re = mysqli_num_rows($result_re);
$sqls_re = mysqli_fetch_all($result_re, MYSQLI_ASSOC);
$x_re = rand(0, $num_rows_re-1);
echo $sqls_re[$x_re][$parametr];
$x_code_re = $sqls_re[$x_re][$parametr_ind];
echo $x_code_re;
return $x_code_re;
}
я к ней обращаюсь, просто пишу:

$x_gl = proba_l ($link, 'Hero_all', 'Существительное', '', 'Tema1 = 28 or Tema2 = 28');

И она выбирает из таблицы.

Есть у меня функция, например, про внешность героя, там несколько таких функций:

function create_Fraza_Hero() {
global $link;
echo 'У ';
$x_gl1 = proba_l ($link, 'Personag', ' ', 'Ид_Персонажа', 'Id_Pers = .$x_gl1);
$x_gl = proba_l ($link, 'Hero_all_gen', 'Сущ_род', '', 'Id_gen = '.$x_gl1);
$x_gl2 = proba_l ($link, 'Detali', 'Часть', 'Id_Part', 'Id_total = '.$x_gl1);
$x_gl = proba_l ($link, 'Hero_Prilag', 'pril_name', ' ', 'Index_hero1 = '.$x_gl2);
}

Но дальше. У меня программный код, который пишет про героев.
И если программа пишет про главного героя, то надо function create_Fraza_Hero() где 'Id_Pers = 1,
если для друга героя, соответственно, function create_Fraza_Hero() где 'Id_Pers = 2, и.т.д.
Но.
Номер героя я выбираю за пределами функции.
А как впихнуть его в функцию, не знаю.

То есть.
Выбрали главного героя.
$x_gl1 = 1;
А дальше:
function create_Fraza_Hero($x_gl1);
И не видит, падла, что $x_gl1 = 1;

Может, есть какой-то способ, или я хочу от программы невозможного…

0
Aagira Aagira 2 года назад #
Сайт видимо на реставрации (зачеркнуто) реконструкции


Сайт просто в полном раздрае. Спасибо за сигнал, еще и с редактором блога теперь мыкаться sad
0
Мария Фомальгаут Мария Фомальгаут 2 года назад #
Может, я чего не поняла, но вот тут нет никаких кнопок редактирования в отличие от комментов:

Изображение
0
Aagira Aagira 2 года назад #
Я с утра предупредила у тебя в «Запрещенной игре», что будет бяка. Это я новый шаблон на полдня включила. Новый шаблон, как выяснилось, сюрпризами не иссяк…
0
Aagira Aagira 2 года назад #
Пока все работать должно, проверяй.
0
Aagira Aagira 2 года назад #
От же жесть! Вообще текстовые редакторы поотключались! wonderКороче, ладно. Пока что вертаю назад старый шаблон. Все как было…
0
Мария Фомальгаут Мария Фомальгаут 2 года назад #
Сообщаю об ошибке на сайте: на сайте идет снег, а на улице дождь. Неправильно. crazy
0
Aagira Aagira 2 года назад #
У сайта московская прописка, а у нас тут метели с сугробами. Таки правильно все! tongue
Ничего, долетят и до вас.
0
Aagira Aagira 2 года назад #
И не видит, падла, что $x_gl1 = 1;

А что она видит?
0
Мария Фомальгаут Мария Фомальгаут 2 года назад #
Внутри функции не видит переменную, заданную вне функции. Думаю, как ей объяснить.
0
Aagira Aagira 2 года назад #
В скайпе уточню.
0
Aagira Aagira 2 года назад #
dabudetsolnce.ru/projects/proby/x_gl1.php

$x_gl1 = 1;

function create_fraza_hero($x_gl1)
{
$hello = 'Вот он я — герой № '. $x_gl1;
return $hello;
}

echo create_fraza_hero($x_gl1);
0
Мария Фомальгаут Мария Фомальгаут 2 года назад #
Это прекрасно, только у меня-то функция в функции:
$x_gl1 = 1;
function create_Fraza_Hero($x_gl1) {
global $link;
$x_gl = proba_l ($link, 'Personag', ' ', 'Ид_Персонажа', 'Id_Pers = '.$x_gl1);
}
То есть, у меня мало того, что надо впихнуть в функцию create_Fraza_Hero, еще и внутри этой функции надо впихнуть в функцию proba_l. И на каком-то этапе программа перестает видеть эту переменную.
0
Aagira Aagira 2 года назад #
По той же ссылке, что выше:

$x_gl1 = 1;

$variable1 = 'Тася';
$variable2 = 'Вася';
$variable3 = 'Любовь';

function proba_l($x_gl1){
$fraza = 'Герой № '. $x_gl1. ' написал на скамейке: '. ' ';
return $fraza;
}

$v = proba_l($x_gl1);

function create_fraza_hero2($v, $variable1, $variable2, $variable3){
$x_gl_fraza = $v. $variable1. ' + '. $variable2. ' = '. $variable3. '!';
return $x_gl_fraza;
}

echo create_fraza_hero2($v, $variable1, $variable2, $variable3);
0
Aagira Aagira 2 года назад #
Если же ты хочешь взять часть фразы, то имей в виду, что нельзя писать:

echo create_Fraza_Hero2($variable1, $variable2, $variable3);


а обязательно надо заполнить пустое место (т.к. в функции задействовано 4 переменных, их все надо обозначить):

echo create_Fraza_Hero2(' ', $variable1, $variable2, $variable3);


Можешь такой вариант попробовать crazy

echo create_Fraza_Hero2(' ', $variable3, $variable2, $variable1);
0
Мария Фомальгаут Мария Фомальгаут 2 года назад #
Спасибо. Счас оклемаюсь, попробую. Всю ночь шел дождь, не давал спать, перебралась к матери на диван (у неё двуспальный), пришел кот, стал рвать диван когтями со всех четырех сторон одновременно, включая сторону вплотную к стене против всех законов физики. Короче, сама не спала и всем не дала спать… :(
0
Aagira Aagira 2 года назад #
Кот обиделся, что ты его место заняла на двуспальном диване.
0
Мария Фомальгаут Мария Фомальгаут 2 года назад #
Да нет, он и сверху был… и на диване, и под диваном одновременно.
0
Aagira Aagira 2 года назад #
Что за дожди у вас, что спать не дают? crazy
0
Мария Фомальгаут Мария Фомальгаут 2 года назад #
Это не дожди, это карниз, на который откуда-то сверху с других карнизов оглушительно капают капли. На что мать глухая, даже она там спать не могла. Спилить низзя, под ним стена. Пытались присобачить какую-нибудь прослойку, она развалилась, её унесло ветром. Думаем присобачивать снова.
0
Aagira Aagira 2 года назад #
А мне всегда уютно, когда капли капают.
Ну как программа-то? Заработала?
0
Мария Фомальгаут Мария Фомальгаут 2 года назад #
Спасибо. Вроде заработало.
Мерзкое чувство, что в моем случае программа работает, хотя не должна. crazy:

У нас капли капают так, что даже мать, полностью глухая на одно ухо и почти глухая на второе, в этой комнате не может спать.
0
Aagira Aagira 2 года назад #
Работает, хотя не должна — это еще ничего… вот я этот код раз 10 переписывала. Должен работать, а не хочет. И точь-в-точь такой же копирую, вставляю, заменяю переменные на свои — начинает работать. На вид — буква в букву было.
Нет, я понимаю, конечно, что где-то там точку не поставила (да-да, знаю, что не «точка», а «оператор конкатенации», но «точка» будет понятнее...)
0
Светлана Аксенова Светлана Аксенова 2 года назад #
Ой… что у вас тут такое?
0
Aagira Aagira 2 года назад #
Где? Что?
0
Мария Фомальгаут Мария Фомальгаут 2 года назад #
Впихиваем невпихнуемое в программу… шоб герой не просто читал книгу, а она у него страницами шелестела…
Скандал на фабрике. Велели упаковать сорок комбезов в коробку.  Через полчаса к мастеру прихо...
Продолжаю объяснять генератору текстов очевидные вещи. Вот, например. Тайна. Она должна быть в кажд...
На фабрике по ошибке велели упаковать 50 комбезов в коробку вместо 40. Мы с матюками, переломав себ...
Прочитал я сегодня все наши наработки ( потратил весь день ). Сериал получается гигантский, уже почт...
23:46

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

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