Ru-Board.club
← Вернуться в раздел «Web-программирование»

» MySql/PHP: общие вопросы

Автор: Mavrikii
Дата сообщения: 13.05.2015 18:53
Sutar

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

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


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

??
Автор: xerpal
Дата сообщения: 20.05.2015 14:02
С версии 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 ?
Автор: Mavrikii
Дата сообщения: 20.05.2015 21:07
xerpal

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

а попробовать?
да, так и есть
Автор: Sutar
Дата сообщения: 16.06.2015 11:58
Mavrikii

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

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

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

А если вам нужно сдвинуть не все, а только начиная с какого то конкретного id?
Автор: Sutar
Дата сообщения: 16.06.2015 14:14
Mavrikii

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

ну вообще, нужно сдвинуть все.
Автор: Mavrikii
Дата сообщения: 16.06.2015 15:44
Sutar

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

Ваше дело. Из первоначального бестолкового объяснения это не следует. Учитесь внятно излагать мысли.
Автор: Sutar
Дата сообщения: 20.08.2015 22:14
Здравствуйте,
есть задача, записывать в БД числа с плавающей точкой.
нужно записывать числа к примеру:

Код: 22.038471
283.19384
0.0000000001
-13.193841
Автор: Mavrikii
Дата сообщения: 20.08.2015 22:15
Sutar

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

и что не так?
Автор: Sutar
Дата сообщения: 20.08.2015 22:19
Mavrikii

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

Разве можно использовать число больше 4?
Код: до 3.402823466E+38
Автор: Mavrikii
Дата сообщения: 20.08.2015 22:36
Sutar

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

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


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

числа с плавающей точкой (и операции над ними) никогда не будут точными.
это особенности их представления и другого варианта нет.
Автор: Sutar
Дата сообщения: 25.01.2016 20:21
Mavrikii

Код: UPDATE `characteristic` SET `poss` = `poss`-1 WHERE `poss` > '". $select_char->poss ."'
Автор: Sutar
Дата сообщения: 28.01.2016 19:19
поможет кто-то с данной проблемой?
Автор: Sutar
Дата сообщения: 29.02.2016 21:10
Ребят, помогите с проблемой.
В бд есть таблица типа float
если внести в неё данные 13.00003 оно сохранит как 13 (остальное округляет и откидывает).
как можно сохранить с остатком?
Автор: FilmFanat
Дата сообщения: 01.03.2016 01:55

Цитата:
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 откидывает? Бывает, что откидывают клиенты баз данных и показывают упрощенное число, а в самой базе всё хранится как нужно.
Автор: Sutar
Дата сообщения: 01.03.2016 18:27
FilmFanat

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


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

Код: UPDATE `characteristic` SET `poss` = `poss`-1 WHERE `poss` > '2'
Автор: FilmFanat
Дата сообщения: 01.03.2016 22:54

Цитата:

UPDATE `characteristic` SET `poss` = `poss`-1 WHERE `poss` > '2'


Даже в этом случае никак не получится единица, так как сначала проверится условие, потом выполнится вычитание, а потом - присваивание. То есть если у вас есть поле

1
2
3
4

то после выполнения такого запроса результат должен быть

1
2
2
3

Первые два не изменятся, так как не попадут под действие условия, а последние два уменьшатся на единицу.


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


А если поменять на DECIMAL? Будет медленнее, но зато точное значение, а не приближенное
Автор: Sutar
Дата сообщения: 03.03.2016 17:03
FilmFanat

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

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


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

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


Код: preg_replace('#([\.,]0+|0+)$#', '', strval($num));
Автор: xameleon1
Дата сообщения: 12.03.2016 18:46
Вопрос такой, имеем код ниже, как вывести из 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>";
}
?>
Автор: vs6262
Дата сообщения: 11.04.2016 19:47
решил заняться MySQL - я в MySQL начинающий делаю первые шаги


Код: CREATE DATABASE database_01
    CHARACTER SET utf8
    COLLATE utf8_general_ci;

CREATE TABLE database_01.company

(company_num int,
company_name char(50));


INSERT INTO database_01.company (company_num,company_name) VALUES(15,'Петя');
Автор: vs6262
Дата сообщения: 11.04.2016 23:07
INSERT INTO database_01.company (company_num,company_name) VALUES('15','Петя');
всё сейчас работает
вопрос снят
Автор: Mavrikii
Дата сообщения: 12.04.2016 01:03
vs6262

Цитата:
всё сейчас работает
вопрос снят

причина явно была не в
Цитата:
VALUES(15,'Петя');

так как первый столбец - int типа.
Автор: vs6262
Дата сообщения: 12.04.2016 04:32

Цитата:
VALUES(15,'Петя');

ой не знаю я так испробовал работает

Добавлено:
только что проверил int типа работает как с кавычками так и без
Автор: Mavrikii
Дата сообщения: 12.04.2016 05:06
vs6262

Цитата:
только что проверил int типа работает как с кавычками так и без

я не спорю, mysql сам, в данном случае, преобразует тип. но проблема изначально была не в этом. нужно приводить и сообщение об ошибке в таком случае.
Автор: vs6262
Дата сообщения: 12.04.2016 05:12
Mavrikii
так как правильно при int типа с кавычками или без ?
сообщение об ошибке не выдает. использую XAMPP там по моему MariaDB
Автор: Mavrikii
Дата сообщения: 12.04.2016 05:13
vs6262

Цитата:
так как правильно при int типа с кавычками или без ?

в данной ситуации не важно, так как преобразует самостоятельно тип к инту.
Автор: vs6262
Дата сообщения: 12.04.2016 05:17
я находил примеры с w3schools там при int типа с кавычками

Страницы: 12345678910111213

Предыдущая тема: PHP: лимит времени на выполнение скрипта


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.