/    Sign up×
Community /Pin to ProfileBookmark

Hello,

I need to be able to add together the amount of times a word is written into a column. Here is an example of what I need to do:

. . . . . . Column #1 . . . . . . Column #2 . . . . . . Column #3
. . . . . . [B]word#1[/B] . . . . . . word#2 . . . . . . word#3
. . . . . . word#0 . . . . . . word#4 . . . . . . [B]word#1[/B]
. . . . . . [B]word#1[/B] . . . . . . word#3 . . . . . . word#2
. . . . . . word#2 . . . . . . [B]word#1[/B] . . . . . . word#0
. . . . . . word#5 . . . . . . word#3 . . . . . . [B]word#1[/B]
. . . . . . [B]word#1[/B] . . . . . . word#2 . . . . . . word#3
Sum: . . . . . 3 . . . . . . . . . 1 . . . . . . . . . 2

Then I need it to be written into the bottom column. Any ideas how I can do this?

to post a comment
JavaScript

7 Comments(s)

Copy linkTweet thisAlerts:
@mrhooApr 02.2008 — How are the words written, and what are the columns?

That is, are you reading from a text file, or a database, or a table on a web page, or is this user input?
Copy linkTweet thisAlerts:
@ingimarauthorApr 02.2008 — I'm reading from a database. What do you mean by: "what are the columns?"?
Copy linkTweet thisAlerts:
@Declan1991Apr 02.2008 — What is the code of the page?
Copy linkTweet thisAlerts:
@Ay__351_eApr 03.2008 — <i>
</i>&lt;style type="text/css"&gt;
td { border: 2px solid red;}
&lt;/style&gt;

&lt;script type="text/javascript"&gt;
function count(){
var el = document.getElementById('tableid');
var i=0, tr, arr=[0,0,0], len=el.rows.length, re=/word#1/;

while(tr=el.rows[i++]) {
var c, n=0;
while(c=tr.cells[n++]){
if(c.firstChild.data.match(re)) {
c.cellIndex==0?arr[0]++ : c.cellIndex==1? arr[1]++ : arr[2]++ ;
}
}
}
var m =0, result;
while (result = el.rows[len-1].cells[m++]) result.firstChild.data += arr[m-1];
}
&lt;/script&gt;
&lt;/head&gt;
&lt;body&gt;

&lt;input type="button" value="count word#1" onclick="count()"&gt;
&lt;table id="tableid"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;Column #1 &lt;/td&gt;&lt;td&gt; Column #2&lt;/td&gt;&lt;td&gt; Column #3&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;word#1 &lt;/td&gt;&lt;td&gt; word#2 &lt;/td&gt;&lt;td&gt; word#3&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; word#0 &lt;/td&gt;&lt;td&gt; word#4 &lt;/td&gt;&lt;td&gt; word#1&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;word#1 &lt;/td&gt;&lt;td&gt; word#3 &lt;/td&gt;&lt;td&gt; word#2&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;word#2 &lt;/td&gt;&lt;td&gt; word#1 &lt;/td&gt;&lt;td&gt; word#0&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; word#5 &lt;/td&gt;&lt;td&gt; word#3 &lt;/td&gt;&lt;td&gt; word#1&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; word#1 &lt;/td&gt;&lt;td&gt; word#2 &lt;/td&gt;&lt;td&gt; word#3&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Sum: &lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;&amp;nbsp; &lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
Copy linkTweet thisAlerts:
@Ay__351_eApr 03.2008 — You can write

arr[c.cellIndex]++

instead of

c.cellIndex==0?arr[0]++ : c.cellIndex==1? arr[1]++ : arr[2]++ ;

<br/>
&lt;style type="text/css"&gt;
td { border: 2px solid red;}
&lt;/style&gt;

&lt;script type="text/javascript"&gt;
function count(){
var el = document.getElementById('tableid');
var i=0, tr, arr=[], len=el.rows.length, re=/word#1/;
for(var a=0; a&lt;el.rows[len-1].cells.length; a++) arr[a]=0;

while(tr=el.rows[i++]) {
var c, n=0;
while(c=tr.cells[n++]){
if(c.firstChild.data.match(re)) arr[c.cellIndex]++ ;
}
}
var m =0, result;
while (result = el.rows[len-1].cells[m++]) result.firstChild.data += arr[m-1];
}
&lt;/script&gt;
&lt;/head&gt;
&lt;body&gt;

