[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Вносит пробелы в БД
Andruha
а можно ещё вопрос.Вот у меня такая ситуация возникла,если одно из 3 полей заполнил а остальные 2 нет,то в БД вносит пробел,или 2 заполнил,в третье заносит пробел,хотя вроде все правильно сделал,вот код:
<?php
if (isset($_POST['country'])) { $country = $_POST['country']; if ($country == '') { unset($country);} }
if (isset($_POST['city'])) { $city = $_POST['city']; if ($city == '') { unset($city);} }
if (isset($_POST['product'])) { $product = $_POST['product']; if ($product == '') { unset($product);} }
$result = mysql_query ("INSERT INTO country (name)
VALUES('$country')");
$result_2 = mysql_query ("INSERT INTO city (name)
VALUES('$city')");
$result_3 = mysql_query ("INSERT INTO product (name)
VALUES('$product')");

country,city,product-таблицы БД



Спустя 45 минут, 36 секунд (21.01.2011 - 18:44) Invis1ble написал(а):
Andruha
При создании таблицы указываешь, какие значения записывать по умолчанию в ячейки, например что-то типа этого
create table `country` ...
...
`name` varchar(255) not null default 'zimbabve' ...

Спустя 31 минута, 5 секунд (21.01.2011 - 19:15) Andruha написал(а):
мне надо что б вообще ничего не вносило в БД,если поле не заполнено,посольку я потом вытягиваю из БД данные в select html

Спустя 10 минут, 28 секунд (21.01.2011 - 19:25) Invis1ble написал(а):
Andruha
элементарно:
if (isset($_POST['country']))
mysql_query ("INSERT INTO `country` (`name`) VALUES ('" . $_POST['country'] . "')");

Спустя 5 минут, 45 секунд (21.01.2011 - 19:31) Andruha написал(а):
спасибо за помощь

Спустя 6 минут, 41 секунда (21.01.2011 - 19:38) Invis1ble написал(а):
че-то я тупанул, вот так надо:
if (!empty($_POST['country']))
mysql_query ("INSERT INTO `country` (`name`) VALUES ('" . $_POST['country'] . "')");

Спустя 3 минуты, 15 секунд (21.01.2011 - 19:41) inpost написал(а):
Invis1ble
В соседней теме этот же вопрос разбираем! =) Только ты даёшь ему готовый, а я прошу от него подвигать извилинами =)

Спустя 44 секунды (21.01.2011 - 19:42) Andruha написал(а):
inpost,и правильно так со мной и надо!

Спустя 14 минут, 21 секунда (21.01.2011 - 19:56) Invis1ble написал(а):
inpost
прости, я не видел... )

Andruha
А ну быстро двигай извилинами!!! =)
Для начала - разберись с разницей между isset() и empty()

Спустя 3 минуты, 31 секунда (21.01.2011 - 19:59) Invis1ble написал(а):
Просто я иногда даю готовый код (не полностью) исходя из своего опыта. Мне например легче понять суть по примеру.

Спустя 2 минуты, 37 секунд (21.01.2011 - 20:02) DedMorozzz написал(а):
Invis1ble, да-да-да. smile.gif Анализировать существенно проще)

Спустя 6 минут, 15 секунд (21.01.2011 - 20:08) Andruha написал(а):
Invis1ble ,согласен с тобой!

Спустя 9 минут, 32 секунды (21.01.2011 - 20:18) Andruha написал(а):
isset- проверяет была ли создана переменная,тоесть существует ли она.А
empty-проверяет есть ли значение у переменной

Спустя 9 минут, 58 секунд (21.01.2011 - 20:28) Invis1ble написал(а):
Andruha
Цитата
empty-проверяет есть ли значение у переменной

не совсем.. значение может быть пустым, например
$variable = '';
var_dump(empty($variable)); // выдаст true
$variable = false;
var_dump(empty($variable)); // выдаст true
$variable = 0;
var_dump(empty($variable)); // выдаст true

т.е. проверяется, не пустое ли значение у переменной

Спустя 1 час, 46 минут, 44 секунды (21.01.2011 - 22:15) Andruha написал(а):
$variable = '';
var_dump(empty($variable)); // выдаст true,а почему здесь true,оно ж пустое

Спустя 3 минуты, 47 секунд (21.01.2011 - 22:18) inpost написал(а):
Проверка идёт на пустоту (empty), не пустое (!empty)

Спустя 5 минут, 42 секунды (21.01.2011 - 22:24) Andruha написал(а):
Так а что 0-это тоже пустое???
$variable = 0;
var_dump(empty($variable)); // выдаст true
это ж как миниму число

Спустя 15 секунд (21.01.2011 - 22:24) Invis1ble написал(а):
все правильно, пустое - поэтому true
ССЫЛЬ

Спустя 55 секунд (21.01.2011 - 22:25) Invis1ble написал(а):
можно так проверять
if ($variable !== '')
doSomething();

Спустя 39 секунд (21.01.2011 - 22:26) inpost написал(а):
Andruha
0 - это отрицание, в книжках про это говорится!

Спустя 1 минута, 18 секунд (21.01.2011 - 22:27) Andruha написал(а):
все понял!Типо булевый 0,типо 1-true,0-false

Спустя 4 минуты, 55 секунд (21.01.2011 - 22:32) Invis1ble написал(а):
Andruha
Цитата
это ж как миниму число

если ноль из формы прийдет, то empty() выдаст false, потому что значения из формы приводятся в строковый тип автоматически
var_dump(0 !== '0'); // true

Спустя 6 минут, 2 секунды (21.01.2011 - 22:38) Andruha написал(а):
теперь все понятненько!спасибо
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.