<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Random Snippets &#187; loop through</title>
	<atom:link href="http://www.randomsnippets.com/tag/loop-through/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.randomsnippets.com</link>
	<description>Random Snippets of Code and Ideas for any Web Developer</description>
	<lastBuildDate>Wed, 05 Aug 2009 14:32:02 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=abc</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>How to count values with MySQL queries</title>
		<link>http://www.randomsnippets.com/2008/10/05/how-to-count-values-with-mysql-queries/</link>
		<comments>http://www.randomsnippets.com/2008/10/05/how-to-count-values-with-mysql-queries/#comments</comments>
		<pubDate>Mon, 06 Oct 2008 03:40:35 +0000</pubDate>
		<dc:creator>Knix</dc:creator>
				<category><![CDATA[mysql]]></category>
		<category><![CDATA[alias]]></category>
		<category><![CDATA[column values]]></category>
		<category><![CDATA[count values]]></category>
		<category><![CDATA[counter]]></category>
		<category><![CDATA[loop through]]></category>
		<category><![CDATA[mysql queries]]></category>
		<category><![CDATA[mysql query]]></category>
		<category><![CDATA[query]]></category>
		<category><![CDATA[value]]></category>
		<category><![CDATA[vote counters]]></category>

		<guid isPermaLink="false">http://www.randomsnippets.com/?p=116</guid>
		<description><![CDATA[Let&#8217;s say you have the following table called votes that keeps track of how people voted and you want a query to count the number of votes for you instead of having to loop through all the rows with a counter in PHP.  


person
vote


obama
yes


mccain
no


obama
yes


obama
no


mccain
yes


obama
yes


obama
yes


obama
no


mccain
no



Here is the MySQL query that would do just the job.

SELECT [...]]]></description>
			<content:encoded><![CDATA[<p>Let&#8217;s say you have the following table called <strong>votes</strong> that keeps track of how people voted and you want a query to count the number of votes for you instead of having to loop through all the rows with a counter in PHP.  </p>
<table>
<tr>
<th>person</th>
<th>vote</th>
</tr>
<tr>
<td>obama</td>
<td>yes</td>
</tr>
<tr>
<td>mccain</td>
<td>no</td>
</tr>
<tr>
<td>obama</td>
<td>yes</td>
</tr>
<tr>
<td>obama</td>
<td>no</td>
</tr>
<tr>
<td>mccain</td>
<td>yes</td>
</tr>
<tr>
<td>obama</td>
<td>yes</td>
</tr>
<tr>
<td>obama</td>
<td>yes</td>
</tr>
<tr>
<td>obama</td>
<td>no</td>
</tr>
<tr>
<td>mccain</td>
<td>no</td>
</tr>
</table>
<p><span id="more-116"></span></p>
<p>Here is the MySQL query that would do just the job.<br />
<code><br />
SELECT person,<br />
SUM(IF(vote = "yes", 1,0)) AS `yes_votes`,<br />
SUM(IF(vote = "no", 1,0)) AS `no_votes`,<br />
COUNT(vote) AS `total`<br />
FROM votes<br />
GROUP BY person<br />
ORDER BY yes_votes DESC<br />
</code></p>
<p>The following would be the result of the query:</p>
<table>
<tr>
<th>person</th>
<th>yes_votes</th>
<th>no_votes</th>
<th>total</th>
</tr>
<tr>
<td>obama</td>
<td>4</td>
<td>2</td>
<td>6</td>
</tr>
<tr>
<td>mccain</td>
<td>1</td>
<td>2</td>
<td>3</td>
</tr>
</table>
<p>The beauty of the query all lies in the <strong>SUM IF</strong> statements.  For example, in order to count the <strong>yes</strong> votes, the IF statement will check to see if <strong>vote = &#8220;yes&#8221;</strong> as it loops through all the rows.  If so, the <strong>yes_votes</strong> column alias is incremented by <strong>1</strong>.  The same procedure goes for counting the no votes.  The <strong>COUNT</strong> statements keeps a tally on the total number of votes.  The <strong>GROUP BY person</strong> statement allows the vote counters to calculate the numbers by person instead of the total number of yes and no votes.  </p>
<p>Now, you do not have to loop through your MySQL results to count column values =)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.randomsnippets.com/2008/10/05/how-to-count-values-with-mysql-queries/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>How to loop through checkboxes or radio button groups via JavaScript</title>
		<link>http://www.randomsnippets.com/2008/05/15/how-to-loop-through-checkboxes-or-radio-button-groups-via-javascript/</link>
		<comments>http://www.randomsnippets.com/2008/05/15/how-to-loop-through-checkboxes-or-radio-button-groups-via-javascript/#comments</comments>
		<pubDate>Fri, 16 May 2008 05:00:18 +0000</pubDate>
		<dc:creator>Knix</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[checkboxes]]></category>
		<category><![CDATA[dom object]]></category>
		<category><![CDATA[form]]></category>
		<category><![CDATA[javascript code]]></category>
		<category><![CDATA[javascript function]]></category>
		<category><![CDATA[loop through]]></category>
		<category><![CDATA[radio button groups]]></category>

		<guid isPermaLink="false">http://www.randomsnippets.com/?p=17</guid>
		<description><![CDATA[
function loopForm(form) {
    var cbResults = 'Checkboxes: ';
    var radioResults = 'Radio buttons: ';
    for (var i = 0; i < form.elements.length; i++ ) {
        if (form.elements[i].type == 'checkbox') {
          [...]]]></description>
			<content:encoded><![CDATA[<p><script lang="javascript">
function loopForm(form) {
    var cbResults = 'Checkboxes: ';
    var radioResults = 'Radio buttons: ';
    for (var i = 0; i < form.elements.length; i++ ) {
        if (form.elements[i].type == 'checkbox') {
            if (form.elements[i].checked == true) {
                cbResults += form.elements[i].value + ' ';
            }
        }
        if (form.elements[i].type == 'radio') {
            if (form.elements[i].checked == true) {
                radioResults += form.elements[i].value + ' ';
            }
        }
    }
    document.getElementById("cbResults").innerHTML = cbResults;
    document.getElementById("radioResults").innerHTML = radioResults;
}
</script><br />
Do you have a form with checkboxes or radio buttons that you would like to loop through via JavaScript?  This JavaScript function will do just that!</p>
<fieldset>
<legend>Demo</legend>
<form name="thisForm">
I like to program in:<br />
<input type="checkbox" value="PHP" CHECKED>PHP<br />
<input type="checkbox" value="Perl">Perl<br />
<input type="checkbox" value="Ruby">Ruby<br />
<input type="checkbox" value="ASP">ASP<br />
<hr />
I like to eat:<br />
<input type="radio" value="Snickers" name="candy" CHECKED>Snickers<br />
<input type="radio" value="Hershey's" name="candy">Hershey's<br />
<input type="radio" value="M&#038;M's" name="candy">M&#038;M's<br />
<input type="radio" value="Nerds" name="candy">Nerds<br />
<hr />
I like to drink:<br />
<input type="radio" value="Coke" name="drink" CHECKED>Coke<br />
<input type="radio" value="Gatorade" name="drink">Gatorade<br />
<input type="radio" value="Pepsi" name="drink">Pepsi<br />
<input type="radio" value="Milk" name="drink">Milk
<p>
</p>
<input type="button" value="Submit" onclick="loopForm(document.thisForm);">
</form>
<p><div id="cbResults"></div>
<div id="radioResults"></div>
</fieldset>
<p><span id="more-17"></span><br />
Here is the plain HTML:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
</pre></td><td class="code"><pre class="html" style="font-family:monospace;">&lt;form name=&quot;thisForm&quot;&gt;
I like to program in:&lt;p&gt;
&lt;input type=&quot;checkbox&quot; value=&quot;PHP&quot; CHECKED&gt;PHP&lt;p&gt;
&lt;input type=&quot;checkbox&quot; value=&quot;Perl&quot;&gt;Perl&lt;p&gt;
&lt;input type=&quot;checkbox&quot; value=&quot;Ruby&quot;&gt;Ruby&lt;p&gt;
&lt;input type=&quot;checkbox&quot; value=&quot;ASP&quot;&gt;ASP&lt;p&gt;
&lt;hr&gt;
I like to eat:&lt;p&gt;
&lt;input type=&quot;radio&quot; value=&quot;Snickers&quot; name=&quot;candy&quot; CHECKED&gt;Snickers&lt;p&gt;
&lt;input type=&quot;radio&quot; value=&quot;Hershey's&quot; name=&quot;candy&quot;&gt;Hershey's&lt;p&gt;
&lt;input type=&quot;radio&quot; value=&quot;M&amp;M's&quot; name=&quot;candy&quot;&gt;M&amp;M's&lt;p&gt;
&lt;input type=&quot;radio&quot; value=&quot;Nerds&quot; name=&quot;candy&quot;&gt;Nerds&lt;p&gt;
&lt;hr&gt;
I like to drink:&lt;p&gt;
&lt;input type=&quot;radio&quot; value=&quot;Coke&quot; name=&quot;drink&quot; CHECKED&gt;Coke&lt;p&gt;
&lt;input type=&quot;radio&quot; value=&quot;Gatorade&quot; name=&quot;drink&quot;&gt;Gatorade&lt;p&gt;
&lt;input type=&quot;radio&quot; value=&quot;Pepsi&quot; name=&quot;drink&quot;&gt;Pepsi&lt;p&gt;
&lt;input type=&quot;radio&quot; value=&quot;Milk&quot; name=&quot;drink&quot;&gt;Milk&lt;p&gt;
&lt;br&gt;
&lt;input type=&quot;button&quot; value=&quot;Submit&quot; onclick=&quot;loopForm(document.thisForm);&quot;&gt; 
&lt;/form&gt;
&lt;p&gt;
&lt;div id=&quot;cbResults&quot;&gt;&lt;/div&gt;
&lt;div id=&quot;radioResults&quot;&gt;&lt;/div&gt;</pre></td></tr></table></div>

<p>As usual, there is not too much action going on here.  It is just a plain form with some checkboxes and 2 radio button groups called <b>candy</b> and <b>drink</b>.  Radio buttons with the same name will be grouped and allows the users to only select one option out of the entire group.  The submit button will launch the <b>loopForm</b> JavaScript function and the <b>myForm</b> DOM object is passed over as an argument.  There are also 2 divs in lines 23-24 where are checkbox and radio button results will be posted.  Now, on to more exciting things.</p>
<p>Here is the JavaScript code:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
</pre></td><td class="code"><pre class="javascript javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">function</span> loopForm<span style="color: #009900;">&#40;</span>form<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #003366; font-weight: bold;">var</span> cbResults <span style="color: #339933;">=</span> <span style="color: #3366CC;">'Checkboxes: '</span>;
    <span style="color: #003366; font-weight: bold;">var</span> radioResults <span style="color: #339933;">=</span> <span style="color: #3366CC;">'Radio buttons: '</span>;
    <span style="color: #000066; font-weight: bold;">for</span> <span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">var</span> i <span style="color: #339933;">=</span> 0; i <span style="color: #339933;">&lt;</span> form.<span style="color: #660066;">elements</span>.<span style="color: #660066;">length</span>; i<span style="color: #339933;">++</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>form.<span style="color: #660066;">elements</span><span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>.<span style="color: #660066;">type</span> <span style="color: #339933;">==</span> <span style="color: #3366CC;">'checkbox'</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>form.<span style="color: #660066;">elements</span><span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>.<span style="color: #660066;">checked</span> <span style="color: #339933;">==</span> <span style="color: #003366; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                cbResults <span style="color: #339933;">+=</span> form.<span style="color: #660066;">elements</span><span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>.<span style="color: #660066;">value</span> <span style="color: #339933;">+</span> <span style="color: #3366CC;">' '</span>;
            <span style="color: #009900;">&#125;</span>
        <span style="color: #009900;">&#125;</span>
        <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>form.<span style="color: #660066;">elements</span><span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>.<span style="color: #660066;">type</span> <span style="color: #339933;">==</span> <span style="color: #3366CC;">'radio'</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>form.<span style="color: #660066;">elements</span><span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>.<span style="color: #660066;">checked</span> <span style="color: #339933;">==</span> <span style="color: #003366; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                radioResults <span style="color: #339933;">+=</span> form.<span style="color: #660066;">elements</span><span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>.<span style="color: #660066;">value</span> <span style="color: #339933;">+</span> <span style="color: #3366CC;">' '</span>;
            <span style="color: #009900;">&#125;</span>
        <span style="color: #009900;">&#125;</span>
    <span style="color: #009900;">&#125;</span>
    document.<span style="color: #660066;">getElementById</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;cbResults&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">innerHTML</span> <span style="color: #339933;">=</span> cbResults;
    document.<span style="color: #660066;">getElementById</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;radioResults&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">innerHTML</span> <span style="color: #339933;">=</span> radioResults;
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>This function loops through all the elements in the form that was passed over to the function.  </p>
<p>If the element is of <b>checkbox</b> type and it is checked, the value of this element will be appended to our <b>cbResults</b> variable which is keeping track of our checkbox results.</p>
<p>If the element is of <b>radio</b> type and it is checked, the value of this element will be appended to our <b>radioResults</b> variable which is keeping track of our radio button results.</p>
<p>After all the looping is finished, the results are <b>cbResults</b> and <b>radioResults</b> are inserted into the <b>cbResults div</b> and <b>radioResults div</b> respectively.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.randomsnippets.com/2008/05/15/how-to-loop-through-checkboxes-or-radio-button-groups-via-javascript/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>
