Im создание приложения для отслеживания определенной информации о клиентах, с которыми мы имеем дело, например имя/дата/час работы/номер телефона и т. Д. Эта информация хранится в дБ. Поскольку у нас есть разные отделы, такие как SEO/WEB/Sales и т. Д. И разные люди в этих командах, приложение предоставляет различные способы фильтрации информации в зависимости от нажатой кнопки фильтра.Сделать переменные доступными внутри функции. (PHP)
Когда кто-то нажимает кнопку «фильтр», в этом примере можно сказать, что они нажали кнопку «просмотр по департаменту», она берет их на реальные жестко заданные страницы. В качестве примера:
viewSeoAccs.php
viewWebAccs.php
ViewSalesAccs.php
И на этих страницах я есть запросы, которые тянут информацию, основанную на фильтре прессованного но HTML является то же самое. Теперь вот проблема.
У меня есть много разных страниц (на основе фильтров), и каждый раз, когда в html есть редактирование, мне нужно перейти на страницу «КАЖДЫЙ PHP», чтобы реализовать изменения.
Что я хочу сделать, это создать функцию, которая выплевывает html для меня. Я получил половину пути, и я знаю проблему, просто не могу найти решение.
Вот несколько кодов.
В моем файле functions.php у меня есть функция, называемая «htmlBlockTEST», которая имеет этот код.
EXAMPLE: (code chopped for easy reading)
<?php
function htmlBlockTEST(){
echo '' ?>
<h2 class="accName fl"><?php echo $row['company_name']; ?></h2>
<div class="<?php echo $row['acc_risk']; ?>"> Risk Level. </div>
//ALOT MORE CODE goes here lol.
<?php
}
?>
Это в заголовке и покупающих в через «include_once („functions.php“). В соответствии с этим, у меня есть определенные переменные, которые тянут в запрашиваемых данных. (Пример ниже)
$pullAllAccounts = "SELECT * FROM tlm_accounts ORDER BY company_name ASC;";
$pullAllAccountsDoIt = mysqli_query($c2d, $pullAllAccounts) or die ("could not pull WEB team data" . mysqli_error($c2d));
?>
теперь я цикл через БД и отображать информацию следующим образом:.
<?php
while($row = mysqli_fetch_array($pullAllAccountsDoIt)){
$compName = $row['company_name'];
?>
<?php htmlBlockTEST(); ?>
<?php
}
?>
в этом коде непосредственно выше, где вызов функции «htmlBlockTEST» есть, где проблема Sinc e Переменные, которые содержат запросы, находятся вне функции, я предполагаю, что они не передаются в функцию. Я не хочу помещать их в функцию, потому что HTML одинаковый на всех страницах, но не ВСЕ данные.
Мне нужны переменные, которые хранят, например, $row['company_name']
, чтобы быть доступными внутри функции, чтобы она не выдавала ошибки «неопределенной переменной».
Как я могу это сделать? Каков наилучший способ заставить эти переменные в цикле while (или иначе) быть доступными внутри функции ???
PS, ive google и нашел что-то вроде $ GLOBALS ['x'] и т. Д., Но из того, что читал ive, его не лучший способ или просторы, и в целом им не повелось, как его использовать.
Любая помощь очень ценится. Спасибо в продвинутом режиме.
Как может быть парам? htmlBlockTEST ($ compName); – CoR
Да, я тоже пробовал, и он не работал. – somdow
Как сказал Реза, htmlBlockTEST() должен быть в цикле while :) Другой вариант - в области реактивного программирования;) – CoR