<?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 for Web Developers</description>
	<lastBuildDate>Fri, 25 Nov 2011 23:28:41 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<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>Allen Liu</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 &#8230; <a href="http://www.randomsnippets.com/2008/10/05/how-to-count-values-with-mysql-queries/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></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>22</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>Allen Liu</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[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! Demo I like to program in: PHP Perl Ruby ASP I like to eat: &#8230; <a href="http://www.randomsnippets.com/2008/05/15/how-to-loop-through-checkboxes-or-radio-button-groups-via-javascript/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></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" 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: #339933;">;</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: #339933;">;</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> <span style="color: #CC0000;">0</span><span style="color: #339933;">;</span> i <span style="color: #339933;">&lt;</span> form.<span style="color: #660066;">elements</span>.<span style="color: #660066;">length</span><span style="color: #339933;">;</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: #339933;">;</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: #339933;">;</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<span style="color: #339933;">;</span>
    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: #339933;">;</span>
<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>
<p>If you found that my code was helpful in any way, shape, or form and would like to buy me a <strong>beer</strong>, please use the <strong>Donate</strong> button below =)  Cheers!</p>
<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_s-xclick">
<input type="hidden" name="hosted_button_id" value="P7VD7JXQGY2YJ">
<input type="image" style="border: none;" src="https://www.paypalobjects.com/WEBSCR-640-20110306-1/en_US/i/btn/btn_donateCC_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
<img alt="" border="0" src="https://www.paypalobjects.com/WEBSCR-640-20110306-1/en_US/i/scr/pixel.gif" width="1" height="1"><br />
</form>
<p></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>16</slash:comments>
		</item>
	</channel>
</rss>

