Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » MySql/PHP: общие вопросы

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23

Открыть новую тему     Написать ответ в эту тему

Mavrikii

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Sutar

Цитата:
единицу и знак + нужно брать в ' '?

не нужно, вы делаете математическое действие над столбцом с целыми числами (если, конечно, не создали тип столбца строка, непонятно зачем).
еще раз - хотя бы один простенький учебник.
 

Цитата:
и как это взять его?

??

Всего записей: 6141 | Зарегистр. 20-09-2014 | Отправлено: 18:53 13-05-2015 | Исправлено: Mavrikii, 18:54 13-05-2015
xerpal



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
С версии 5.4.0 "ошибки"  E_STRICT включили в E_ALL  - что не всегда удобно. Что надо прописать в php.ini чтобы исключить обратно  E_STRICT? http://php.ru/manual/errorfunc.constants.html  
А то эти побитовые операторы убивают - никогда с ними не работал.  
Подскажите плиз что прописать?  E_ALL & ~E_STRICT  то что надо?  
Или E_ALL^E_STRICT ?

Всего записей: 898 | Зарегистр. 08-10-2011 | Отправлено: 14:02 20-05-2015 | Исправлено: xerpal, 14:06 20-05-2015
Mavrikii

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
xerpal

Цитата:
E_ALL & ~E_STRICT  то что надо?  

а попробовать?
да, так и есть

Всего записей: 6141 | Зарегистр. 20-09-2014 | Отправлено: 21:07 20-05-2015
Sutar



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii

Цитата:
и это условие не id = чем то, а нужные параметры больше или меньше чего то.

если у меня всего 5 записей (к примеру) где id = 1, 2, 3, 4 и 5. после Mysql запроса, результат будет id = 2, 3, 4, 5 и 6. (Что и требуется)
Вопрос, условие нужно? Намой взгляд, это лишнее...
Но возможно Вы хотели сказать мне, что могут быть редки, нежелательные "баги" или неполадки? От которых можно избавится, добавив какое-то умное условие

Всего записей: 1146 | Зарегистр. 15-08-2011 | Отправлено: 11:58 16-06-2015
Mavrikii

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Вопрос, условие нужно? Намой взгляд, это лишнее

А если вам нужно сдвинуть не все, а только начиная с какого то конкретного id?

Всего записей: 6141 | Зарегистр. 20-09-2014 | Отправлено: 13:38 16-06-2015
Sutar



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii

Цитата:
А если вам нужно сдвинуть не все

ну вообще, нужно сдвинуть все.

Всего записей: 1146 | Зарегистр. 15-08-2011 | Отправлено: 14:14 16-06-2015
Mavrikii

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Sutar

Цитата:
ну вообще, нужно сдвинуть все.

Ваше дело. Из первоначального бестолкового объяснения это не следует. Учитесь внятно излагать мысли.

Всего записей: 6141 | Зарегистр. 20-09-2014 | Отправлено: 15:44 16-06-2015
Sutar



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте,
есть задача, записывать в БД числа с плавающей точкой.
нужно записывать числа к примеру:

Код:
22.038471
283.19384
0.0000000001
-13.193841

(вообщем все от -100.00000 до +100.000000)
я думаю использовать тип float, но в описаниях указано:
 

Код:
Малое число с плавающей точкой, допустимые значения от -3.402823466E+38 до -1.175494351E-38, 0, и от 1.175494351E-38 до 3.402823466E+38

 
подскажите, какой тип данны можно использовать в моем случаи...

Всего записей: 1146 | Зарегистр. 15-08-2011 | Отправлено: 22:14 20-08-2015
Mavrikii

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Sutar

Цитата:
но в описаниях указано:  

и что не так?

Всего записей: 6141 | Зарегистр. 20-09-2014 | Отправлено: 22:15 20-08-2015
Sutar



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii

Цитата:
и что не так?

Разве можно использовать число больше 4?
Код:
до 3.402823466E+38

 
да и пишут, что там погрешность может всплыть.
Если внести число 3.34 будет 3.33983748....
нужно точное число...

Всего записей: 1146 | Зарегистр. 15-08-2011 | Отправлено: 22:19 20-08-2015
Mavrikii

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Sutar

Цитата:
Разве можно использовать число больше 4?  

мда.. у вас нулевые знания в элементарных областях.
3.402823466E+38 - это 34028234660000000000000000000000000000
другое дело, что больше определенного количества цифр после запятой не сохранится. и есть и другие особенности с точностью таких операций.
образовывайтесь - http://neerc.ifmo.ru/wiki/index.php?title=Представление_вещественных_чисел
 

Цитата:
нужно точное число...

числа с плавающей точкой (и операции над ними) никогда не будут точными.
это особенности их представления и другого варианта нет.

Всего записей: 6141 | Зарегистр. 20-09-2014 | Отправлено: 22:36 20-08-2015 | Исправлено: Mavrikii, 22:41 20-08-2015
Sutar



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii

Код:
UPDATE `characteristic` SET `poss` = `poss`-1 WHERE `poss` > '". $select_char->poss ."'

 
Есть бд:

Код:
poss
1
2
3
4

 
к примеру удаляем строка с poss=2
в результате должно остаться такая бд:
 

