postavkin

Рейтинг
601
Регистрация
06.01.2009
87793:
А что тут такого удивительного? 😕

Согласен. Понимаю, не помнить как с интегралами работать...

87793:
Дело не в нулях, которые Вы получили в результате вычитания на очередном шаге.
Дело в том, что Вы получили ноль в результат деления.
3-й шаг: 0 в разности, снесли 8 - получили 08 (т.е. 8).
8/8 = 1 - единица в результат деления. Пишем её туда, в поле результата у нас на данном этапе 751.
4-й шаг: 0 в разности, снесли 4 - получили 04 (т.е. 4).
4/8 = 0 - ноль в результат деления. Пишем его туда, в поле результата у нас на данном этапе 7510.
Вычитание ноля не пишем.
5-й шаг - переход в следующий разряд - сносить из делимого нечего, цифры делимого закончились, поэтому результат деления замыкаем запятой. Приписываем ноль (т.е. "сносим" его из записи делимого с дробной частью - "60084,0"). Получаем 40.
40/8 = 5, пишем пятёрку к результату деления (7510,5), а поскольку разность равна нулю и цифры делимого закончились - процесс останавливается.

Почему тогда пример " 2 не так решаем?

Начал вам писать и понял ответ. Просто в первом варианте ещё остается 4ка (4-й шаг). Её не поделить, дописываем в результат 0, и к ней дописываем ноль, в результат дописываем запятую.

А в примере 2 там в результате вычитания осталась 4-ка, её на 6 делить нельзя, дописываем в результат запятую, а к 4-ке ноль....как то так..

Вообщем, понятно, что в первом случае непосредственно кусок остается от делимого, если меньше чем то, на что нужно поделить, дописываем и туда и туда ноль. А во втором, остаток, который меньше, чем то на что нужно поделить, значит дописываем запятую.

ОЛЕ! спасибо!.

---------- Post added 08-04-2015 at 19:26 ----------

MargoDNP:
я сначала удивилась, что сейчас вообще кто-то помнит, как делить в столбик )

Мы и дроби складывать умеем :)

Помним, просто путаница получилась из за двух похожих примеров, да и опыт пропал. Вот с сыном вечером тренироваться будем.

---------- Post added 08-04-2015 at 19:27 ----------

Спасибо 87793, разложил по полочкам.

87793:
У нас там получился 0 разности, а не 0 в частное.
В частное у нас получилась пятёрка (40/8 = 5).

Прошу прощения, просто логику нужно понять, сыну объяснить, а сам туплю...

Разве эти нули чем то отличаются?

Выделил

[ATTACH]141910[/ATTACH]

jpg 1428496425798.jpg
bondarev.pp.ru:
после 08/8 у вас получился 0, и вы перешли к следующему разряду. В этот момент нужно было 0 в результат дописать.

7510.5

Так почему? В этом же примере №1 на один шаг выше, смотрите, после 40/40 у нас тоже получился 0, но мы то не дописывали в результат ноль

---------- Post added 08-04-2015 at 18:17 ----------

87793:
А снос заключительной четвёрки делимого и приписывание нуля - это не один шаг должен быть, а два

В примере №2 - мы после 40минус36 получили 4. Приписали ноль к четверке, но в результат при этом тоже не дописываем ноль, а просто в результате ставим запятую...

'[umka:
;13638018']Это делается штатными escape-функциями mysql, о которых я написал выше.

Спасибо оргомное. Обязательно ознакомлюсь. Просто сейчас пока сделал так.

Там надо освоить материал. Я пробежался, но это не быстро сделать. Нужно время.

proksey-net:
вообще неправильно. Во первых я напишу вместо ' %27 и вот вам sql-инъекция. А раз у вас одинарные кавычки в базе встречаются, то делается это так:

$brand = urldecode($brand);
$brand = str_replace("\\", "", $brand);
$brand = str_replace("'", "\\'", $brand);

%27 это не пробел ' OR ''=', это типо так 'OR''='?

Если да, то я доставил ещё проверку на '='.

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

Простите, а от куда \ в запросе появится?

Сильно не пинайте, я только учусь, разбираюсь с этим делом.

Спасибо

---------- Post added 08-04-2015 at 14:40 ----------

proksey-net:

$brand = str_replace("'", "\\'", $brand);

На мой взгялд в этом конкретно, нет необходимости, так как в априори в названии бренда нет '

Поэтому скрипт просто отдаст ошибку если в бренде будет '

$prov4 = substr_count($brand, "'");

vandamme:
в одинарных ковычках переменная?
$result22 = mysql_query("SELECT id from `katalog` WHERE `brand`='" . $brand . "'");

Да. В одинарных.

Знаю глупость, но работает. У меня на входе, в обработчике стоит проверка на пробелы и кавычки.

$prov1 = substr_count($brand, "%20");

$prov2 = substr_count($brand, " ");

$prov3 = substr_count($brand, "'");

Для большей уверенности думаю ещё добавить

$brand = str_replace("=", "", $brand);

'[umka:
;13636989']Выведите ошибку mysql-я, там в ней будет написано, в каком именно месте.
Или выполните тот же запрос в phpMyAdmin.
Или просто выведите этот же запрос, в большинстве случаев этого бывает достаточно, чтобы увидеть косяк.

А не подскажете, как выводить ошибку mysql-я в файл, а не на экран? У меня все ошибки пишутся в файл...

Понятно одно - проблему будет найти сложно, так как при запросе непосредственно в phpMyAdmin - все нормально. Видимо в каких то страницах, переменная учавствующая в запросе принимает какой то нехороший вид. У меня там происходит отбор товаров производителя, так вот запрос такого вида

$brand = 'название_бренда';
$result22 = mysql_query("SELECT id from `katalog` WHERE `brand`='$brand'");

возможно где то бренд вида Lami'Art правда как с этим бороться, тоже не знаю, т.к. надо найти его товары и просто так удалить из названия знак ' не могу же.

'[umka:
;13636951']Синтаксическая ошибка в запросе

Нет, все таки не понял, где именно. Сперва подумал, скобку забыл закрыть...

Нашел, вероятно поэтому?

WHERE `id`>=$newid

надо

WHERE `id`>='$newid'

Эх, нет, все равно ошибка ((

The WishMaster:
Причем тут ноуиндекс? Вынести повторяющееся слово в заголовок и все.

Нагляднее и удобнее пользователю, когда товар полностью подписан, т.е. "плинтус красный".

Понятно, что можно сделать заголовок, а плинтуса подписать только цвет.

Но вопрос то был в другом же - понимает ПС что это набор товаров или может принять контент спамным.

Всего: 5509