Скрипт расчета стоимости кв.м от цены

12
R
На сайте с 07.08.2011
Offline
65
1372

CMS DLE

Как сделать такой скрипт, который будет подсчитывать автоматически стоимость квадратного метра при добавлении новостей.

Например, при добавление новости, в одно доп.поле вписываю цифру:

1600000 (это цена) , а в другое доп.поле цифру:

34 (это кв.м.)

итого 47058 за 1 кв.м.

например, есть такой скрипт http://jsfiddle.net/Deonis/2hemA/7/

А как сделать, чтобы не надо было в ручную вписывать цифры в поля, а брались те цифры, которые я указал сам при добавлении новости?

Например, я могу в любом месте html шаблона вывести те цифры, которые указывал при добавлении новости.

vlad00777
На сайте с 24.12.2009
Offline
119
#1

С ДЛЕ давно не работал, поэтому базы под рукой нету, что б помочь сейчас. Версию ДЛЕ хоть подскажите, база ведь может отличатся, но я не в курсе может есть какая-то спец функция, которая может передать значение в php.

Т.к нам просто нужно поделить значение из одного доп поля на другое и округлить.

Верстка. Качественно! Адаптивная, резиновая, с параллаксом и прочими плюшками. В ЛС.
R
На сайте с 07.08.2011
Offline
65
#2

Версия DLE 10.1

vlad00777
На сайте с 24.12.2009
Offline
119
#3

Как-то так:

<?php
global $db;
$id = $_GET['newsid'];
$res = $db->super_query( "SELECT xfields FROM " . PREFIX . "_post WHERE id='$id'" );
$result = explode("||",$res['xfields']);
$summa = explode("|", $result[0]);
$summa = $summa[1];

$kv = explode("|", $result[1]);
$kv = $kv[1];

$summkv = $summa/$kv;
echo $summkv;
?>

Это пример для моего случая. В поле xfields у меня -summ|160000||kv|40.

Сначала создавал поле суммы, а потом поле квадратуры. Если данный скрипт не сработает как нужно попробуйте поменять местами строку, на: $summkv = $kv/$summa; Или дайте ваши данные с базы в поле xfields.

Вставлять туда, где нужно выводить.

П.с решение не идеальное, но рабочее может можно проще я честно говоря не в курсе.

LovelAss
На сайте с 05.06.2009
Offline
96
#4


[xfgiven_footage]
<p>Площадь: <span id="footage">[xfvalue_footage]</span> м.кв.</p>
[/xfgiven_footage]
[xfgiven_price]
<p>Стоимость: <span id="price">[xfvalue_price]</span> $</p>
[/xfgiven_price]
<div id="output"></div>
<script>
var price = $('#price').val() * 1;
var footage = $('#footage').val() * 1;
if(!isNaN(price) && !isNaN(footage)){
$('#output').html('Цена за м.кв: ' + (price / footage).toFixed(2) + ' монгольских тугриков');
}
</script>
vlad00777
На сайте с 24.12.2009
Offline
119
#5

LovelAss, в принципе и на js можно, дабы не грузить лишним запросом. Все в принципе зависит от ситуации.

edogs software
На сайте с 15.12.2005
Offline
775
#6
vlad00777:
П.с решение не идеальное,

Еще какое не идеальное.

$id = $_GET['newsid'];

$res = $db->super_query( "SELECT xfields FROM " . PREFIX . "_post WHERE id='$id'" );

намек http://bobby-tables.com/ru_RU/

Разработка крупных и средних проектов. Можно с криптой. Разумные цены. Хорошее качество. Адекватный подход. Продаем lenovo legion в спб, дешевле магазинов, новые, запечатанные. Есть разные. skype: edogssoft
R
На сайте с 07.08.2011
Offline
65
#7
LovelAss:

[xfgiven_footage]
<p>Площадь: <span id="footage">[xfvalue_footage]</span> м.кв.</p>
[/xfgiven_footage]
[xfgiven_price]
<p>Стоимость: <span id="price">[xfvalue_price]</span> $</p>
[/xfgiven_price]
<div id="output"></div>
<script>
var price = $('#price').val() * 1;
var footage = $('#footage').val() * 1;
if(!isNaN(price) && !isNaN(footage)){
$('#output').html('Цена за м.кв: ' + (price / footage).toFixed(2) + ' монгольских тугриков');
}
</script>

Не отображается сумма.

Создал поля footage и price

В поле footage вписываю 43 например (это кв.м.)

В поле price указываю цену 1600000 например.

Вставил скрипт в полную новость шаблона и ничего не отображается в этом месте.

vlad00777
На сайте с 24.12.2009
Offline
119
#8

edogs, Дело было вечером, делать было нечего ©

Естественно фильтровать все нужно и проверять, а этот код написан на скорую руку дабы показать что можно выполнить задачу.

$id = mysql_real_escape_string(intval($_GET['newsid']));
$res = $db->super_query( "SELECT xfields FROM " . PREFIX . "_post WHERE id='$id'" );

Вроде так.

LovelAss
На сайте с 05.06.2009
Offline
96
#9

rummer, замените:


var price = $('#price').val() * 1;
var footage = $('#footage').val() * 1;

на


var price = $('#price').text() * 1;
var footage = $('#footage').text() * 1;
R
На сайте с 07.08.2011
Offline
65
#10

LovelAss, Спасибо большое! Работает.

А, если например цена указана не как 3500 000, а как 3 500 000 например, то уже не подсчитывает. Какой код в этом случае будет? Не столь важно это конечно...

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий