Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
47 / 30 / 2
Регистрация: 11.06.2011
Сообщений: 206
1

Передача переменных внутри функции

19.09.2012, 21:35. Показов 1081. Ответов 14
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
есть функция которая формирует таблицу для редактирования элементов, их сейчас стало так много, что нужно разделить по категориям, т.е. нажал кнопку и сформировалась таблица снизу, это все в одной функции, используется два запроса, думаю так делать
PHP
1
2
3
4
5
6
echo "<table class='table'><tr><td><button class='btn btn-info' name='submit-svet-spec'>Показать для редактирования</button></td><td><select name='id'>";
    $res = mysql_query("SELECT * FROM categories WHERE itis = 0");
    while($cat = mysql_fetch_assoc($res)){
        echo "<option value=".$cat['id'].">".$cat['name']."</option>";
    }
    echo "</td></tr></table></form>";
и дальше по нажатии кнопки формируется таблица
PHP
1
$query = mysql_query("SELECT * FROM svetilniki WHERE categories = $cat['id']");
только как передать значение из одного запроса в другой, через кнопку? создавать обработчик формы?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.09.2012, 21:35
Ответы с готовыми решениями:

Использование переменных внутри запроса
Добрый день! Просьба подсказать как исопльзовать переменные внутри запроса. Не совсем понятна...

Передача переменных внутри проекта
здравствуйте, например с макроса вызываю форму, как туда передать переменные, подзреваю, что...

Передача значений переменных внутри класса.
В результате класс выдает результат 0, без сообщений об ошибках. Что не верно? class arithmetic ...

Передача переменных от клиента серверу внутри процедуры на клиенте
В общем первое сообщение можно не читать. С этим я более-менее разобрался. Чтобы не создавать новую...

14
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16844 / 6723 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
19.09.2012, 21:44 2
если я правильно понял - то лучше использовать пагинацию
0
47 / 30 / 2
Регистрация: 11.06.2011
Сообщений: 206
19.09.2012, 21:51  [ТС] 3
спасибо это вариант, ну а все таки как насчет функции
допустим передали значение с кнопки в екшен
PHP
1
2
3
4
if(isset($_POST['submit-svet-spec']) && isset($_POST['id'])){
        header("Location: /admin/svet.php");
        die();
    }
$_POST['id'] вот эту
можно как то уже с этого кода передать значение в последнюю функцию на той страничке?
PHP
1
2
3
4
5
6
if(isset($_SESSION['admin'])){
    html_header_admin('Светильники');
    AddSvet();
    AddSvetSpec();
    GetSvetEdit($_POST['id']);
}
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16844 / 6723 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
19.09.2012, 22:01 4
именно из этого - нет. Вы же редирект делаете сразу если она существует.
а так - можно через global к примеру

Добавлено через 1 минуту
аа понял кажись..
PHP
1
2
header("Location: /admin/svet.php?id=".$_POST['id']);
        die();
а в том файле
PHP
1
2
3
if(isset($_GET['id'])) {
....
}
0
47 / 30 / 2
Регистрация: 11.06.2011
Сообщений: 206
19.09.2012, 22:05  [ТС] 5
я это и имел ввиду, т.е. только через гет массив? через пост тут не как?
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16844 / 6723 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
19.09.2012, 22:08 6
можно. Можно и через сессии/куки. но в разы проще так.
0
47 / 30 / 2
Регистрация: 11.06.2011
Сообщений: 206
19.09.2012, 22:18  [ТС] 7
у меня просто есть файлик edit.php и в нем
PHP
1
2
3
4
5
6
if ($_SERVER['HTTP_REFERER'] == 'http://site/admin/svet.php') {
        html_header_admin('Редактирование светильников');
        $cat = GetSvetIDEdit($_GET['id']);
        EditSvet($cat['id'], $cat['number'], $cat['model'], $cat['categories'], $cat['lamp'], $cat['size'], $cat['weight'], $cat['packing'], $cat['protection'],
         $cat['meta_name'], $cat['meta_desc']);
    }
не хочется еще и тут манипулировать урл
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16844 / 6723 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
19.09.2012, 22:23 8
у вас двумерный массив $_GET?
0
47 / 30 / 2
Регистрация: 11.06.2011
Сообщений: 206
19.09.2012, 22:28  [ТС] 9
неа, наверное так и сделаю просто, в скрипте редактирования буду регуляркой дергать урл
PHP
1
preg_replace('/\?.+$/', '', $_SERVER['HTTP_REFERER'])
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16844 / 6723 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
19.09.2012, 22:31 10
ну если у вас занято $_GET['id'] придумайте любое другое имя, не $_GET['id']... $_GET['other_name']
1
47 / 30 / 2
Регистрация: 11.06.2011
Сообщений: 206
19.09.2012, 22:44  [ТС] 11
не оно не занято, просто что бы не плодить файлы на сервере, я делаю все редактирование в одном, и что бы знать когда вызывать
PHP
1
2
$cat = GetSvetIDEdit($_GET['id']);
        EditSvet()
проверяю откуда был переход, и вот по этому мне желательно что бы ссылки не содержали гет параметров
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16844 / 6723 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
19.09.2012, 22:47 12
DOCUMENT_REFERRER легко подделывается. лучше тогда уж через константы
0
47 / 30 / 2
Регистрация: 11.06.2011
Сообщений: 206
19.09.2012, 22:50  [ТС] 13
а кто его будет из админки подделывать?
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16844 / 6723 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
19.09.2012, 22:57 14
а зачем тогда вообще проверять реферера? делаешь редирект с нужным параметром просто
К примеру три страницы: контакты, главная и обо мне
на редактирование ссылки
HTML5
1
2
3
edit.php?cat=general
edit.php?cat=contacts
edit.php?cat=about
и проверять категорию
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
if(isset($_GET['cat'])) {
 
    $cat = trim($_GET['cat']);
 
    if(!empty($_GET['cat'])) {
        if($cat == 'general') { #general page
            ...
        }
        else {
            if($cat == 'contacts') { #contact page
                ....
            }
            else {
                if($cat == 'about') { #about page
                    ...
                }
                else { #undefined page
                    .....
                }
            }
        }
    }
 
}
если больше трех - лучше через switch-case, тогда обработку вынести в функции и вызывать нужную
1
47 / 30 / 2
Регистрация: 11.06.2011
Сообщений: 206
19.09.2012, 23:04  [ТС] 15
спасибо учту, я же вообще не в теме, это мой первый опыт с пхп
0
19.09.2012, 23:04
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.09.2012, 23:04
Помогаю со студенческими работами здесь

Передача переменных функции rgb
Здравствуйте! Вот такой вопрос. Функция генерирует цвета (т.е. числовые значения трех переменных)....

Передача переменных вызовом функции
Вычислить значение функции y=f(x) если переменная х изменяется от xmin до xmax из шагом dx....

Передача переменных из одной функции в другую
Друзья подскажите как передать вариеблы из одной функции в другую Пример function test ($var1,...

Передача переменных из функции вызываемой событием
Здравствуйте, форумчане. У меня вопрос такого рода. Событие нажатия на кнопку вызывает на...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru