gospelwork
Новичок
Дата регистрации:
29.06.2014 18:33:18
Сообщений: 3
Добрый день уже месяц не могу доработать одну функцию.
function plus_tr(){
var kol = Number($("#kol_wood").val();
var l = Number($("#l_wood").val();
var d = Number($("#d_wood").val();
$.ajax({
url: "re.php",
type: "POST",
data: ({l: l, d: d});
dataType: "text",
beforeSend: funcB,
success:
var v = data * kol;
$("#prihod_breven_entery".append("<tr><td>" + l + "</p></td><td>" + d + "</p></td><td>" + kol + "</p></td><td>" + (data).toFixed(3) + "</p></td><td>" + (v).toFixed(3) + "</tr>"
});
});
}
Она обрабатывает следующие поля:
<table id="prihod_breven_entery" border="solid">
<tr>
<td>Длина бревна</td>
<td>Диаметр бревна</td>
<td>Кол-во бревен</td>
<td>Объём 1 бревна</td>
<td>Общий объём</td>
</tr>
<tr id="intro">
<td>
<input id="l_wood" type="text" />
</td>
<td>
<input id="d_wood" type="text" />
</td>
<td>
<input id="kol_wood" type="text" />
</td>
</tr>
</table>
<input type="button" onclick="plus_tr()" value="+" name="ent" /> // добавляет еще одну строку к таблице.
Обработчик re.php:
<?php
function printResultSet ($result_set){
$l = $_POST["l"];
while (($row = $result_set->fetch_assoc()) != false) {
global $v_1;
$v_1 = $row[$l];
}
}
$l = $_POST["l"];
$d = $_POST["d"] - 10;
$mysqli = new mysqli("localhost", "root", "", "kub"
$mysqli->query("SET NAMES 'utf8'"
$result_set = $mysqli->query("SELECT * FROM `kubaturnik` ORDER BY $l LIMIT $d, 1" // запрос к БД верен, выдает правильный результат, проверял
printResultSet($result_set);
if ($_POST['l'] == 1) echo json_encode($result_set);
$mysqli->close();
?>
Помогите пожалуйста, все уже перепробовал, не получается.
tikkiwiki
Модератор
Дата регистрации:
15.11.2013 15:36:59
Сообщений: 194
Напишите, хоть, что не получается и, что должно быть?
gospelwork
Новичок
Дата регистрации:
29.06.2014 18:33:18
Сообщений: 3
За эти 2 дня почти получается. Для отправки запроса использовал метод $.get, понял, что отправлять нужно текстовые данные. Ответ от сервера приходит! Но, к примеру, вписываю команду alert(data); выдает нужное число, в кавычках. Как избавиться теперь от кавычек, не знаю. Вот скрин на всякий http://joxi.ru/qcCzU_3JTJBfAwBiTZQ
gospelwork
Новичок
Дата регистрации:
29.06.2014 18:33:18
Сообщений: 3
Все! Доработал. Все работает, как надо.
$("#plus_tr".click(function(){
var kol = Number($("#kol_wood".val());
var l = $("#l_wood".val();
var d = $("#d_wood".val();
$.get("re.php", {l: l, d: d}, function(data){
data = JSON.parse(data);
var v_1 = data.replace(/,/, '.';
var v = Number(v_1) * kol;
$("#prihod_breven_entery".append("<tr><td>" + l + "</p></td><td>" + d + "</p></td><td>" + kol + "</p></td><td>" + v_1 + "</p></td><td>" + v.toFixed(3) + "</tr>"
})
});
Обработчик:
<?php
function printResultSet ($result_set){
$l = $_GET["l"];
while (($row = $result_set->fetch_assoc()) != false) {
global $v_1;
$v_1 = $row[$l];
}
}
$l = $_GET["l"];
$d = $_GET["d"] - 10;
$mysqli = new mysqli("localhost", "root", "", "kub"
$mysqli->query("SET NAMES 'utf8'"
$result_set = $mysqli->query("SELECT * FROM `kubaturnik` ORDER BY $l LIMIT $d, 1"
printResultSet($result_set);
echo json_encode($v_1);
$mysqli->close();
?>
Кратко объясню в чем суть работы скрипта. Есть таблица ГОСТ "Объём круглого леса", в ней более 1000 ячеек. Я занес ее в MySQL. Пользователь на сайте вводит длину, диаметр и количество бревен. На сервер в текстовом формате передается длина и диаметр, по ним из БД делается выборка объема одного бревна и возвращается в документ. Потом по этим данным вычисляется общий объём бревен и добавляется в таблицу уже готовая строка с данными.