&lt;input type="button" value="count word#1" onclick="count()"&gt;
&lt;table id="tableid"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;Column #1 &lt;/td&gt;&lt;td&gt; Column #2&lt;/td&gt;&lt;td&gt; Column #3&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;word#1 &lt;/td&gt;&lt;td&gt; word#2 &lt;/td&gt;&lt;td&gt; word#3&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; word#0 &lt;/td&gt;&lt;td&gt; word#4 &lt;/td&gt;&lt;td&gt; word#1&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;word#1 &lt;/td&gt;&lt;td&gt; word#3 &lt;/td&gt;&lt;td&gt; word#2&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;word#2 &lt;/td&gt;&lt;td&gt; word#1 &lt;/td&gt;&lt;td&gt; word#0&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; word#5 &lt;/td&gt;&lt;td&gt; word#3 &lt;/td&gt;&lt;td&gt; word#1&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; word#1 &lt;/td&gt;&lt;td&gt; word#2 &lt;/td&gt;&lt;td&gt; word#3&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Sum: &lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;&amp;nbsp; &lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
Copy linkTweet thisAlerts:
@ingimarauthorApr 03.2008 — Thanks for the response!

But is this possible without a button? ...that is it counts when the page loads
Copy linkTweet thisAlerts:
@Ay__351_eApr 03.2008 — Please write

[color=green][b]window.onload=function(){[/b][/color]

instead of

[color=red][b]function count(){[/b][/color]


or use this:
<br/>
&lt;style type="text/css"&gt;
td { border: 2px solid red;}
&lt;/style&gt;

&lt;script type="text/javascript"&gt;
function count(){
var el = document.getElementById('tableid');
var i=0, tr, arr=[], len=el.rows.length, re=/word#1/;
for(var a=0; a&lt;el.rows[len-1].cells.length; a++) arr[a]=0;

while(tr=el.rows[i++]) {
var c, n=0;
while(c=tr.cells[n++]){
if(c.firstChild.data.match(re)) arr[c.cellIndex]++ ;
}
}
var m =0, result;
while (result = el.rows[len-1].cells[m++]) result.firstChild.data += arr[m-1];
}


// Multiple onload function written by: Simon Willison
// http://simonwillison.net/2004/May/26/addLoadEvent/
function addLoadEvent(func) {
var oldonload = window.onload;
if (typeof window.onload != 'function') {
window.onload = func;
} else {
window.onload = function() {
if (oldonload) {
oldonload();
}
func();
}
}
}

addLoadEvent(function() {
count();
});


&lt;/script&gt;
&lt;/head&gt;
&lt;body&gt;

&lt;input type="button" value="count word#1" onclick="count()"&gt;
&lt;table id="tableid"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;Column #1 &lt;/td&gt;&lt;td&gt; Column #2&lt;/td&gt;&lt;td&gt; Column #3&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;word#1 &lt;/td&gt;&lt;td&gt; word#2 &lt;/td&gt;&lt;td&gt; word#3&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt;&lt;td&gt; word#0 &lt;/td&gt;&lt;td&gt; word#4 &lt;/td&gt;&lt;td&gt; word#1&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;word#1 &lt;/td&gt;&lt;td&gt; word#3 &lt;/td&gt;&lt;td&gt; word#2&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;word#2 &lt;/td&gt;&lt;td&gt; word#1 &lt;/td&gt;&lt;td&gt; word#0&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt;&lt;td&gt; word#5 &lt;/td&gt;&lt;td&gt; word#3 &lt;/td&gt;&lt;td&gt; word#1&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; word#1 &lt;/td&gt;&lt;td&gt; word#2 &lt;/td&gt;&lt;td&gt; word#3&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Sum: &lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;&amp;nbsp; &lt;/td&gt;&lt;/tr&gt;

&lt;/tbody&gt;
&lt;/table&gt;
×

Success!

Help @ingimar spread the word by sharing this article on Twitter...

Tweet This
Sign in
Forgot password?
Sign in with TwitchSign in with GithubCreate Account
about: ({
version: 0.1.9 BETA 5.16,
whats_new: community page,
up_next: more Davinci•003 tasks,
coming_soon: events calendar,
social: @webDeveloperHQ
});

legal: ({
terms: of use,
privacy: policy
});
changelog: (
version: 0.1.9,
notes: added community page

version: 0.1.8,
notes: added Davinci•003

version: 0.1.7,
notes: upvote answers to bounties

version: 0.1.6,
notes: article editor refresh
)...
recent_tips: (
tipper: @AriseFacilitySolutions09,
tipped: article
amount: 1000 SATS,

tipper: @Yussuf4331,
tipped: article
amount: 1000 SATS,

tipper: @darkwebsites540,
tipped: article
amount: 10 SATS,
)...