<?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>Développeur Web Freelance (PHP/MySQL) - Lyon &#187; Fonction</title>
	<atom:link href="http://www.alexandreval.info/cv/category/php/fonction-php/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.alexandreval.info/cv</link>
	<description>Développeur Freelance PHP / Création de sites Internet</description>
	<lastBuildDate>Thu, 25 Jun 2009 14:13:23 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>fr</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Fonction PHP retournant une Liste déroulante / Multi-Select</title>
		<link>http://www.alexandreval.info/cv/fonction-php-retournant-une-liste-deroulante-multi-select/</link>
		<comments>http://www.alexandreval.info/cv/fonction-php-retournant-une-liste-deroulante-multi-select/#comments</comments>
		<pubDate>Sat, 05 Jul 2008 10:25:13 +0000</pubDate>
		<dc:creator>Alexandre Val</dc:creator>
				<category><![CDATA[Code-Script]]></category>
		<category><![CDATA[Fonction]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Astuce]]></category>
		<category><![CDATA[Liste déroulante]]></category>
		<category><![CDATA[Select]]></category>

		<guid isPermaLink="false">http://www.alexandreval.info/cv/?p=19</guid>
		<description><![CDATA[Suite à un billet d&#8217;un collègue développeur (Jarodxxx), et d&#8217;un commentaire souhaitant obtenir un return, je vous propose quelques fonctions très utiles que j&#8217;utilise.
1 &#8211; Fonction qui retourne une liste déroulante (SELECT, ComboBox) :



/*fonction qui fabrique une combobox


parametres :


$tabs =&#62; $tableau qui contient les données a mettre dans la combo


$value =&#62; champ utiliser comme value


$text [...]]]></description>
			<content:encoded><![CDATA[<p>Suite à un billet d&#8217;un collègue développeur (<a href="http://www.jarodxxx.com/index.php?post/2008/07/03/Une-fonction-PHP-pour-afficher-des-listes-deroulantes">Jarodxxx</a>), et d&#8217;un commentaire souhaitant obtenir un <strong>return</strong>, je vous propose quelques fonctions très utiles que j&#8217;utilise.</p>
<p><strong>1 &#8211; <a href="http://www.alexandreval.info/cv/tag/fonction">Fonction</a> qui retourne une liste déroulante (SELECT, ComboBox) :</strong></p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1"><span class="coMULTI">/*fonction qui fabrique une combobox</span></div>
</li>
<li class="li1">
<div class="de1"><span class="coMULTI">parametres :</span></div>
</li>
<li class="li1">
<div class="de1"><span class="coMULTI">$tabs =&gt; $tableau qui contient les données a mettre dans la combo</span></div>
</li>
<li class="li1">
<div class="de1"><span class="coMULTI">$value =&gt; champ utiliser comme value</span></div>
</li>
<li class="li2">
<div class="de2"><span class="coMULTI">$text =&gt; champ a utiliser comme text</span></div>
</li>
<li class="li1">
<div class="de1"><span class="coMULTI">$comboname =&gt; nom a donner a la combo</span></div>
</li>
<li class="li1">
<div class="de1"><span class="coMULTI">$inserblank =&gt; boolean qui dit si on doit inserer une ligne blanche au debut de la combo</span></div>
</li>
<li class="li1">
<div class="de1"><span class="coMULTI">$selectedValue =&gt; valeur a selectionner dans la combo</span></div>
</li>
<li class="li1">
<div class="de1"><span class="coMULTI">$onChangeEvent =&gt; fonction javascript a appeler sur l&#8217;event &#8216;onChange&#8217;</span></div>
</li>
<li class="li2">
<div class="de2"><span class="coMULTI">$disabled =&gt; desactiver ou non la liste*/</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">function</span> makeComboBox<span class="br0">&#40;</span><span class="re0">$tabs</span>, <span class="re0">$value</span>, <span class="re0">$text</span>, <span class="re0">$comboname</span>, <span class="re0">$insertblank</span>=<span class="kw2">false</span>, <span class="re0">$selectedValue</span>=<span class="kw2">false</span>, <span class="re0">$onChangeEvent</span>=<span class="st0">&#8221;</span>, <span class="re0">$disabled</span>=<span class="kw2">false</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="coMULTI">/*par defaut, combo &quot;vide&quot; */</span></div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$return</span> = <span class="st0">&#8216;&lt;select name=&quot;&#8217;</span>.<span class="re0">$comboname</span>.<span class="st0">&#8216;&quot; id=&quot;&#8217;</span>.<span class="re0">$comboname</span>.<span class="st0">&#8216;&quot; disabled=&quot;disabled&quot;&gt;&lt;option value=&quot;&quot;&gt;Empty list&lt;/option&gt;&lt;/select&gt;&#8217;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span><a href="http://www.php.net/count"><span class="kw3">count</span></a><span class="br0">&#40;</span><span class="re0">$tabs</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="br0">&#93;</span><span class="br0">&#41;</span> &gt; <span class="nu0">0</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$return</span> = <span class="st0">&#8216;&lt;select name=&quot;&#8217;</span>.<span class="re0">$comboname</span>.<span class="st0">&#8216;&quot; id=&quot;&#8217;</span>.<span class="re0">$comboname</span>.<span class="st0">&#8216;&quot;&#8217;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span><span class="re0">$onChangeEvent</span> != <span class="st0">&#8221;</span><span class="br0">&#41;</span></div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$return</span> .= <span class="st0">&#8216; onChange=&quot;&#8217;</span>.<span class="re0">$onChangeEvent</span>.<span class="st0">&#8216;&quot;&#8217;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span><span class="re0">$disabled</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$return</span> .= <span class="st0">&#8216; disabled=&quot;disabled&quot;&#8217;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$return</span> .= <span class="st0">&#8216;&gt;&#8217;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span><span class="re0">$insertblank</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$return</span> .= <span class="st0">&#8216;&lt;option value=&quot;&quot;&gt;&lt;/option&gt;&#8217;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">foreach</span><span class="br0">&#40;</span><span class="re0">$tabs</span> <span class="kw1">as</span> <span class="re0">$tab</span><span class="br0">&#41;</span><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">//for ($i=0; $i&lt;count($tab); $i++){</span></div>
</li>
<li class="li2">
<div class="de2">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$return</span> .= <span class="st0">&#8216;&lt;option value=&quot;&#8217;</span>.<span class="re0">$tab</span><span class="br0">&#91;</span><span class="re0">$value</span><span class="br0">&#93;</span>.<span class="st0">&#8216;&quot;&#8217;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span><span class="re0">$selectedValue</span>!=<span class="kw2">false</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span><span class="re0">$tab</span><span class="br0">&#91;</span><span class="re0">$value</span><span class="br0">&#93;</span> == <span class="re0">$selectedValue</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$return</span> .= <span class="st0">&#8216; selected=&quot;selected&quot;&#8217;</span>;</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$return</span> .= <span class="st0">&#8216;&gt;&#8217;</span>.<span class="re0">$tab</span><span class="br0">&#91;</span><span class="re0">$text</span><span class="br0">&#93;</span>.<span class="st0">&#8216;&lt;/option&gt;&#8217;</span>.<span class="st0">&quot;<span class="es0">\n</span>&quot;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$return</span> .= <span class="st0">&#8216;&lt;/select&gt;&#8217;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">return</span> <span class="re0">$return</span>;</div>
</li>
<li class="li2">
<div class="de2"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
</ol>
</div>
<p><strong>2 &#8211; Fonction qui retourne un Multi <a href="http://www.alexandreval.info/cv/tag/select">Select</a> : <a href="http://www.alexandreval.info/cv/tag/liste-deroulante">Liste déroulante</a> avec plusieurs choix possibles: </strong></p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1"><span class="coMULTI">/*Gestion des combos a selection multiples</span></div>
</li>
<li class="li1">
<div class="de1"><span class="coMULTI">parametres :</span></div>
</li>
<li class="li1">
<div class="de1"><span class="coMULTI">$tab =&gt; $tableau qui contient les données a mettre dans la combo</span></div>
</li>
<li class="li1">
<div class="de1"><span class="coMULTI">$value =&gt; champ utiliser comme value</span></div>
</li>
<li class="li2">
<div class="de2"><span class="coMULTI">$text =&gt; champ a utiliser comme text</span></div>
</li>
<li class="li1">
<div class="de1"><span class="coMULTI">$comboname =&gt; nom a donner a la combo</span></div>
</li>
<li class="li1">
<div class="de1"><span class="coMULTI">$inserblank =&gt; boolean qui dit si on doit inserer une ligne blanche au debut de la combo</span></div>
</li>
<li class="li1">
<div class="de1"><span class="coMULTI">$selectedValue =&gt; valeur a selectionner dans la combo</span></div>
</li>
<li class="li1">
<div class="de1"><span class="coMULTI">$onChangeEvent =&gt; fonction javascript a appeler sur l&#8217;event &#8216;onChange&#8217;</span></div>
</li>
<li class="li2">
<div class="de2"><span class="coMULTI">$disabled =&gt; desactiver ou non la liste</span></div>
</li>
<li class="li1">
<div class="de1"><span class="coMULTI">$size =&gt; Nombre d&#8217;élément de la liste que l&#8217;on affiche</span></div>
</li>
<li class="li1">
<div class="de1"><span class="coMULTI">*/</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">function</span> makeMultipleComboBox<span class="br0">&#40;</span><span class="re0">$tab</span>, <span class="re0">$value</span>, <span class="re0">$text</span>, <span class="re0">$comboname</span>, <span class="re0">$insertblank</span>=<span class="kw2">false</span>, <span class="re0">$selectedValue</span>, <span class="re0">$onChangeEvent</span>=<span class="st0">&#8221;</span>, <span class="re0">$disabled</span>=<span class="kw2">false</span>, <span class="re0">$size</span>=<span class="nu0">5</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#123;</span></div>
</li>
<li class="li2">
<div class="de2"><span class="coMULTI">/*on recupere une combo normale, sans rien selectionner*/</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$return</span> = <span class="re0">$this</span>-&gt;<span class="me1">makeComboBox</span><span class="br0">&#40;</span><span class="re0">$tab</span>, <span class="re0">$value</span>, <span class="re0">$text</span>, <span class="re0">$comboname</span>, <span class="re0">$insertblank</span>, <span class="nu0">-1</span>, <span class="re0">$onChangeEvent</span>, <span class="re0">$disabled</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="coMULTI">/*On change le type de combo*/</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$return</span> = <a href="http://www.php.net/str_replace"><span class="kw3">str_replace</span></a><span class="br0">&#40;</span><span class="st0">&#8216;&lt;select &#8216;</span>, <span class="st0">&#8216;&lt;select multiple size=&quot;&#8217;</span>.<span class="re0">$size</span>.<span class="st0">&#8216;&quot; &#8216;</span>, <span class="re0">$return</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="coMULTI">/*on parse le code html pour rajouter les selections la ou il faut*/</span></div>
</li>
<li class="li2">
<div class="de2"><span class="kw1">if</span> <span class="br0">&#40;</span>!<a href="http://www.php.net/empty"><span class="kw3">empty</span></a><span class="br0">&#40;</span><span class="re0">$selectedValue</span><span class="br0">&#41;</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co1">//print_r($selectedValue);exit;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co1">//$tSelectedValue = split(&#8216;,&#8217;, $selectedValue);</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">foreach</span> <span class="br0">&#40;</span><span class="re0">$selectedValue</span> <span class="kw1">as</span> <span class="re0">$cur</span><span class="br0">&#41;</span></div>
</li>
<li class="li2">
<div class="de2"><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$return</span> = <a href="http://www.php.net/str_replace"><span class="kw3">str_replace</span></a><span class="br0">&#40;</span><span class="st0">&#8216;&lt;option value=&quot;&#8217;</span>.<span class="re0">$cur</span>.<span class="st0">&#8216;&quot;&gt;&#8217;</span>, <span class="st0">&#8216;&lt;option value=&quot;&#8217;</span>.<span class="re0">$cur</span>.<span class="st0">&#8216;&quot; selected=&quot;selected&quot;&gt;&#8217;</span>, <span class="re0">$return</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">return</span> <span class="re0">$return</span>;</div>
</li>
<li class="li2">
<div class="de2"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
</ol>
</div>
<p>2 fonctions très utiles donc qui génèrent le code HTML.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.alexandreval.info/cv/fonction-php-retournant-une-liste-deroulante-multi-select/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

