Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   БД в виде txt (https://javascript.ru/forum/misc/56881-bd-v-vide-txt.html)

nikto93i7 08.07.2015 11:12

БД в виде txt
 
Доброго времени суток форумчане!))
Помогите пожалуйста решить один вопрос..

есть часть кода для выбора машины
<div class="buscar">
<li class="car">
<input type="radio" checked="checked" name="one" id="one2"/>
<img src="car.png" alt="car" width="40px" height="40px">
</li>
<li class="bus">
<input type="radio" name="one" id="one1" disabled>
<img src="bus.png" alt="bus" width="40px" height="40px">
</li>
</div>


часть кода для выбора веса авто
<div class="value_two">
<label style="font-size: 16px">
<input type="radio" checked="checked" name="two" id="two1"/>
3.5</label>
<label style="font-size: 16px">
<input type="radio" name="two" id="two2"/>
5.5</label>
<label style="font-size: 16px">
<input type="radio" name="two" id="two3"/>
9.5</label>
<label style="font-size: 16px">
<input type="radio" name="two" id="two4"/>
26</label>
</div>


как создать БД в виде txt для того чтоб

когда человек выбрал bus
bus = 3.5 цена стала 10000
bus = 5.5 цена стала 20000
bus = 9.5 цена стала 30000
bus = 26 цена стала 40000

а если выберет car, то цена выводилась бы другая
car = 3.5 цена стала 15000
car = 5.5 цена стала 25000
car = 9.5 цена стала 35000
car = 26 цена стала 45000

laimas 08.07.2015 11:24

<input data-add="0" type="radio" checked="checked" name="one">
<input data-add="5000" type="radio" name="one">
для них не нужен id, и зачем disabled тоже не понятно

<input data-price="10000" type="radio" checked="checked" name="two">
....
и т.д.


У выбранной кнопки получаем значение data-price (куда только его девать не понятно), а в зависимости от выбора кнопки buscar добавляем или нет 5000 (data-add).

PS. LI без UL/OL, это ошибка.

nikto93i7 08.07.2015 11:43

Выводить нужно просто в строку (без перезагрузки страницы)

ничего не понял из ответа... так как все же создать БД в виде txt для решения данной задачи? (в txt будет лежать цена, и вызываться в зависимости от выбранного варианта)

p.s. цену и строки привел для примера :)

laimas 08.07.2015 11:52

Зачем вам БД? Пример. Используя jQuery. По умолчанию в "price" отображается цена по выбранным по умолчанию кнопкам. При изменении в любой из групп цена обновляется в зависимости от выбора.
Переносите font-size: 16px и прочее в CSS. Картинки для кнопок тоже самое, используя не LI, а LABEL, и в псевдоселекторе label:before указать изобаржения. Если не критично, то родительским блокам DIV присвоить ID вместо классов, для использования их как селекторов.
<!DOCTYPE HTML> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script> 
$(function() {
    var m = $('#buscar').find('input').change(function() {
        $('#price').text(p.filter(':checked').data('price')+$(this).data('add'))
    });
    
    var p = $('#value_two').find('input').change(function() {
        $('#price').text($(this).data('price')+m.filter(':checked').data('add'))
    });
});
</script>     
</head> 

<body>
<div id="buscar">
    <label>
        <input data-add="5000" type="radio" checked="checked" name="one">
        <img src="car.png" alt="car" width="40px" height="40px">
    </label>
    <label>
        <input data-add="0" type="radio" name="one">
        <img src="bus.png" alt="bus" width="40px" height="40px">
    </label>
</div>

<div id="value_two">
    <label>
        <input data-price="10000" type="radio" checked="checked" name="two">
        3.5
    </label>
    <label>
        <input data-price="20000" type="radio" name="two">
        5.5
    </label>
    <label>
        <input data-price="30000" type="radio" name="two">
        9.5
    </label>
    <label>
        <input data-price="40000" type="radio" name="two">
        26
    </label>
</div>

<div id="price">15000</div>
</body> 
</html>


Изменяйте выбор, смотрите.

nikto93i7 08.07.2015 12:03

Да вы просто маг для меня!!))) :D

только один вопрос остался мне не понятен... для получения 25000 выполняется действие (20000+5000)? просто значения взяты тоже для образца, можно как-то сделать так, что бы значения брались просто фиксировано?

laimas 08.07.2015 12:13

Что значит фиксировано?

nikto93i7 08.07.2015 12:18

и всетаки, есть ли способ получения данных из таблице в txt? нужно для другой задачи... не сталкивался с таким, помоги пожалуста :victory:

nikto93i7 08.07.2015 12:19

Цитата:

Сообщение от laimas (Сообщение 378178)
Что значит фиксировано?

значит чтоб эти данные не получались путем вычисления

laimas 08.07.2015 12:22

Зачем данные из таблицы и какой, помещать в txt? Все "приготовления" для какого либо использования определяются задачей. В данном случае, чтобы получить конечный результат не требуется никаких txt, сами элементы могут содержать исходные данные.
А что за задача, которой требуется нечто, да еще как текст?

laimas 08.07.2015 12:24

Цитата:

Сообщение от nikto93i7
значит чтоб эти данные не получались путем вычисления

А каким образом они должны получаться? Хотите держать N-набор готовых вычисленных значений вместо того чтобы иметь гораздо меньший объем исходных данных, а вычислив по зависимости указанной получить результат? Ну так это же глупо, мягко говоря.

nikto93i7 08.07.2015 12:42

Соглашусь с вами!) тогда задача полностью решена! :thanks:

kostyanet 09.07.2015 06:00

Для начала разузнайте как вы свой "тээкстэ" прочитаете в браузер и откуда.

kostyanet 09.07.2015 06:03

laimas знатный мозго..б, это понятно, не понятно почему очевидное решение так легко ускользнуло?

Автору темы нужна бд на XML. Только и всего. Такие базы все видели, многие делали и они повсеместно применяются.

Но только не в головах профессоров яваскрипт.ру Они сразу советуют всю бд зашивать в хтмл, а чо...

laimas 09.07.2015 08:27

Я думал ты пропал, лечился, а ты так и поносишь. Слушай, гони свой бред кому угодно, мне он и нах и не нужен.

nikto93i7 09.07.2015 10:29

Цитата:

Сообщение от kostyanet (Сообщение 378324)
Автору темы нужна бд на XML. Только и всего. Такие базы все видели, многие делали и они повсеместно применяются.

можете помочь с этим вопросом? еще есть потребность в БД на XML :yes:
или в csv формате даже лучше будет))

kostyanet 09.07.2015 13:34

В чесеве не будут работать запросы. Ну если индустриально подходить. А для колхозного решения, или если бд микроскопическая - и чсв прокатит.

Так что у вас там на входе - екзель? И дальше что?

nikto93i7 09.07.2015 13:48

как сам понимаю, я расписал в задание.. если с этим поможете разобраться (использую вариант с csv), то буду благодарен))) просто по аналогии сделаю другое свое задание (там csv файл состоит более чем из 1000 значений и их как-то нужно отлавливать и выводить... Для примера: при пересчете получилось число 5 и оно равно 679 - это нужно вывести в строку html, если число 34, то оно равно 964 - закономерности нету)

Хоть подскажите, что почитать можно и в какую сторону копать :blink:

kostyanet 09.07.2015 15:28

Если вы не знаете как запрограммировать, то не пытайтесь объяснить на языке программирования, а используйте человеческий. Что есть - что надо сделать из того, что есть и что надо получить. Можно на примерах у кого уже сделано. Потому что ваше это "задание" - полный бред.

kostyanet 09.07.2015 15:29

Цитата:

Сообщение от nikto93i7
при пересчете получилось число 5 и оно равно 679

Знаете что, число 5 не равно числу 679, это вам любой школьник докажет.

kostyanet 09.07.2015 15:32

Цитата:

Сообщение от nikto93i7
если число 34, то оно равно 964 - закономерности нету)

Скажите, зафигом вам все это надо? Ну ясно же что вы в нулевом классе информатики, но зачем-то взялись делать какую-то страницу да еще на текстовой бд.

Когда нет закономерности - делается таблица соответствий и все.

nikto93i7 09.07.2015 18:05

Цитата:

Сообщение от kostyanet (Сообщение 378393)
Скажите, зафигом вам все это надо?

как же ты мне надоел... не отвечай больше :)

kostyanet 09.07.2015 19:10

А число 15 равно числу 365?

nikto93i7 10.07.2015 00:15

не в этом суть))
мне нужно сделать пересчет первоначальных данных вводимых вручную (примерно 4 значения), произвести вычисление по формуле и получить число из 1-го массива (от 1 до 1000) выбрать из данных в csv значение результата и вместо него вывести соответствующее ему число

1;3;6;7;12;19;..... //примерно до 1000 (пропущенные значения при пересчете через формулу получиться не могут)
12;23;34;54;68;80;.... // такой де длинны как и первый


т.е. если при пересчете выходит цифра 7, то выдает значение 54. если 19, то выдаст в ответ 80
данные не закономерно пропорциональны

kostyanet 10.07.2015 05:35

Вы ж мне запретили отвечать. Могу только вопросы задавать. Вы поняли что нужно сделать таблицу соответствий?

Код:

in out
1  12
2  23
6  34

И так далее.

И еще, поняли ли вы что изворачиваясь как партизан в гестапо вы рискуете никогда не решить эту задачу. Или объясняйте по-человечески.

nikto93i7 10.07.2015 10:25

Цитата:

Сообщение от kostyanet (Сообщение 378488)
Вы поняли что нужно сделать таблицу соответствий?

Тооооочно!))) вот теперь все ясно стало!))
Извини что на тебя набурчал :thanks:

kostyanet 10.07.2015 21:31

В терминах жабы таблица делается объектом

table={
  1:12,
  2:23,
  6:34
};


Что дает возможность проверить вход

var c=2;

if(c in table)
  c=table[c];


вот и преобразовали, было 2, стало 23.

Разумеется такой объект запростяк отпарсить с чесеве.


Часовой пояс GMT +3, время: 10:27.