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

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

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.08.2018, 13:46   #1
spoon100500
Форумчанин
 
Аватар для spoon100500
 
Регистрация: 14.10.2016
Сообщений: 406
По умолчанию Записать число с плавающей запятой в БД

Записываю массив в БД
PHP код:
$mod $_POST['mod'];
include
"include/db_connect.php"

$string = [];
foreach (
$mod as $prod) {
  
$value = [];
foreach (
$prod as $item) {
  
$value[] = "'" $item "'";
  }
  
$string[] = '(' implode(', 'str_replace(',''.'$value)) . ')'
}
$query "INSERT INTO client (name, foto, raskroi, system, uprav, width, height, quantity, price, a, b) VALUES "implode(', '$string); 
В массиве есть значение стоимости с запятой, типа этого 1234,56 сперва понять не мог почему не записывается, потом понял, что sql не понимает запятую и пришлось сделать замену
Код:
str_replace(',', '.', $value)
в таблицу записывает, но стоимость округляется хотя значения поля float т.е. остается 1234, а нужно 1234.56.
Что сделать, куда лесть?
Еду медленно, но верно!
spoon100500 вне форума Ответить с цитированием
Старый 15.08.2018, 13:48   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Значение может и флоат, а тип поля в БД?
p51x вне форума Ответить с цитированием
Старый 15.08.2018, 13:56   #3
spoon100500
Форумчанин
 
Аватар для spoon100500
 
Регистрация: 14.10.2016
Сообщений: 406
По умолчанию

Вот фото
Изображения
Тип файла: png Opera Снимок_2018-08-15_155502_127.0.0.1.png (4.8 Кб, 126 просмотров)
Еду медленно, но верно!
spoon100500 вне форума Ответить с цитированием
Старый 15.08.2018, 14:07   #4
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Ну и чего вы хотите? Сами же поставили 0 знаков после запятой...
p51x вне форума Ответить с цитированием
Старый 15.08.2018, 14:08   #5
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

А чего стоимость не хранить в DECIMAL или NUMERIC? Или нужны проблемы при работе с плавающими?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 15.08.2018, 14:12   #6
spoon100500
Форумчанин
 
Аватар для spoon100500
 
Регистрация: 14.10.2016
Сообщений: 406
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
А чего стоимость не хранить в DECIMAL или NUMERIC? Или нужны проблемы при работе с плавающими?
Что посоветуете?
Еду медленно, но верно!
spoon100500 вне форума Ответить с цитированием
Старый 15.08.2018, 14:14   #7
spoon100500
Форумчанин
 
Аватар для spoon100500
 
Регистрация: 14.10.2016
Сообщений: 406
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Ну и чего вы хотите? Сами же поставили 0 знаков после запятой...
Спасибо, помогло)
Еду медленно, но верно!
spoon100500 вне форума Ответить с цитированием
Старый 15.08.2018, 14:20   #8
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Цитата:
Что посоветуете?
Использовал бы Numeric. Для float WHERE price=1234.56 может и не найти записи, хотя они и есть в таблице. В сиквеле такие шишки набил, не думаю что в мускуле по другому
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 15.08.2018, 14:23   #9
spoon100500
Форумчанин
 
Аватар для spoon100500
 
Регистрация: 14.10.2016
Сообщений: 406
По умолчанию

Спасибо, ещё вопрос как применить mysql_real_escape_string для
Код:
$query = "INSERT INTO client (name, foto, raskroi, system, uprav, width, height, quantity, price, a, b) VALUES ". implode(', ', $string);
именно для этой части
Код:
. implode(', ', $string)
Еду медленно, но верно!
spoon100500 вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
FastReport (Число с плавающей запятой) Ziper БД в Delphi 1 28.04.2014 15:35
Перевод из строки в число с плавающей запятой nudist Общие вопросы Delphi 3 12.04.2014 18:09
плавающей запятой и со схемой! sort Помощь студентам 5 06.03.2013 07:46
Числа с плавающей запятой Сtrl Общие вопросы C/C++ 3 06.05.2011 08:10
число с плавающей запятой. kotopezzz Помощь студентам 1 25.02.2011 13:11