Код:
poss
1
2
3

 
а получается такая:

Код:
poss
0
2
3

 
в чем ошибка?

Всего записей: 1146 | Зарегистр. 15-08-2011 | Отправлено: 21:21 25-01-2016
Sutar



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
поможет кто-то с данной проблемой?

Всего записей: 1146 | Зарегистр. 15-08-2011 | Отправлено: 20:19 28-01-2016
Sutar



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ребят, помогите с проблемой.
В бд есть таблица типа float
если внести в неё данные 13.00003 оно сохранит как 13 (остальное округляет и откидывает).
как можно сохранить с остатком?

Всего записей: 1146 | Зарегистр. 15-08-2011 | Отправлено: 22:10 29-02-2016
FilmFanat

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
UPDATE `characteristic` SET `poss` = `poss`-1 WHERE `poss` > '". $select_char->poss ."'

 
Код срабатывает и получается 0, 2, 3 - ведь 1-1 будет 0, почему вы считаете, что в таблице должны быть 1,2,3?
 

Цитата:
В бд есть таблица типа float  
если внести в неё данные 13.00003 оно сохранит как 13 (остальное округляет и откидывает).  
как можно сохранить с остатком?

 
А вы уверены, что МySql откидывает? Бывает, что откидывают клиенты баз данных и показывают упрощенное число, а в самой базе всё хранится как нужно.

Всего записей: 28 | Зарегистр. 20-08-2010 | Отправлено: 02:55 01-03-2016
Sutar



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
FilmFanat

Цитата:
почему вы считаете, что в таблице должны быть 1,2,3?  

 
потому что выполнение будет таким:

Код:
UPDATE `characteristic` SET `poss` = `poss`-1 WHERE `poss` > '2'

 

Цитата:
А вы уверены, что МySql откидывает? Бывает, что откидывают клиенты баз данных и показывают упрощенное число, а в самой базе всё хранится как нужно.  

да, в БД вносится число не без откидывания. а в БД оно хранится с откинутой частью. Сейчас временное решение, поменять тип с float на double. Но не знаю... корректно это, или нет...

Всего записей: 1146 | Зарегистр. 15-08-2011 | Отправлено: 19:27 01-03-2016
FilmFanat

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
 
UPDATE `characteristic` SET `poss` = `poss`-1 WHERE `poss` > '2'

 
Даже в этом случае никак не получится единица, так как сначала проверится условие, потом выполнится вычитание, а потом - присваивание. То есть если у вас есть поле
 
1
2
3
4
 
то после выполнения такого запроса результат должен быть
 
1
2
2
3
 
Первые два не изменятся, так как не попадут под действие условия, а последние два уменьшатся на единицу.
 

Цитата:
поменять тип с float на double. Но не знаю... корректно это, или нет...

 
А если поменять на DECIMAL? Будет медленнее, но зато точное значение, а не приближенное

Всего записей: 28 | Зарегистр. 20-08-2010 | Отправлено: 23:54 01-03-2016
Sutar



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
FilmFanat

Цитата:
Первые два не изменятся

в том-то и дело, что изменяется и первые два. Такое чувтсво, что идет полное игнорировании Where.
 

Цитата:
А если поменять на DECIMAL

пробовал. DECIMAL(20,10)
если в БД внести число 123.4567
то после обновления страницы, будет выводить 123.4567000000
почему-то вылазят 0 сзади. Но тут нужно округлять.... а я не знаю как округлять, поскольку числа после запятой могут быть от 0 до 10. (т.е. как отсутствовать вовсе, так и присутствовать все 10).

Всего записей: 1146 | Зарегистр. 15-08-2011 | Отправлено: 18:03 03-03-2016
Ramzzes



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Можно так незначащие нули отбросить
 

Код:
preg_replace('#([\.,]0+|0+)$#', '', strval($num));

Всего записей: 57 | Зарегистр. 03-07-2006 | Отправлено: 23:19 03-03-2016 | Исправлено: Ramzzes, 23:20 03-03-2016
xameleon1



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вопрос такой, имеем код ниже, как вывести из CSV файла результаты поиска в табличную часть, сейчас же скрипт выдает результат просто обычными текстовыми строками ? Возможно ли вывести в таблицу ? Разделитель файла ;
вот сам код
 
<html><b>Поиск по базе:</b><br><form action="" method="post">
 <p>Что ищем: <input type="text" name="search" /></p>
 <p><input type="submit" value="Поиск"/></p>
</form></html>
 
<?php
$search=$_POST['search'];
 
$lines = file('sfarm_ost.csv');
foreach($lines as $num_line => $line_value)
{
    if(strpos($line_value, $search) !== FALSE)
     echo "$num_line $line_value<br>";
}
?>

Всего записей: 64 | Зарегистр. 02-02-2006 | Отправлено: 19:46 12-03-2016
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23

Компьютерный форум Ru.Board » Интернет » Web-программирование » MySql/PHP: общие вопросы

Имя:
Пароль:
Сообщение

Для вставки имени, кликните на нем.

Опции сообщенияДобавить свою подпись
Подписаться на получение ответов по e-mail
Добавить тему в личные закладки
Разрешить смайлики?
Запретить коды


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.Board
© Ru.Board 2000-2018

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru