Как впихнуть невпихнуемое
Сижу, думаю, можно ли сделать в РНР такую штуку.
Есть у меня функция выбора чего-то из таблицы, там куча строк,
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;
Может, есть какой-то способ, или я хочу от программы невозможного…
Мария Фомальгаут 2 года назад #
Мария Фомальгаут 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;
Может, есть какой-то способ, или я хочу от программы невозможного…
Aagira 2 года назад #
Сайт просто в полном раздрае. Спасибо за сигнал, еще и с редактором блога теперь мыкаться
Мария Фомальгаут 2 года назад #
Aagira 2 года назад #
Aagira 2 года назад #
Aagira 2 года назад #
Мария Фомальгаут 2 года назад #
Aagira 2 года назад #
Ничего, долетят и до вас.Aagira 2 года назад #
А что она видит?
Мария Фомальгаут 2 года назад #
Aagira 2 года назад #
Aagira 2 года назад #
Мария Фомальгаут 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. И на каком-то этапе программа перестает видеть эту переменную.
Aagira 2 года назад #
Aagira 2 года назад #
а обязательно надо заполнить пустое место (т.к. в функции задействовано 4 переменных, их все надо обозначить):
Можешь такой вариант попробовать
Мария Фомальгаут 2 года назад #
Aagira 2 года назад #
Мария Фомальгаут 2 года назад #
Aagira 2 года назад #
Мария Фомальгаут 2 года назад #
Aagira 2 года назад #
Ну как программа-то? Заработала?
Мария Фомальгаут 2 года назад #
Мерзкое чувство, что в моем случае программа работает, хотя не должна. crazy:
У нас капли капают так, что даже мать, полностью глухая на одно ухо и почти глухая на второе, в этой комнате не может спать.
Aagira 2 года назад #
Нет, я понимаю, конечно, что где-то там точку не поставила (да-да, знаю, что не «точка», а «оператор конкатенации», но «точка» будет понятнее...)
Светлана Аксенова 2 года назад #
Aagira 2 года назад #
Мария Фомальгаут 2 года назад #