Форум на Kuban.ru (http://forums.kuban.ru/)
-   Веб-дизайн и программирование (http://forums.kuban.ru/f1030/)
-   -   Прошу помощи php+java (http://forums.kuban.ru/f1030/proshu_pomoshi_php_java-4226992.html)

oleg747 21.05.2013 08:26

Прошу помощи php+java
 
Доброго дня!
Вот какой вопрос.
Есть вот какой код


......
<script language='javascript'>
function do_math(f)
**
var kgshtuk= f.elements['kgshtuk_1'].value;
var shtukbox= f.elements['shtukbox_1'].value;
var res =kgshtuk/parseInt(shtukbox);
f.elements['box_1'].value = isNaN(res.toPrecision(5)) ? '' : res.toFixed(0);
var SPRC = f.elements['SPRC_1'].value;
var box = f.elements['box_1'].value;
var rez=box/parseInt(SPRC);
f.elements['pallet_1'].value = isNaN(rez.toPrecision(1)) ? '' : rez.toFixed(1);
**
</script>

<?php
**$result=mysql_query("SELECT pole1, pole2, pole3, pole4, pole5 FROM table1");
$colcount=mysql_num_fields($result);
print ("<table>");
print ("<tr>");
print ("<th>№<br />п/п</th>");
print ("<th>Значение1</th>");
print ("<th>Значение2</th>");
print ("<th>Значение3</th>");
print ("<th>Значение4</th>");
print ("<th>Значение5</th></tr>");
$z=0;
while ($row=mysql_fetch_row($result))
**$z++;
print ("<td><input type=\"text\" style=\"width:40px;\" value='$z' readonly></td>\n");
print ("<td width=30px><input type=\"text\" style=\"width:100%;\" value='$row[0]' name=\"kgshtuk_$z\" onChange=\"do_math(this.form)\" readonly></td>\n");
print ("<td width=30px><input type=\"text\" style=\"width:100%;background-color:pink;\" value='$row[1]' name=\"shtukbox_$z\" onChange=\"do_math(this.form)\"></td>\n");
print ("<td width=30px><input type=\"text\" style=\"width:100%;\" value='$row[2]' name=\"box_$z\" readonly></td>\n");
print ("<td width=30px><input type=\"text\" style=\"width:100%;background-color:pink;\" value='$row[3]' name=\"SPRC_$z\" onChange=\"do_math(this.form)\"></td>\n");
print ("<td width=30px><input type=\"text\" style=\"width:100%;\" value='$row[4]' name=\"pallet_$z\" onChange=\"do_math(this.form)\" readonly></td>\n");
print ("</TR>\n");

**
**
?>

И пересчёт в полях происходит только в первой строчке
Безумно не хотелось бы рисовать кучу одинаковых скриптов в котором разница лишь будет в именах
Как можно передать в скрипт значение этой самой $z в название нужного мне строчки?
Спасибо

robot bender 0002 21.05.2013 09:41

Научились бы сначала яваскрипт от явы отличать...

oleg747 21.05.2013 10:02

1-robot bender 0002 > это рабочий скрипт... только он работает лишь на первую строку...
и не хотелось бы писать
var kgshtuk= f.elements['kgshtuk_1'].value;
var shtukbox= f.elements['shtukbox_1'].value;
var res =kgshtuk/parseInt(shtukbox);
f.elements['box_1'].value = isNaN(res.toPrecision(5)) ? '' : res.toFixed(0);
var SPRC = f.elements['SPRC_1'].value;
var box = f.elements['box_1'].value;
var rez=box/parseInt(SPRC);
f.elements['pallet_1'].value = isNaN(rez.toPrecision(1)) ? '' : rez.toFixed(1);

var kgshtuk= f.elements['kgshtuk_2'].value;
var shtukbox= f.elements['shtukbox_2'].value;
var res =kgshtuk/parseInt(shtukbox);
f.elements['box_2'].value = isNaN(res.toPrecision(5)) ? '' : res.toFixed(0);
var SPRC = f.elements['SPRC_2'].value;
var box = f.elements['box_2'].value;
var rez=box/parseInt(SPRC);
f.elements['pallet_2'].value = isNaN(rez.toPrecision(1)) ? '' : rez.toFixed(1);
......
а вставить некую $z в название необходимых расчётных полей

Kuba 21.05.2013 13:05

примерно так

<script language='javascript'>
function do_math(f)**
var tbl = document.getElementById("table");
allThs = tbl.getElementsByTagName('tr');
for (i=1; i<allThs.length; i++)**
var kgshtuk= f.elements['kgshtuk_'+i].value;
var shtukbox= f.elements['shtukbox_'+i].value;
var res =kgshtuk/parseInt(shtukbox);
f.elements['box_'+i].value = isNaN(res.toPrecision(5)) ? '' : res.toFixed(0);
var SPRC = f.elements['SPRC_'+i].value;
var box = f.elements['box_'+i].value;
var rez=box/parseInt(SPRC);
f.elements['pallet_'+i].value = isNaN(rez.toPrecision(1)) ? '' : rez.toFixed(1);
**
**

</script>

<?php
**
$result=mysql_query("SELECT pole1, pole2, pole3, pole4, pole5 FROM table1");
$colcount=mysql_num_fields($result);
print ("<form><table id='table'>");
print ("<tr>");
print ("<th>№<br />п/п</th>");
print ("<th>Значение1</th>");
print ("<th>Значение2</th>");
print ("<th>Значение3</th>");
print ("<th>Значение4</th>");
print ("<th>Значение5</th></tr>");
$z=0;
while ($row=mysql_fetch_row($result))**
$z++;
print ("<td><input type=\"text\" style=\"width:40px;\" value='$z' readonly></td>\n");
print ("<td width=30px><input type=\"text\" style=\"width:100%;\" value='$row[0]' name=\"kgshtuk_$z\" onChange=\"do_math(this.form)\" readonly></td>\n");
print ("<td width=30px><input type=\"text\" style=\"width:100%;background-color:pink;\" value='$row[1]' name=\"shtukbox_$z\" onChange=\"do_math(this.form)\"></td>\n");
print ("<td width=30px><input type=\"text\" style=\"width:100%;\" value='$row[2]' name=\"box_$z\" readonly></td>\n");
print ("<td width=30px><input type=\"text\" style=\"width:100%;background-color:pink;\" value='$row[3]' name=\"SPRC_$z\" onChange=\"do_math(this.form)\"></td>\n");
print ("<td width=30px><input type=\"text\" style=\"width:100%;\" value='$row[4]' name=\"pallet_$z\" onChange=\"do_math(this.form)\" readonly></td>\n");
print ("</TR>\n");

**
print ("</table></form>");
**
?>

oleg747 21.05.2013 15:25

3-Kuba > СУПЕР!!!! Спасибо огромнейшее!!!!!!! Всё работает....
А почему на форуме не отображаются фигурные скобки?))))


Текущее время: 23:26. Часовой пояс GMT +3.