|
Как вывести список всех переменных?Обсуждение темы Как вывести список всех переменных? в разделе ASP, Perl, PHP и MySQL, часть категории ВЕБ-ПРОГРАММИРОВАНИЕ; Дано: форма с разными объектами. Нужно: проверить на наличие не введенных данных перед вводом в БД. Если таковые переменные имеются, то присвоить им ... |
|
Опции темы |
20.04.2006, 00:54 | #1 |
|
Дано: форма с разными объектами.
Нужно: проверить на наличие не введенных данных перед вводом в БД. Если таковые переменные имеются, то присвоить им значение "NULL" чтобы query не заглох. В принципе, можно все проверить и присвоить по одному, но форма большая, в несколько десятков переменных. Кто нибудь знает как это дело автоматизировать в цикле? Спасибо за помощь. |
|
20.04.2006, 06:57 | #2 |
|
в форме ставь имена так name="vars[my_first_var]"
Потом в скрипте делай foreach($_POST["vars"] as $val): my_check_function($val); endforeach; Alkeeper добавил [date]1145502116[/date]: Хотя какого хрена.... PHP код:
|
|
20.04.2006, 09:36 | #3 |
|
Наличие не введенных данных можно проверить с помощью функции isset или empty
|
|
20.04.2006, 09:43 | #4 |
|
Amber, При передаче из формы isset будет true в любом случае, а if (empty($var)) идентично if ($var == false) или if (!$var)
|
|
20.04.2006, 11:27 | #5 | |
|
Цитата:
|
|
|
20.04.2006, 11:39 | #6 |
|
kost, ну да, согласен, хотя это уже детали.
и подобным переменным придется до цикла присваивать false. хотя опять же что за задачи стоят... если при update эти переменные на валидность запроса особого влияния не возымеют, то при insert другой расклад: если вставка делается так: insert into `table_name` (var1,var2,...,varN) values ('val1','val2',...,'valN'); то тоже пофиг, вот так будет сбой: insert into `table_name` values ('val1','val2',...,'valN'); т.к. пустые поля заполнять нужно. |
|
24.04.2006, 01:21 | #7 | |||||
|
Цитата:
Цитата:
Я его чуть видоизменил, вместо метода $_POST я использовал $_REQUEST: PHP код:
Цитата:
Alkeeper, спасибо за идеи, очень помог. chaynik добавил [date]1145827595[/date]: Цитата:
chaynik добавил [date]1145828129[/date]: Цитата:
insert into `table_name` (fName, lName, age, pwd) values ('Vasya', 'Pupkin',,'password' ); возраст не будет указан (decimal), то сбой тоже произойдет. Поэтому, всем не указанным переменным на форме придется присвоить значение "NULL" или "default" чтобы не произошло сбоя при запросе. chaynik добавил [date]1145828673[/date]: Только что заметил, что сегодня исполняется ровно 2 года со дня моей регистрации на web-silvere, а меня всё ещё как "гостя" встречают. lol |
|||||
|
24.04.2006, 10:20 | #8 | ||
|
Цитата:
|
||
|
24.04.2006, 11:46 | #9 | ||
|
Цитата:
Alkeeper добавил [date]1145864967[/date]: 2chaynik: А фигли их различать ты ведь их все к стрингу сведешь, когда в запрос воткнешь..... Alkeeper добавил [date]1145865060[/date]: А по стандартам SQL в кавычки нужно брать все подряд |
||
|
24.04.2006, 23:03 | #10 | |||
|
Цитата:
chaynik добавил [date]1145907163[/date]: Цитата:
CREATE TABLE users ( fName varchar(10) NOT NULL, lName varchar(10) NOT NULL, salary money NULL, country varchar(20) NULL ) Попробуй ввести все данные в кавычках: insert into users values ('Vasya', 'Pupkin', '1500', 'Russia') В MS SQL-Server сбой гарантирован. В стандартах T-SQL есть такое понятие как implicit and explicit conversions, по русски точно не знаю. Если всегда ставить кавычки, то SQL-Server пытается автоматически перевести из char в нужный тип, это называется implicit. К сожалению, чтобы перевести из char в money, smallmoney, timestamp, binary, varbinary нужно применить explicit conversion, т.е. использовать методы cast или convert. Про MySQL и Oracle не знаю, может там и сработает так, но в T-SQL брать всё в кавычки нельзя, всё зависит от типа поля. п.с. вопрос на засыпку: представьте что для поля country указано значение "Russia" по умолчанию, т.е. default. Пользователь посылает два запроса на БД: Первый: insert into users values ('Vasya', 'Pupkin', 1500, 'default') Второй: insert into users values ('Masha', 'Rоstova', 1500, default) Из какой страны будет Вася Пупкин и из какой страны Маша Ростова? |
|||
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как вывести сайт из под АГС | nestercom | Поисковые системы | 7 | 15.07.2015 14:29 |
класс на js - область видимости переменных | Anthony | HTML, CSS, JavaScript | 8 | 28.02.2009 20:40 |
Запись в файл .htpasswd переменных на PHP | Anatol | ASP, Perl, PHP и MySQL | 5 | 07.08.2007 08:33 |
Как вывести Флэш-Кнопку? | serge13 | HTML, CSS, JavaScript | 4 | 19.06.2005 08:13 |
Связь Js переменных с Php переменными | b34st | HTML, CSS, JavaScript | 2 | 08.06.2004 09:38 |
Реклама на форуме
Условия размещения рекламы
Биржа ссылок
Заработай на сайте!
|