Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: как перемножить ячейки без индификатора?
Форумы портала PHP.SU » Клиентская разработка » HTML, Дизайн & CSS » как перемножить ячейки без индификатора?

Страниц (1): [1]
 

1. algebra - 01 Июля, 2011 - 11:25:43 - перейти к сообщению
есть строка в таблице
<td>225</td>
<td>57</td>
<td>18</td>
<td>8</td>
<td>11</td>
возможно ли перемножить в этой строке к примеру третью с пятой ячейку? если нет, то как присвоить id этим ячейкам программно?
2. komprenda - 01 Июля, 2011 - 11:42:34 - перейти к сообщению
algebra пишет:
то как присвоить id этим ячейкам программно?


в цикле
3. algebra - 01 Июля, 2011 - 11:58:17 - перейти к сообщению
циклом наверное не получится - таблица формируется строчками именно в таком виде
4. komprenda - 01 Июля, 2011 - 12:08:32 - перейти к сообщению
algebra пишет:
циклом наверное не получится - таблица формируется строчками именно в таком виде


* двумя - один вложенный цикл

PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3.  
  4. $arr = array(
  5.     array("1-1" , "1-2", "1-3"),
  6.     array("2-1" , "2-2", "2-3"),
  7.     array("3-1" , "3-2", "3-3"),
  8. );
  9.  
  10. $out = "";
  11. $k = count($arr);
  12. $out .= "<table>";
  13.  
  14. for ($i = 0; $i < $k; ++$i) {
  15.     $out .= "<tr>";
  16.     for ($j = 0; $j < 3; ++$j) {
  17.         $out .= "<td id=\"cell_{$i}_{$j}\">{$arr[$i][$j]}</td>";
  18.     }
  19.     $out .= "</tr>";
  20. }
  21.  
  22. $out .= "</table>";
  23. echo($out);
  24.  
  25. ?>
  26.  


CODE (html):
скопировать код в буфер обмена
  1. <table><tr><td id="cell_0_0">1-1</td><td id="cell_0_1">1-2</td><td id="cell_0_2">1-3</td></tr><tr><td id="cell_1_0">2-1</td><td id="cell_1_1">2-2</td><td id="cell_1_2">2-3</td></tr><tr><td id="cell_2_0">3-1</td><td id="cell_2_1">3-2</td><td id="cell_2_2">3-3</td></tr></table>
5. Саныч - 01 Июля, 2011 - 12:23:15 - перейти к сообщению
algebra, тема создана в разделе HTML, CSS... Где вам нужно перемножение? Js, php или что-то еще?!

могу предположить следущее... Таблица у вас вида
CODE (html):
скопировать код в буфер обмена
  1. <table>
  2. <tr><td>225</td></tr>
  3. <tr><td>57</td></tr>
  4. <tr><td>18</td></tr>
  5. <tr><td>8</td></tr>
  6. <tr><td>11</td></tr>
  7. </table>

Теперь перемножение (я использую jQuery)
CODE (javascript):
скопировать код в буфер обмена
  1. jQuery(document).ready(function($) {
  2.    var one = $("table > tr:nth-child(3) > td").text();
  3.    var two = $("table > tr:nth-child(5) > td").text();
  4.    var sum = parseInt(one,10) * parseInt(two,10);
  5.    alert(sum);
  6. });
Если что не понятно - объясню
6. algebra - 01 Июля, 2011 - 12:49:54 - перейти к сообщению
за пример в аяксе спасибо
но, конечно, желательно в php
7. Саныч - 01 Июля, 2011 - 15:23:46 - перейти к сообщению
algebra пишет:
за пример в аяксе спасибо
и где вы ajax увидели?.. Ну да ладно...

Я кажется понял... У вас есть такая строка:
PHP:
скопировать код в буфер обмена
  1. $str = '<td>225</td><td>57</td><td>18</td><td>8</td><td>11</td>';
Верно?

Если да, то я сделал бы так:
PHP:
скопировать код в буфер обмена
  1. $str = '<td>225</td><td>57</td><td>18</td><td>8</td><td>11</td>';
  2. preg_match_all('#<td>([0-9]+)<\/td>#',$str,$match);
  3. echo (int)$match[1][2] * (int)$match[1][4];
8. algebra - 01 Июля, 2011 - 15:37:13 - перейти к сообщению
и действительно все гениальное просто - всего три строки! супер!
благодарю

 

Powered by ExBB FM 1.0 RC1