Intereting Posts
Использовать «SET NAMES» Typo3 V6: Как создать контейнер элементов контента? (без телевизора) Почему функция mail () PHP не работает с установкой по умолчанию WAMP? SQL-запрос не отображает первый результат? Всесторонняя защита от входа пользователя – PHP, MySQL HTTP Request encrypt & decrypt failure с PHP и Objective-C проверьте, находится ли время (с часовым поясом) в заданном интервале времени Использование Twitter API начало давать страницу «Извините», не существует ошибки, даже если она работала ранее Аутентификация пользователя с помощью LDAP с PHP Веб-приложение PHP: вопрос о наилучшей практике проектирования баз данных mysql href tel и стандартные браузеры Регулярные выражения для имени skype в PHP Динамические запросы Laravel в массиве Eloquent models Разделение разделителя строк в PHP на пары ключей / значений (ассоциативный массив) Кто может помочь мне преобразовать этот небольшой PHP-код в Delphi?

Как добавить несколько переменных $ _POST и переменных?

Я изо всех сил пытаюсь выяснить синтаксически правильный способ добавления к этим операторам переменных и строк:

/ * ХОТИТЕ ДОБАВИТЬ ПЯТЬ БОЛЬШЕ $ _POST [''] * /

if(isset($_POST['check_prof']) && $_POST['check_prof'] == 'checked') { $check_prof = "checked"; }else{ $check_prof = "unchecked"; } 

/ * ТО ЖЕ ЗДЕСЬ, ХОТИТЕ ДОБАВИТЬ ДРУГОЙ ПЯТЬ ЗДЕСЬ ТАК ЖЕ * * /

 $query = "UPDATE `Users` SET `check_prof` = '" . $check_prof . "' WHERE `id` = '" . $auth->id . "' LIMIT 1"; mysql_query($query,$connection); $auth->refresh(); } 

Вы имеете в виду это?

 $fields = array('check_prof', 'check_this', 'check_that', 'check_whatever'); foreach($fields as $field){ isset($_POST[$field] && $_POST[$field] == 'checked')){ $$field='checked'; } else { $$field='unchecked'; } $query = "UPDATE `Users` SET `$field` = '" . $$field . "' WHERE `id` = '" . $auth->id . "' LIMIT 1"; mysql_query($query,$connection); $auth->refresh(); } 

Кстати, вместо хранения «checked» и «unchecked» в вашей базе данных (как varchar) вы можете сохранить его как тип tinyint (1) и просто использовать 0 или 1. Это займет меньше места.

Другое дело, это сделает отдельный запрос для каждого поля. Эффективно написать один запрос для внесения изменений для всех полей, если производительность является проблемой.

Предполагая, что я понимаю, что вы имеете в виду, попробуйте следующее:

 <?php $arr = array('check_prof' => 'unchecked', 'check_student' => 'unchecked'); foreach($arr as $field => $checked) { if (isset($_POST[$field]) && $_POST[$field] == 'checked') { $arr[$field] = 'checked'; } // I don't know where $auth is coming from $query = "UPDATE `Users` SET `$field` = '" . $arr[$field] . "' WHERE `id` = '" . $auth->id . "' LIMIT 1"; mysql_query($query,$connection); $auth->refresh(); } ?> 

Вам просто нужно было бы добавлять поля по мере необходимости к $arr для его прокрутки.