Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.01.2015, 06:27   #1
Rudimo
Новичок
Джуниор
 
Регистрация: 17.03.2011
Сообщений: 25
По умолчанию Запись констант в бд

Всем привет. Уже несколько часов сижу на код смотрю не могу понять как упростить.
Смысл такой: Есть форма, с неё уходит значение в виде строки либо "продать" либо "сдать".
Потом это улетает в бд. Но в бд мне ну нужна строка. Мне там нужно либо 1 либо 2.
Написал код, но чествую как то это можно упростить, тем более передавать в условие рускоязычную строку вообще не айс
, вдруг ещё в иероглифы превратится после какого нибудь косяка.
Код HTML:
<select class="form-control" name="ad_type">
<option>Продать</option>
<option>Сдать в аренду</option>
</select>
Чтоб не запутаться вырезал все лишнее, так как форм и переменных очень много. Все работает как бы, но вот чую не то пальто.
PHP код:
<?
define
('AD_OFFER_TYPE_SALE'1);
define('AD_OFFER_TYPE_RENT'2);

if (
$_SERVER['REQUEST_METHOD'] === 'POST') {
    
$ad_type $_POST['ad_type'];

 if (
$ad_type == 'Продать') {
        
$ad_type AD_OFFER_TYPE_SALE;
    } else {
        
$ad_type AD_OFFER_TYPE_RENT;
    }

    
$host 'localhost';
    
$db 'demo';
    
$dsn "mysql:host=$host;dbname=$db;";
    
$user '***';
    
$pass '***';

    
$opt = array(
        
PDO::ATTR_ERRMODE            => PDO::ERRMODE_EXCEPTION,
        
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC);

    
$pdo = new PDO($dsn$user$pass$opt);

    
$sql="insert into `objects` (ad_type) VALUES (:ad_type)";
    
$sth=$pdo->prepare($sql);
    
$sth->bindValue(':ad_type'$ad_type);
    
$sth->execute();
}

Последний раз редактировалось Rudimo; 15.01.2015 в 06:29.
Rudimo вне форума Ответить с цитированием
Старый 15.01.2015, 08:04   #2
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,160
По умолчанию

Код:
<select class="form-control" name="ad_type">
<option value="1">Продать</option>
<option value="2">Сдать в аренду</option>
</select>
а сразу значения передавать и записывать как $ad_type = intval($_POST['ad_type']); что - религия не позволяет?
ADSoft вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Хранение констант Kn793 Общие вопросы C/C++ 1 10.06.2010 23:58
Смысл констант Alex Cones Свободное общение 18 29.03.2010 10:09
Видимость констант tae1980 Microsoft Office Excel 5 23.11.2009 12:06
считывание констант artemavd Общие вопросы Delphi 18 15.10.2008 15:32
Замена констант в RichEdit. Pashekka Компоненты Delphi 1 24.09.2007 09:42