<?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>Mi Codigo Beta</title>
	<atom:link href="http://micodigobeta.com.ar/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://micodigobeta.com.ar</link>
	<description>Desarrollo Web &#124; Programación &#124; Diseño &#124; Tutoriales y Mucho mucho más...</description>
	<lastBuildDate>Wed, 28 Jul 2010 20:23:50 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>namespace en PHP (Parte I)</title>
		<link>http://micodigobeta.com.ar/?p=1003</link>
		<comments>http://micodigobeta.com.ar/?p=1003#comments</comments>
		<pubDate>Tue, 27 Jul 2010 23:20:10 +0000</pubDate>
		<dc:creator>diego</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[clases PHP]]></category>
		<category><![CDATA[namespace]]></category>
		<category><![CDATA[namespace con PHP]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[POO PHP namespace]]></category>

		<guid isPermaLink="false">http://micodigobeta.com.ar/?p=1003</guid>
		<description><![CDATA[Este tutorial se dividirá en 2 partes debido a que es largo para un solo tema en el blog. También aclaro que esto es solo lo básico sobe namespace con PHP. Para poder armar este tutorial, me fue necesario recorrer varios sitios que tratan sobre el tema y así, gracias a esos sitios, logré entender [...]]]></description>
			<content:encoded><![CDATA[<p>Este tutorial se dividirá en 2 partes debido a que es largo para un solo tema en el blog. <strong>También aclaro que esto es solo lo básico sobe namespace con PHP. </strong><br />
Para poder armar este tutorial, me fue necesario recorrer varios sitios que tratan sobre el tema y así, gracias a esos sitios, logré entender lo básico para poder empezar a hacer uso del namespace. Entonces espero aclararles algunas dudas sobre este tema y transmitirles lo aprendido. <strong>Se aceptan sugerencias.</strong><br />
Al final del post encontrarán el código fuente del ejemplo y los enlaces a los sitios que me sirvieron de fuente. <strong>Recomiendo <a href="http://www.netbeans.org" target="_blank">Netbeans 6.8</a> (o la última versión) como IDE.</strong></p>
<p style="text-align: center;"><img class="aligncenter" src="http://micodigobeta.com.ar/ejemplos/namespacePHP/parte1/namespace.gif" alt="null" /></p>
<p><strong>Comencemos:</strong></p>
<p>Se crearán 2 archivos. Uno se llamará “namespacesDeclaration.php” y el otro “Prueba.php”.<br />
<span id="more-1003"></span></p>
<h2><strong>Archivo “namespacesDeclaration.php”</strong></h2>
<p>En este archivo crearemos 2 clases (ClaseEjemplo1 y ClaseEjemplo2), las cuales pertenecerán al <strong>namespace “clases\ejemplo”.</strong></p>
<p>Ambas clases implementarán 2 métodos: un método estático llamado <strong>“metodoEstatico()”</strong>, y otro método llamado <strong>“imprimeCadena()”</strong>. Ambos métodos retornarán una cadena de caracteres.<br />
En las siguientes líneas se explicará cómo crear un namespace y un “sub-namespace”.</p>
<p><strong>Empezamos definiendo el namespace:</strong></p>
<pre class="brush: php">namespace clases;</pre>
<p>En este caso nuestro espacio de nombres se llama “<strong>clases</strong>”.<br />
Podemos también crear un Sub-namespace, es decir que se especifica una jerarquía de nombres, y el namespace tiene subniveles:</p>
<pre class="brush: php">namespace clases\ejemplo;</pre>
<p>Una vez definido el namespace, pasamos a crear las clases antes mencionadas. Entonces nuestro archivo quedaría de la siguiente manera:</p>
<pre class="brush: php">
namespace clases\ejemplo;

class ClaseEjemplo1
{
    public static function metodoEstatico()
    {
        return &#039;Soy el metodo estatico de la clase de ejemplo 1&#039;;
    }

    public function imprimeCadena()
    {
        return &#039;Metodo imprime cadena de la clase ejemplo 1&#039;;
    }
}

class ClaseEjemplo2
{
    public static function metodoEstatico()
    {
        return &#039;Soy el metodo estatico de la clase de ejemplo 2&#039;;
    }

    public function imprimeCadena()
    {
        return &#039;Metodo imprime cadena de la clase ejemplo 2&#039;;
    }
}
</pre>
<p>Con esto, ya tenemos 2 clases (ClaseEjemplo1 y ClaseEjemplo2) que pertenecen al namespace “clases\ejemplo”.</p>
<p><strong>Importante</strong>: La declaración del namespace se debe hacer en la primera línea del código.</p>
<h2><strong>Archivo “Prueba.php”</strong></h2>
<p>Para utilizar estas clases en otros archivos tenemos varias maneras:</p>
<p><strong>1 – Definimos el namespace en el archivo que utilizará las clases, y luego creamos una instancia de la clase e invocamos un método:</strong></p>
<pre class="brush: php">
namespace clases\ejemplo;
require_once &quot;namespacesDeclarations.php&quot;;

$ejemplo1 = new ClaseEjemplo1();
echo $ejemplo1-&gt;imprimeCadena();
</pre>
<p><strong>Importante</strong>: debemos recordar siempre incluir/requerir el archivo “namespacesDeclarations.php”. Esto se debe hacer luego de declarar el namespace.</p>
<p><strong>2 – Utilizar la directiva “use”, que es el equivalente a la sentencia “import” en otros lenguajes. Esto nos da la posibilidad de utilizar “un alias”.</strong></p>
<pre class="brush: php">
use clases\ejemplo\ClaseEjemplo1 as AliasMiClase;
require_once &quot;namespacesDeclarations.php&quot;;

$ejemplo1 = new AliasMiClase ();
echo $ejemplo1-&gt;imprimeCadena();
</pre>
<p><strong>El uso de un alias es opcional, también es correcto lo siguiente:</strong></p>
<pre class="brush: php">
use clases\ejemplo\ClaseEjemplo1;
require_once &quot;namespacesDeclarations.php&quot;;

$ejemplo1 = new ClaseEjemplo1 ();
echo $ejemplo1-&gt;imprimeCadena();
</pre>
<p><strong>3 – Otra forma de utilizar las clases es haciendo referencia a las mismas con el nombre completo del namespace:</strong></p>
<pre class="brush: php">
require_once &quot;namespacesDeclarations.php&quot;;

$ejemplo1 = new \clases\ejemplo\ClaseEjemplo1();
echo $ejemplo1-&gt;imprimeCadena();
</pre>
<h2><strong>Cerrando el tutorial:</strong></h2>
<p>En el ejemplo tenemos 2 archivos ubicados en el mismo directorio. Podríamos crear un directorio de nombre “clases” y dentro de este otro directorio de nombre “ejemplo”.<br />
Dentro de este último directorio podríamos colocar el archivo “namespacesDeclarations.php”</p>
<p>En el código solo cambia la línea que incluye/requiere el archivo:</p>
<pre class="brush: php">
require_once &quot;clases/ejemplo/namespacesDeclarations.php&quot;;
</pre>
<p><strong>Fuentes:</strong></p>
<p><a href="http://netbeans.org/kb/docs/php/namespace-code-completion-screencast.html" target="_blank">Netbeans.org</a><br />
<a href="http://php.net/manual/en/language.namespaces.php" target="_blank">PHP Manual</a><br />
<a href="http://blog.jotadeveloper.com/2009/07/13/primeros-pasos-con-namespaces-en-php/" target="_blank">Blog Jotadeveloper</a></p>
<p><strong>Código fuente del ejemplo</strong>:</p>
<p><a href="http://micodigobeta.com.ar/ejemplos/namespacePHP/parte1/namespaces.rar">Click aquí para descargar</a></p>
<p><a href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fmicodigobeta.com.ar%2F%3Fp%3D1003&amp;linkname=namespace%20en%20PHP%20%28Parte%20I%29" title="Twitter" rel="nofollow" target="_blank"><img src="http://micodigobeta.com.ar/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a> <a href="http://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fmicodigobeta.com.ar%2F%3Fp%3D1003&amp;linkname=namespace%20en%20PHP%20%28Parte%20I%29" title="Facebook" rel="nofollow" target="_blank"><img src="http://micodigobeta.com.ar/wp-content/plugins/add-to-any/icons/facebook.png" width="16" height="16" alt="Facebook"/></a> <a href="http://www.addtoany.com/add_to/myspace?linkurl=http%3A%2F%2Fmicodigobeta.com.ar%2F%3Fp%3D1003&amp;linkname=namespace%20en%20PHP%20%28Parte%20I%29" title="MySpace" rel="nofollow" target="_blank"><img src="http://micodigobeta.com.ar/wp-content/plugins/add-to-any/icons/myspace.png" width="16" height="16" alt="MySpace"/></a> <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save">Compartilo/Guardalo</a> </p>]]></content:encoded>
			<wfw:commentRss>http://micodigobeta.com.ar/?feed=rss2&amp;p=1003</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>PHP y MySQL (Stored Procedures + MySQLi)</title>
		<link>http://micodigobeta.com.ar/?p=982</link>
		<comments>http://micodigobeta.com.ar/?p=982#comments</comments>
		<pubDate>Sun, 21 Feb 2010 12:36:01 +0000</pubDate>
		<dc:creator>diego</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[mysql php]]></category>
		<category><![CDATA[mysqli]]></category>
		<category><![CDATA[php stored procedures]]></category>

		<guid isPermaLink="false">http://micodigobeta.com.ar/?p=982</guid>
		<description><![CDATA[Hola lectores. Hace tiempo que no escribimos en el blog, y hoy decidí compartir con ustedes un simple tutorial que les servirá para hacer llamados a procedimientos almacenados de MySQL. Al final del post, encontrarán los archivos PHP y SQL para descargarlos. Voy a utilizar la librería MySQLi de PHP. Por lo que investigué se [...]]]></description>
			<content:encoded><![CDATA[<p>Hola lectores.</p>
<p>Hace tiempo que no escribimos en el blog, y hoy decidí compartir con ustedes un simple tutorial que les servirá para hacer llamados a <a href="http://es.wikipedia.org/wiki/Procedimiento_almacenado" target="_blank">procedimientos almacenados</a> de MySQL.</p>
<p>Al final del post, encontrarán los archivos PHP y SQL para descargarlos.</p>
<img alt="PHP, MySQLi, Stored procedures" src="http://micodigobeta.com.ar/ejemplos/PHP_Stored_mysqli/php-mysql.gif" width="240" height="212" />
<p>Voy a utilizar la librería <a href="http://php.net/manual/en/book.mysqli.php" target="_blank">MySQLi</a> de PHP.<br />
<span id="more-982"></span><br />
Por lo que investigué se pueden hacer llamados a procedimientos almacenados de varias formas, pero me decidí a utilizar esta por la muy buena documentación en el<a href="http://php.net/manual/en/book.mysqli.php" target="_blank"> sitio oficial</a>.</p>
<p>Para esto deben editar la siguiente línea en el archivo <strong>&#8220;php.ini&#8221;</strong>:</p>
<pre class="brush: php">;extension=php_mysqli.dll</pre>
<p>Debería quedar así (si punto y coma):</p>
<pre class="brush: php">extension=php_mysqli.dll</pre>
<p>Les recomiendo usar <a href="http://netbeans.org/" target="_blank">NetBeans</a>, ya que se creará una instancia de la clase MySQLi y este IDE reconoce todos sus métodos.</p>
<p>1  &#8211; Creamos una instancia de la clase MySQLi:</p>
<pre class="brush: php">$mysqli = new mysqli(&#039;servidor&#039;, &#039;usuario&#039;, &#039;password&#039;);</pre>
<p>2 &#8211; Con la instancia creada, seleccionamos la base de datos a utilizar con el método &#8220;select_db&#8221;:</p>
<pre class="brush: php">$mysqli-&gt;select_db(&quot;baseDeDatos&quot;);</pre>
<p>3 &#8211; Una vez realizada la conexión y seleccionada la base de datos estamos listos para ejecutar el procedimiento almacenado:</p>
<pre class="brush: php">$datos = $mysqli-&gt;query(&quot;CALL prueba_sp()&quot;);</pre>
<p>El resultado de la consulta lo guardamos en una variable llamada &#8220;$datos&#8221;.</p>
<p>4 &#8211; Muestro los datos en pantalla:</p>
<pre class="brush: php">while($fila = $datos-&gt;fetch_object()) {
    echo $fila-&gt;id;
    echo $fila-&gt;nombre;
    echo $fila-&gt;apellido;
}
</pre>
<p>5 &#8211; Cierro la conexión:</p>
<pre class="brush: php">$mysqli-&gt;close();</pre>
<p><a href="http://php.net/manual/en/book.mysqli.php" target="_blank">Fuente</a> | <a href="http://micodigobeta.com.ar/ejemplos/PHP_Stored_mysqli/ejemplo.rar">Descarga el ejemplo</a></p>
<p><a href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fmicodigobeta.com.ar%2F%3Fp%3D982&amp;linkname=PHP%20y%20MySQL%20%28Stored%20Procedures%20%2B%20MySQLi%29" title="Twitter" rel="nofollow" target="_blank"><img src="http://micodigobeta.com.ar/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a> <a href="http://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fmicodigobeta.com.ar%2F%3Fp%3D982&amp;linkname=PHP%20y%20MySQL%20%28Stored%20Procedures%20%2B%20MySQLi%29" title="Facebook" rel="nofollow" target="_blank"><img src="http://micodigobeta.com.ar/wp-content/plugins/add-to-any/icons/facebook.png" width="16" height="16" alt="Facebook"/></a> <a href="http://www.addtoany.com/add_to/myspace?linkurl=http%3A%2F%2Fmicodigobeta.com.ar%2F%3Fp%3D982&amp;linkname=PHP%20y%20MySQL%20%28Stored%20Procedures%20%2B%20MySQLi%29" title="MySpace" rel="nofollow" target="_blank"><img src="http://micodigobeta.com.ar/wp-content/plugins/add-to-any/icons/myspace.png" width="16" height="16" alt="MySpace"/></a> <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save">Compartilo/Guardalo</a> </p>]]></content:encoded>
			<wfw:commentRss>http://micodigobeta.com.ar/?feed=rss2&amp;p=982</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Resumen MiCodigoBeta 2009 &#8211; 2008</title>
		<link>http://micodigobeta.com.ar/?p=953</link>
		<comments>http://micodigobeta.com.ar/?p=953#comments</comments>
		<pubDate>Wed, 30 Dec 2009 19:22:46 +0000</pubDate>
		<dc:creator>diego</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[ASP]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[micodigobeta resumen]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[resumen 2009]]></category>
		<category><![CDATA[SQL]]></category>

		<guid isPermaLink="false">http://micodigobeta.com.ar/?p=953</guid>
		<description><![CDATA[Imitando la idea de algunos blogs, hemos decidido hacer un resumen de los temas más importantes (en cuanto a comentarios y visitas) de todo el 2009 y 2008 (solo Diciembre). Ha pasado bastante tiempo desde nuestro último post, y eso se debe a que nos encontramos trabajando en otros proyectos, lo cual dificulta que escribamos [...]]]></description>
			<content:encoded><![CDATA[<p>Imitando la idea de algunos blogs, hemos decidido hacer un resumen de los temas más importantes (en cuanto a comentarios y visitas) de todo el 2009 y 2008 (solo Diciembre).<br />
Ha pasado bastante tiempo desde nuestro último post, y eso se debe a que nos encontramos trabajando en otros proyectos, lo cual dificulta que escribamos seguido.</p>
<p><img src="http://www.micodigobeta.com.ar/ejemplos/resumen2009/micodigobeta.gif" alt="resumen 2009" width="381" height="300" /></p>
<p><strong>Seguramente, luego del pequeño receso de las fiestas, volveremos a escribir.<span id="more-953"></span></strong></p>
<p><strong>Ante todo, gracias a la comunidad por el apoyo, los comentarios, agradecimientos por mails, felicitaciones, etc. que nos han enviado.</strong> Esto hace que nos sigan dando ganas de volcar nuestros conocimientos en este blog y podamos aprender todos juntos. <strong>Porque gracias a la Internet y al conocimiento compartido muchos de nosotros pudimos crecer.</strong></p>
<p><strong><span style="text-decoration: underline;"><span style="color: #0000ff;">Resumen 2009:</span></span></strong></p>
<p><span style="color: #ff0000;"><strong>Noviembre</strong></span></p>
<p><a title="Enlace Permanente a Marca de Agua y Resize. Clases para imágenes en PHP" rel="bookmark" href="http://micodigobeta.com.ar/?p=907" target="_self">Marca de Agua y Resize. Clases para imágenes en PHP</a></p>
<p><span style="color: #ff0000;"><strong>Octubre</strong></span></p>
<p><a title="Enlace Permanente a Lector de Noticias con XML, PHP y jQuery" rel="bookmark" href="../?p=738">Lector de Noticias con XML, PHP y jQuery</a></p>
<p><span style="color: #ff0000;"><strong>Septiembre</strong></span></p>
<p><a title="Enlace Permanente a Parsear XML con Magpierss" rel="bookmark" href="../?p=662">Parsear XML con Magpierss</a></p>
<p><span style="color: #ff0000;"><strong>Agosto</strong></span></p>
<p><a title="Enlace Permanente a ckEditor editor para tus cajas de textos" rel="bookmark" href="../?p=666">ckEditor editor para tus cajas de textos</a><a title="Enlace Permanente a Resetear CSS (Hojas de Estilos)" rel="bookmark" href="../?p=588"></a></p>
<p><a title="Enlace Permanente a Resetear CSS (Hojas de Estilos)" rel="bookmark" href="../?p=588">Resetear CSS (Hojas de Estilos)</a><a title="Enlace Permanente a Imágenes sin deformar en Oscommerce" rel="bookmark" href="../?p=580"></a></p>
<p><a title="Enlace Permanente a Imágenes sin deformar en Oscommerce" rel="bookmark" href="../?p=580">Imágenes sin deformar en Oscommerce</a></p>
<p><span style="color: #ff0000;"><strong>Julio</strong></span></p>
<p><a title="Enlace Permanente a ToolTips en Flash para HTML" rel="bookmark" href="../?p=547">ToolTips en Flash para HTML</a></p>
<p><span style="color: #ff0000;"><strong>Junio</strong></span></p>
<p><a title="Enlace Permanente a Menu Drop Down con jQuery y CSS" rel="bookmark" href="../?p=517">Menu Drop Down con jQuery y CSS</a></p>
<p><span style="color: #ff0000;"><strong>Mayo</strong></span></p>
<p><a title="Enlace Permanente a Combos anidados dependientes con jQuery" rel="bookmark" href="../?p=487">Combos anidados dependientes con jQuery</a><a title="Enlace Permanente a Reloj de agujas en Flash" rel="bookmark" href="../?p=465"></a></p>
<p><a title="Enlace Permanente a Reloj de agujas en Flash" rel="bookmark" href="../?p=465">Reloj de agujas en Flash</a></p>
<p><strong><span style="color: #ff0000;">Abril</span></strong><a title="Enlace Permanente a Diseño de Formularios con CSS" rel="bookmark" href="../?p=425"></a></p>
<p><a title="Enlace Permanente a Diseño de Formularios con CSS" rel="bookmark" href="../?p=425">Diseño de Formularios con CSS</a><a title="Enlace Permanente a ¿Cómo crear un RSS para mi Sitio?" rel="bookmark" href="../?p=377"></a></p>
<p><a title="Enlace Permanente a ¿Cómo crear un RSS para mi Sitio?" rel="bookmark" href="../?p=377">¿Cómo crear un RSS para mi Sitio?</a><a title="Enlace Permanente a Formulario de Contacto Modal con jQuery" rel="bookmark" href="../?p=356"></a></p>
<p><a title="Enlace Permanente a Formulario de Contacto Modal con jQuery" rel="bookmark" href="../?p=356">Formulario de Contacto Modal con jQuery</a></p>
<p><strong><span style="color: #ff0000;">Marzo</span></strong><a title="Enlace Permanente a Formulario de Contacto Modal con jQuery" rel="bookmark" href="../?p=356"></a></p>
<p><a title="Enlace Permanente a Formulario de Contacto Modal con jQuery" rel="bookmark" href="../?p=356">Formulario de Contacto Modal con jQuery</a><a title="Enlace Permanente a Gráficos Estadísticos Multiseries" rel="bookmark" href="../?p=229"></a></p>
<p><a title="Enlace Permanente a Gráficos Estadísticos Multiseries" rel="bookmark" href="../?p=229">Gráficos Estadísticos Multiseries</a></p>
<p><strong><span style="color: #ff0000;">Febrero</span></strong><a title="Enlace Permanente a Cargar imagen en un MovieClip con ASP y Flash" rel="bookmark" href="../?p=217"></a></p>
<p><a title="Enlace Permanente a Cargar imagen en un MovieClip con ASP y Flash" rel="bookmark" href="../?p=217">Cargar imagen en un MovieClip con ASP y Flash</a></p>
<p><strong><span style="color: #ff0000;">Enero</span></strong><a title="Enlace Permanente a Enmascarar (MaskEdit) cajas de texto con jQuery" rel="bookmark" href="../?p=203"></a></p>
<p><a title="Enlace Permanente a Enmascarar (MaskEdit) cajas de texto con jQuery" rel="bookmark" href="../?p=203">Enmascarar (MaskEdit) cajas de texto con jQuery</a><a title="Enlace Permanente a Carrousel (jCarrousel) de Imagenes con jQuery" rel="bookmark" href="../?p=184"></a></p>
<p><a title="Enlace Permanente a Carrousel (jCarrousel) de Imagenes con jQuery" rel="bookmark" href="../?p=184">Carrousel (jCarrousel) de Imagenes con jQuery</a><a title="Enlace Permanente a Gráficos Estadísticos con PHP + FusionCharts II" rel="bookmark" href="../?p=134"></a></p>
<p><a title="Enlace Permanente a Gráficos Estadísticos con PHP + FusionCharts II" rel="bookmark" href="../?p=134">Gráficos Estadísticos con PHP + FusionCharts II</a></p>
<p><strong><span style="text-decoration: underline;"><span style="color: #0000ff;">Resumen 2008:</span></span></strong></p>
<p><span style="color: #ff0000;"><strong>Diciembre</strong></span><a title="Enlace Permanente a Autocompletar (AutoSuggest) con Prototype" rel="bookmark" href="../?p=106"></a></p>
<p><a title="Enlace Permanente a Autocompletar (AutoSuggest) con Prototype" rel="bookmark" href="../?p=106">Autocompletar (AutoSuggest) con Prototype</a><a title="Enlace Permanente a Gráficos Estadísticos con PHP (+ FusionCharts)" rel="bookmark" href="../?p=48"></a></p>
<p><a title="Enlace Permanente a Gráficos Estadísticos con PHP (+ FusionCharts)" rel="bookmark" href="../?p=48">Gráficos Estadísticos con PHP (+ FusionCharts)</a></p>
<h1><span style="color: #ff0000;"><span style="text-decoration: underline;"><strong>Que tengan un buen año 2010 !!</strong></span></span></h1>
<p><a href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fmicodigobeta.com.ar%2F%3Fp%3D953&amp;linkname=Resumen%20MiCodigoBeta%202009%20%26%238211%3B%202008" title="Twitter" rel="nofollow" target="_blank"><img src="http://micodigobeta.com.ar/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a> <a href="http://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fmicodigobeta.com.ar%2F%3Fp%3D953&amp;linkname=Resumen%20MiCodigoBeta%202009%20%26%238211%3B%202008" title="Facebook" rel="nofollow" target="_blank"><img src="http://micodigobeta.com.ar/wp-content/plugins/add-to-any/icons/facebook.png" width="16" height="16" alt="Facebook"/></a> <a href="http://www.addtoany.com/add_to/myspace?linkurl=http%3A%2F%2Fmicodigobeta.com.ar%2F%3Fp%3D953&amp;linkname=Resumen%20MiCodigoBeta%202009%20%26%238211%3B%202008" title="MySpace" rel="nofollow" target="_blank"><img src="http://micodigobeta.com.ar/wp-content/plugins/add-to-any/icons/myspace.png" width="16" height="16" alt="MySpace"/></a> <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save">Compartilo/Guardalo</a> </p>]]></content:encoded>
			<wfw:commentRss>http://micodigobeta.com.ar/?feed=rss2&amp;p=953</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Estilizar listas con jQuery y CSS</title>
		<link>http://micodigobeta.com.ar/?p=938</link>
		<comments>http://micodigobeta.com.ar/?p=938#comments</comments>
		<pubDate>Tue, 10 Nov 2009 10:29:32 +0000</pubDate>
		<dc:creator>Walter</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[estilizar listas]]></category>

		<guid isPermaLink="false">http://micodigobeta.com.ar/?p=938</guid>
		<description><![CDATA[Algunas veces, ya sea por estética o para dar un mejor estilo a nuestros módulos, sistemas o páginas, resulta interesante reemplazar los estilos de los objetos HTML. Este post va ser el comienzo de una serie de posts para reemplazar la estica de estos elementos. Para nuestro objetivo nos valemos del framework jQuery y algo de CSS. Empezaremos con las listas, es totalmente aplicable, tanto a listas ordenadas como desordenadas. ]]></description>
			<content:encoded><![CDATA[<p><a href="http://micodigobeta.com.ar/ejemplos/lista_jquery/index.php"><img alt="listas estilizadas" src="http://micodigobeta.com.ar/ejemplos/lista_jquery/lista_jquery.gif" title="listas estilizadas" width="190" height="170" /></a><br />
Algunas veces, ya sea por estética o para dar un mejor estilo a nuestros módulos, sistemas o páginas, resulta interesante reemplazar los estilos de los objetos HTML. Este post va ser el comienzo de una serie de posts para reemplazar la estica de estos elementos. Para nuestro objetivo nos valemos del framework jQuery y algo de CSS. Empezaremos con las listas, es totalmente aplicable, tanto a listas ordenadas como desordenadas. Al final del post tienen la demo y la descarga del código de lo que explicaré a continuación. Manos a la obra.<br />
<span id="more-938"></span><br />
<strong>Primer Paso:</strong> Creamos la lista, en este caso desordenada</p>
<pre class="brush: html">
&lt;ul class=&quot;checkboxLista&quot;&gt;
  &lt;li class=&quot;uncheck&quot;&gt;Español&lt;/li&gt;
  &lt;li class=&quot;uncheck&quot;&gt;Ingl&amp;eacute;s&lt;/li&gt;
  &lt;li class=&quot;uncheck&quot;&gt;Portugues&lt;/li&gt;
  &lt;li class=&quot;uncheck&quot;&gt;Alem&amp;aacute;n&lt;/li&gt;
&lt;/ul&gt;
</pre>
<p><strong>Segundo Paso:</strong> Aplicamos los estilos necesarios<br />
Como habrán notado, aplicamos el estilo inicial &#8220;unckeck&#8221; a cada uno de los elementos. Tendremos dos estilos uno desactivado y el otro se aplica cuando los activamos. Los estilos serían algo como esto:</p>
<pre class="brush: css">
.checkboxLista{list-style:none; font-family:Arial, Helvetica, sans-serif; font-size:12px;}
.uncheck{
	background:url(img/uncheck1.png) no-repeat;
    padding-left: 25px;
    cursor:pointer;
}
.check{
    background:url(img/check1.png) no-repeat;
    padding-left: 25px;
    font-weight: bold;
	cursor:pointer;
}
</pre>
<p>Para el caso práctico creamos dos imagenes, una para el <strong>check</strong> y otra para el <strong>uncheck</strong>. Aunque es mucho mas óptimo aplicar la técnica de CSS Sprite, pero este punto lo dejaremos para un próximo post. Pero si desean investigar sobre el tema, <a href="http://www.cssblog.es/video-como-usar-css-sprites/">aca un video post</a> de Pedro Crochero de <a href="http://www.cssblog.es/">CssBlog</a>.<br />
<strong>Tercer Paso:</strong> Los efectos con jQuery<br />
Y ahora el turno a jQuery:</p>
<pre class="brush: jscript">
$(document).ready(function(){
        //detectamos el click en el elemento
	$(&quot;.checkboxLista li&quot;).click(function (){
                //si el elemento tiene el estilo desactivado o no
  		if($(this).hasClass(&#039;uncheck&#039;)){
                  //removemos el estilo uncheck y aplicamos el check
    		  $(this).removeClass(&#039;uncheck&#039;);
    		  $(this).addClass(&#039;check&#039;);
  		}else{
    		  $(this).removeClass(&#039;check&#039;);
    		  $(this).addClass(&#039;uncheck&#039;);
  		}
	});
});
</pre>
<p>De esta manera y con muy poco código estilizamos una lista de opciones. Quedaría en uds. diseñar sus propios estilos de tal forma de adaptarlos a sus proyectos. Como es de costumbre les dejo la <a href="http://micodigobeta.com.ar/ejemplos/lista_jquery/index.php">DEMO</a> y la <a href="http://micodigobeta.com.ar/ejemplos/lista_jquery/lista_jquery.rar">DESCARGA del código</a>. Si te quedo alguna duda o aporte que quieras hacer, te esperamos en los comentarios. Un cordial Saludo.</p>
]]></content:encoded>
			<wfw:commentRss>http://micodigobeta.com.ar/?feed=rss2&amp;p=938</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Marca de Agua y Resize. Clases para imágenes en PHP</title>
		<link>http://micodigobeta.com.ar/?p=907</link>
		<comments>http://micodigobeta.com.ar/?p=907#comments</comments>
		<pubDate>Thu, 05 Nov 2009 23:47:37 +0000</pubDate>
		<dc:creator>diego</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[clases imagenes PHP]]></category>
		<category><![CDATA[Marca de agua PHP]]></category>
		<category><![CDATA[resize PHP]]></category>
		<category><![CDATA[Watermark]]></category>

		<guid isPermaLink="false">http://micodigobeta.com.ar/?p=907</guid>
		<description><![CDATA[Este post trata sobre dos funciones útiles para el tratamiento de imágenes con PHP. &#8220;Marca de Agua&#8221; y &#8220;Resize&#8221;. Iré agregando otras funciones más adelante, como por ejemplo el efecto &#8220;Polaroid&#8221;, &#8220;Rotate&#8221;, Texto a imágen, etc. Al final del tutorial encontrarán los archivos del ejemplo para descargarlo. 1 &#8211; Marca de Agua Para generar una [...]]]></description>
			<content:encoded><![CDATA[<p>Este post trata sobre dos funciones útiles para el tratamiento de imágenes con PHP. &#8220;Marca de Agua&#8221; y &#8220;Resize&#8221;. Iré agregando otras funciones más adelante, como por ejemplo el efecto &#8220;Polaroid&#8221;, &#8220;Rotate&#8221;, Texto a imágen, etc.<br />
Al final del tutorial encontrarán los archivos del ejemplo para descargarlo.</p>
<p><a href="http://www.micodigobeta.com.ar/ejemplos/ClaseImgPHP/ejemplo/ejemplo.htm" target="_blank"><img class="aligncenter" src="http://www.micodigobeta.com.ar/ejemplos/ClaseImgPHP/ejemplo/ejemplo2.gif" alt="Marca de Agua y Resize en PHP" width="560" height="390" /></a></p>
<p><strong>1 &#8211; <span style="color: #ff0000;"><u>Marca de Agua</u></span></strong><br />
<span id="more-907"></span><br />
Para generar una imágen con <strong>&#8220;marca de agua&#8221;</strong> incluimos el archivo ImagenFachada.php</p>
<pre class="brush: php">require_once &#039;ImagenFachada.php&#039;;</pre>
<p>Luego llamamos al método estático &#8220;crearMarcaAgua()&#8221; de la clase ImagenFachada, enviándole los parámetros necesarios para la imágen y almacenamos el resultado en una variable ($img):</p>
<pre class="brush: php">$img = ImagenFachada::crearMarcaAgua(array(
    &#039;imgOriginal&#039;  =&gt; &#039;imagenes/marcaAgua/oldboy.jpg&#039;,
    &#039;imgMarcaAgua&#039; =&gt; &#039;imagenes/marcaAgua/marcaAgua.png&#039;,
    &#039;imgNueva&#039;     =&gt; &#039;imagenes/marcaAgua/nuevo.jpg&#039;,
    &#039;posicion&#039;     =&gt; 7,
    &#039;calidad&#039;      =&gt; 100
));</pre>
<p><strong>Los parámetros:</strong><br />
Se envía como parámetro un arreglo que contiene la información necesaria para generar la imágen con &#8220;marca de agua&#8221;.<br />
&#8220;<strong>imgOriginal</strong>&#8221; = Ruta/Nombre de la imágen que será marcada<br />
&#8220;<strong>imgMarcaAgua</strong>&#8221; = Ruta/Nombre de la imágen que hará de marca de agua<br />
&#8220;<strong>imgNueva</strong>&#8221; = Ruta/Nombre de la imágen resultante<br />
<span style="color: #ff6600;">&#8220;<strong>posicion</strong>&#8220;</span> = Parámetro opcional.  Posición de la marca de agua sobre la imágen original (1-7).<br />
Los valores que puede tomar son:<br />
1 = Marca de agua centrada sobre la imágen original (valor por defecto).<br />
2 = Marca de agua sobre la esquina superior izquierda en la imágen original.<br />
3 = Marca de agua sobre la esquina superior derecha en la imágen original.<br />
4 = Marca de agua en el centro superior sobre la imágen original.<br />
5 = Marca de agua sobre la esquina inferior izquierda en la imágen original.<br />
6 = Marca de agua sobre la esquina inferior derecha en la imágen original.<br />
7 = Marca de agua en el centro inferior sobre la imágen original.</p>
<p>Por último el parámetro <span style="color: #ff6600;"><strong>&#8220;calidad&#8221;</strong></span>. También es opcional, y por defecto toma el valor 100 (1 &#8211; 100).</p>
<p>En el <a href="http://www.micodigobeta.com.ar/ejemplos/ClaseImgPHP/ejemplo/ejemplo.htm" target="_blank">ejemplo</a> se pueden ver las diferentes posiciones que toma la imágen &#8220;marca de agua&#8221; sobre la imágen original.<br />
En la imágen 1 el parámetro &#8220;posición&#8221; lleva el valor 2, en la imágen 2 lleva el valor 6, y en la imágen 3 lleva el valor 1 (valor por defecto).</p>
<p>Finalmente, imprimimos la imágen resultante (imprimimos la variable $img, que invoca al método &#8220;__toString()&#8221; de la clase ImgMarcaAgua).</p>
<pre class="brush: php">echo &quot;&lt;img src=&#039;{$img}&#039;&gt;&quot;;</pre>
<p><strong>2 &#8211; <span style="color: #ff0000;"><u>Resize</u></span></strong></p>
<p>Invocamos al método estático “redimensionar()” de la clase ImagenFachada, enviándole los parámetros necesarios para la imágen y almacenamos el resultado en una variable ($img):</p>
<pre class="brush: php">$img = ImagenFachada::redimensionar(array(
    &#039;imgOriginal&#039; =&gt; &#039;imagenes/resize/battlestar_galactica.jpg&#039;,
    &#039;imgNueva&#039;    =&gt; &#039;imagenes/resize/resize.jpg&#039;,
    &#039;ancho&#039;       =&gt; 150,
    &#039;alto&#039;        =&gt; 150,
    &#039;tipoResize&#039;  =&gt; 1,
    &#039;calidad&#039;     =&gt; 100
));</pre>
<p><strong>Los parámetros:</strong><br />
Se envía como parámetro un arreglo que contiene la información necesaria para redimensionar la imágen.<br />
&#8220;<strong>imgOriginal</strong>&#8221; = Ruta/Nombre de la imágen que será redimensionada.<br />
&#8220;<strong>imgNueva</strong>&#8221; = Ruta/Nombre de la imágen resultante.<br />
&#8220;<strong>ancho</strong>&#8221; = Ancho deseado para la imágen.<br />
&#8220;<strong>alto</strong>&#8221; = Altura deseado para la imágen.<br />
&#8220;<span style="color: #ff9900;"><strong>tipoResize</strong></span>&#8221; = Parámetro Opcional. Determina el tipo de redimensión (1-2). Valor por defecto = 1.<br />
1 = Redimensiona la imágen manteniendo la relación de aspecto, es decir teniendo en cuenta el ancho y el alto originales.<br />
2 = Redimensiona la imágen sin mantener la relación de aspecto, es decir se respeta el ancho y el alto enviados como parámetros. Por ej: envío 150 x 100, es eso lo que obtendré.<br />
&#8220;<strong><span style="color: #ff6600;">calidad</span></strong>&#8221; = Parámetro opcional. Calidad de la imágen redimensionada resultante (1 -100). Valor por defecto 100.</p>
<p>En el <a href="http://www.micodigobeta.com.ar/ejemplos/ClaseImgPHP/ejemplo/ejemplo.htm" target="_blank">ejemplo</a> se ven las imágenes redimensionadas de las dos maneras junto con la imágen original. </p>
<p>Finalmente, imprimimos la imágen resultante (imprimimos la variable $img, que invoca al método &#8220;__toString()&#8221; de la clase ImgResize).</p>
<pre class="brush: php">echo &quot;&lt;img src=&#039;{$img}&#039;&gt;&quot;;</pre>
<p><a href="http://www.micodigobeta.com.ar/ejemplos/ClaseImgPHP/ejemplo/ejemplo.htm" target="_blank">Ejemplo</a> | <a href="http://www.micodigobeta.com.ar/ejemplos/ClaseImgPHP/archivos/ClassImagenes.rar" target="_blank">Código Fuente</a></p>
<p><a href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fmicodigobeta.com.ar%2F%3Fp%3D907&amp;linkname=Marca%20de%20Agua%20y%20Resize.%20Clases%20para%20im%C3%A1genes%20en%20PHP" title="Twitter" rel="nofollow" target="_blank"><img src="http://micodigobeta.com.ar/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a> <a href="http://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fmicodigobeta.com.ar%2F%3Fp%3D907&amp;linkname=Marca%20de%20Agua%20y%20Resize.%20Clases%20para%20im%C3%A1genes%20en%20PHP" title="Facebook" rel="nofollow" target="_blank"><img src="http://micodigobeta.com.ar/wp-content/plugins/add-to-any/icons/facebook.png" width="16" height="16" alt="Facebook"/></a> <a href="http://www.addtoany.com/add_to/myspace?linkurl=http%3A%2F%2Fmicodigobeta.com.ar%2F%3Fp%3D907&amp;linkname=Marca%20de%20Agua%20y%20Resize.%20Clases%20para%20im%C3%A1genes%20en%20PHP" title="MySpace" rel="nofollow" target="_blank"><img src="http://micodigobeta.com.ar/wp-content/plugins/add-to-any/icons/myspace.png" width="16" height="16" alt="MySpace"/></a> <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save">Compartilo/Guardalo</a> </p>]]></content:encoded>
			<wfw:commentRss>http://micodigobeta.com.ar/?feed=rss2&amp;p=907</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>criSoL: Formosa (Argentina) &#124; 30 y 31 de Octubre (2009)</title>
		<link>http://micodigobeta.com.ar/?p=874</link>
		<comments>http://micodigobeta.com.ar/?p=874#comments</comments>
		<pubDate>Tue, 27 Oct 2009 10:46:01 +0000</pubDate>
		<dc:creator>diego</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[evento]]></category>
		<category><![CDATA[formosa crisol]]></category>
		<category><![CDATA[forsol]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[software libre]]></category>

		<guid isPermaLink="false">http://micodigobeta.com.ar/?p=874</guid>
		<description><![CDATA[<strong>"V encuentro Estratégico de SOFTWARE LIBRE"</strong></span> que se llevará a cabo en la provincia de Formosa (Argentina), los días 30 y 31 de Octubre]]></description>
			<content:encoded><![CDATA[<p>Este post es para informarles sobre el <span style="color: #008000;"><strong>&#8220;V encuentro Estratégico de SOFTWARE LIBRE&#8221;</strong></span> que se llevará a cabo en la provincia de Formosa (Argentina), los días 30 y 31 de Octubre.</p>
<p><a href="http://www.forsol.org.ar"><img title="criSoL Formosa" src="http://www.micodigobeta.com.ar/ejemplos/crisol/logo.gif" alt="" width="550" height="105" /></a></p>
<p><strong>Eje Temático: <span style="color: #008000;">&#8220;Software Libre en la educación y la inclusión social&#8221;</span></strong><br />
<strong>Lugar:</strong> Predio Ferial, Galpón &#8220;G&#8221;. Paseo Costanera &#8220;Vuelta Fermoza&#8221; y Brandsen.<br />
<strong>Hora de inicio:</strong> 08:00 hs, entrada libre y gratuita.<br />
<strong>Registro al Evento:</strong> <a href="http://www.crisolargentina.org.ar/drupal/?q=node/65" target="_blank">criSoL Argentina</a><br />
<strong>Formosa Software Libre:</strong> <a href="http://www.forsol.org.ar" target="_blank">ForSoL</a></p>
<p><strong>Charlas y debates con presencias Nacionales e Internacionales.</strong></p>
<p><strong>¿Qué es el CRISOL – Encuentro Estratégico de Software Libre?</strong><br />
<span id="more-874"></span><br />
A diferencia de otras reuniones, el CRISOL ofrece un espacio de cooperación directa de los concurrentes a través de metodologías altamente participativas a modo de foros especializados según temáticas, que luego socializan sus resultados contribuyendo al diseño de las estrategias. Asimismo, este encuentro también ofrece charlas introductorias a las problemáticas y otras presentaciones inspiradoras de los debates sugeridos.</p>
<p>El primer CRISOL fue realizado en la ciudad de Rosario en 2005, con la colaboración de la ANT – Asociación Nuevas Tecnologías y Lugro (Linux User Group de Rosario) y con la participación de numerosos visitantes nacionales e internacionales (especialmente de América Latina).</p>
<p>El segundo fue realizado el siguiente año en la ciudad de La Plata con con el auspicio de la Universidad Nacional de la mencionada ciudad y fue declarado de Interés Municipal por el Consejo Deliberante platense y de interés provincial por la Honorable Cámara de Diputados de la Provincia de Buenos Aires.</p>
<p>La edición 2007 de este evento, que fue llevada a cabo en la ciudad de Posadas &#8211; Misiones, fue coordinado por MISOL – Misiones Software Libre y contó con el aval de la Universidad Nacional de Misiones (UNAM) y la Facultad de Humanidades y Ciencias Sociales. Ese año, el encuentro estratégico fue declarado de interés por la Honorable Cámara de Diputados de la Nación.</p>
<p>En el 2008, el CRISOL fue celabrado en la Ciudad de Corrientes y fue organizado conjuntamente MISOL – Misiones Software Libre y NESLA – Noreste Software Libre, con el apoyo de la Universidad Nacional del Nordeste.</p>
<p>Cada año, nuestro encuentro estratégico rota de lugar para equilibrar las oportunidades de participar de los socios de nuestra organización que se encuentran a lo largo de todo el país. En 2009, su quinta edición, esperamos realizar un exitoso CRISOL en la Ciudad de Formosa, coordinado por FORSOL – Formosa Software Libre y con la colaboración de MISOL – Misiones Software Libre.</p>
<p><strong>¿Quiénes son las organizaciones que invitan al CRISOL 2009?</strong></p>
<p>SOLAR &#8211; Software Libre Argentina, es una asociación civil sin fines de lucro cuyo objetivo principal es promover las ventajas tecnológicas, sociales y políticas del software libre en los diversos ámbitos; trabajar para que se garanticen los derechos humanos y libertades fundamentales en relación al software y promover el concepto de que las ideas deben fluir libremente.<br />
www.solar.org.ar</p>
<p>FORSOL &#8211; Formosa Software Libre, es una comunidad que comparte los mismos valores en torno a las tecnologías libres y su incumbencia en nuestra sociedad formoseña. Sus objetivos son difundir y promocionar el Software Libre en la provincia de formosa, capacitar en herramientas libres y participar en eventos y reuniones sobre informática, tecnologías, ética y solidaridad social.<br />
www.forsol.org.ar</p>
<p>MISOL &#8211; Misiones Software Libre, tiene como objetivos apoyar y alentar el uso y el desarrollo de Software Libre, y constituir un espacio libre para fomentar el intercambio de ideas y conocimientos. Realiza tareas de difusión y promoción del Software Libre en su región en articulación con otros agentes locales.<br />
www.misol.org.ar</p>
<p><strong>Volante de Publicidad:</strong></p>
<p><img title="crisol formosa" src="http://www.micodigobeta.com.ar/ejemplos/crisol/volanteCrisol.gif" alt="" width="350" height="496" /><br />
<br />
<a href="http://www.crisolargentina.org.ar/drupal/" target="_blank">criSoL</a> | <a href="http://solar.org.ar/" target="_blank">SoLar</a> | <a href="http://www.forsol.org.ar/" target="_blank">forsol</a> | <a href="http://www.misol.org.ar/" target="_blan">misol</a></p>
]]></content:encoded>
			<wfw:commentRss>http://micodigobeta.com.ar/?feed=rss2&amp;p=874</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Graficos Estadísticos: Open Flash Chart</title>
		<link>http://micodigobeta.com.ar/?p=832</link>
		<comments>http://micodigobeta.com.ar/?p=832#comments</comments>
		<pubDate>Sat, 24 Oct 2009 02:18:38 +0000</pubDate>
		<dc:creator>diego</dc:creator>
				<category><![CDATA[Graficos Estadisticos]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[fusioncharts]]></category>
		<category><![CDATA[graficos barras]]></category>
		<category><![CDATA[Open Flash Chart]]></category>
		<category><![CDATA[php open flash chart]]></category>

		<guid isPermaLink="false">http://micodigobeta.com.ar/?p=832</guid>
		<description><![CDATA[En este post, voy a mostrarles una excelente herramienta para gráficos estadísticos: Open Flash Chart. Gráfico de barras: (en el código fuente de ejemplo, que encontrarán más abajo para descargarlo, van a encontrar un ejemplo de un gráfico circular, con los comentarios respectivos). Primero, creamos un archivo que contendrá el gráfico: Grafico.php Requiero la librería [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">En este post, voy a mostrarles una excelente herramienta para gráficos estadísticos: <a href="http://teethgrinder.co.uk/open-flash-chart/" target="_blank">Open Flash Chart</a>.</p>
<p style="text-align: center;"><a href="http://www.micodigobeta.com.ar/ejemplos/graficosEstadisticosPHP/OpenFlashChart/openFlashChart/Graficos.php" target="_blank"><img class="aligncenter" title="Open Flash Chart" src="http://www.micodigobeta.com.ar/ejemplos/graficosEstadisticosPHP/OpenFlashChart/openFlashChart.gif" alt="Grafico Estadistico con Open Flash Chart" width="450" height="284" /></a></p>
<p><strong>Gráfico de barras:</strong> (en el código fuente de ejemplo, que encontrarán más abajo para descargarlo, van a encontrar un ejemplo de un gráfico circular, con los comentarios respectivos).</p>
<p>Primero, creamos un archivo que contendrá el gráfico:</p>
<p><strong>Grafico.php</strong></p>
<p>Requiero la librería para graficar:</p>
<pre class="brush: php">require_once &#039;ofc/php-ofc-library/open_flash_chart_object.php&#039;;</pre>
<p>Creamos el objeto flash, asignando el ancho y el alto, el nombre y ruta del archivo a graficar:</p>
<pre class="brush: php">open_flash_chart_object( 600, 380, &#039;Barra3D.php&#039;,false ,&quot;ofc/&quot;);</pre>
<p><span id="more-832"></span><br />
Ahora creamos el archivo que contendrá los parámetros del gráfico:</p>
<p><strong>Barra3D.php</strong></p>
<p>Requerimos el archivo necesario para graficar:</p>
<pre class="brush: php">require_once &#039;ofc/php-ofc-library/open-flash-chart.php&#039;;</pre>
<p>Creamos un arreglo con los valores que vamos a comparar:</p>
<pre class="brush: php">$valores = array(&#039;Producto A&#039;, &#039;Producto B&#039;, &#039;Producto C&#039;, &#039;Producto D&#039;);</pre>
<p>Se crea una instancia de la clase bar_3d (la primer barra), indicamos la transparencia (100) y el color de la barra.<br />
Luego asignamos la referencia (Sucursal 1) con su tamaño de fuente (10)</p>
<pre class="brush: php">$barra1 = new bar_3d(100, &#039;#E98A45&#039;);
$barra1-&amp;gt;key(&#039;Sucursal 1&#039;, 10);</pre>
<p>Asignamos valores aleatorios para esta barra (que pertenece a la sucursal 1). Se asignan 4 valores, ya que los productos son 4 (A, B, C y D)</p>
<pre class="brush: php">for ( $i = 0; $i &amp;lt; 4; $i++ ) {   $barra1-&amp;gt;data[] = rand(3,7);
}</pre>
<p>Con esto terminamos con la primer barra del gráfico.<br />
Entendido esto, creamos la segunda barra (sucursal 2), con un color diferente, y asignamos también valores aleatorios.</p>
<pre class="brush: php">$barra2 = new bar_3d(100, &#039;#0979CC&#039;);
$barra2-&amp;gt;key(&#039;Sucursal 2&#039;, 10);

for ($i = 0; $i &amp;lt; 4; $i++) { 	$barra2-&amp;gt;data[] = rand(2,5);
}</pre>
<p>Ya tenemos las dos barras para el gráfico de este ejemplo.<br />
Ahora crearemos una instancia de la clase &#8220;graph&#8221;:</p>
<pre class="brush: php">$grafico = new graph();</pre>
<p>Asignamos el título para el gráfico y el formato (de dicho título). Enviamos 2 parámetros al método: título y estilo:</p>
<pre class="brush: php">$grafico-&amp;gt;title(&#039;Grafico Ejemplo&#039;,
&#039;{font-size:18px;
color: #FFFFFF;
margin: 5px;
background-color: #333333;
padding:5px;
padding-left: 20px;
padding-right: 20px;}&#039;
);</pre>
<p>Agregamos las dos barras al gráfico.</p>
<pre class="brush: php">$grafico-&amp;gt;data_sets[] = $barra1;
$grafico-&amp;gt;data_sets[] = $barra2;</pre>
<p>Se asignan los valores para el eje X (Productos A, B, C y D)</p>
<pre class="brush: php">$grafico-&amp;gt;set_x_labels($valores);</pre>
<p>Punto máximo del eje Y (desde 0 a 20)</p>
<pre class="brush: php">$grafico-&amp;gt;set_y_max(20);</pre>
<p>Cantidad de puntos para el eje Y (0, 4, 8, 12, 16, 20)</p>
<pre class="brush: php">$grafico-&amp;gt;y_label_steps(5);</pre>
<p>Leyendas tanto para ej eje X e Y. Con el tamaño de fuente y el color.</p>
<pre class="brush: php">$grafico-&amp;gt;set_y_legend(&#039;Cantidad&#039;, 16, &#039;#736AFF&#039;);
$grafico-&amp;gt;set_x_legend(&#039;Productos&#039;, 16, &#039;#736AFF&#039;);</pre>
<p>Agrego una imágen de fondo.<br />
Indico la ruta de la imágen y la posición en que se encontrará en el gráfico.</p>
<pre class="brush: php">$grafico-&amp;gt;set_bg_image(&#039;img/logo.png&#039;, &#039;350&#039;, &#039;90&#039;);</pre>
<p>Finalmente, muestro el gráfico en pantalla:</p>
<pre class="brush: php">echo $grafico-&amp;gt;render();</pre>
<p><strong>Para ver el gráfico, debemos abrir el archivo &#8220;Grafico.php&#8221;.<br />
Tengan mucha paciencia con esta herramienta, y tengan en cuenta que los archivos temporales pueden jugarles una mala pasada.</strong></p>
<p><a href="http://www.micodigobeta.com.ar/ejemplos/graficosEstadisticosPHP/OpenFlashChart/openFlashChart/Graficos.php" target="_blank">Ejemplo</a> | <a href="http://www.micodigobeta.com.ar/ejemplos/graficosEstadisticosPHP/OpenFlashChart/openFlashChart.rar">Código Fuente</a> | <a href="http://teethgrinder.co.uk/open-flash-chart/" target="_blank">Open Flash Chart</a></p>
<p><a href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fmicodigobeta.com.ar%2F%3Fp%3D832&amp;linkname=Graficos%20Estad%C3%ADsticos%3A%20Open%20Flash%20Chart" title="Twitter" rel="nofollow" target="_blank"><img src="http://micodigobeta.com.ar/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a> <a href="http://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fmicodigobeta.com.ar%2F%3Fp%3D832&amp;linkname=Graficos%20Estad%C3%ADsticos%3A%20Open%20Flash%20Chart" title="Facebook" rel="nofollow" target="_blank"><img src="http://micodigobeta.com.ar/wp-content/plugins/add-to-any/icons/facebook.png" width="16" height="16" alt="Facebook"/></a> <a href="http://www.addtoany.com/add_to/myspace?linkurl=http%3A%2F%2Fmicodigobeta.com.ar%2F%3Fp%3D832&amp;linkname=Graficos%20Estad%C3%ADsticos%3A%20Open%20Flash%20Chart" title="MySpace" rel="nofollow" target="_blank"><img src="http://micodigobeta.com.ar/wp-content/plugins/add-to-any/icons/myspace.png" width="16" height="16" alt="MySpace"/></a> <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save">Compartilo/Guardalo</a> </p>]]></content:encoded>
			<wfw:commentRss>http://micodigobeta.com.ar/?feed=rss2&amp;p=832</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>Cargar combos dinamicamente desde Base de Datos</title>
		<link>http://micodigobeta.com.ar/?p=835</link>
		<comments>http://micodigobeta.com.ar/?p=835#comments</comments>
		<pubDate>Wed, 21 Oct 2009 11:52:02 +0000</pubDate>
		<dc:creator>Walter</dc:creator>
				<category><![CDATA[ASP]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Combos]]></category>

		<guid isPermaLink="false">http://micodigobeta.com.ar/?p=835</guid>
		<description><![CDATA[Intentaré explicar como cargar en un combo, datos dinamicamente, desde una base de datos. Lo haremos tanto en PHP como en ASP.
Para ejemplificar y poder entender mejor, vamos a realizar una consulta sencilla. Suponiendo que tenemos una tabla de Personal de una Empresa X, donde necesitamos cargar en un combo, Apellido y Nombre de la persona y el id o número de legajo del mismo. Para lo cual nuestra consulta será algo asi como lo siguiente.]]></description>
			<content:encoded><![CDATA[<p>Intentaré explicar como cargar en un combo, datos dinamicamente, desde una base de datos. Lo haremos tanto en PHP como en ASP.<br />
Para ejemplificar y poder entender mejor, vamos a realizar una consulta sencilla. Suponiendo que tenemos una tabla de Personal de una Empresa X, donde necesitamos cargar en un combo, Apellido y Nombre de la persona y el id o número de legajo del mismo. Para lo cual nuestra consulta será algo asi como lo siguiente.<br />
<strong>ASP:</strong></p>
<pre class="brush: php">
&#039;Consulta de ASP
SQL = &quot;SELECT apellido, nombre, EmpleadoId from Empleado&quot;
</pre>
<p><strong>PHP:</strong></p>
<pre class="brush: php">
//Consulta en PHP
$SQL = &quot;SELECT apellido, nombre, EmpleadoId from Empleado&quot;;
</pre>
<p><span id="more-835"></span><br />
Ahora ejecutamos la consulta, según el lenguaje que usemos sería de esta manera:<br />
<strong>ASP:</strong></p>
<pre class="brush: php">
Set rsEmp= Server.CreateObject(&quot;ADODB.Recordset&quot;)
Set rsEmp = cn.execute(SQL)
</pre>
<p><strong>PHP:</strong></p>
<pre class="brush: php">
$resultado=mysql_query($SQL,$conexion);
</pre>
<p>Como el objetivo del post no es hablar sobre conexión a base de datos, doy por echo que ya tienen la conexión realizada a la bases de datos para las diferentes arquitecturas de trabajo. Si aun así, necesitan ayuda para realizar este paso, no duden en dejar la inquietud en los comentarios y con gusto les daremos una mano.<br />
Ahora si, estamos en condiciones de poder cargar el combo con los datos proporcionados por la consulta.<br />
<strong>ASP:</strong></p>
<pre class="brush: php">
        &lt;select name=&quot;personal&quot;&gt;
          &lt;% rsEmp.Movefirst
		  	do until  rsEmp.eof
		 %&gt;
          &lt;option value=&quot;&lt;%=rsEmp.fields(&quot;EmpleadoId&quot;) %&gt;&quot;&gt;&lt;%=rsEmp.fields(&quot;Apellido&quot;) &amp; &quot;, &quot;%&gt; &lt;%=rsEmp.fields(&quot;Nombre&quot;)%&gt; &lt;/option&gt;
          &lt;% rsEmp.Movenext
	       loop %&gt;
        &lt;/select&gt;
</pre>
<p><strong>PHP:</strong></p>
<pre class="brush: php">
&lt;select name=&quot;personal&quot;&gt;
&lt;?php
while($row = mysql_fetch_array($resultado)) {
  echo &quot;&lt;option value={$row[&quot;EmpleadoId&quot;]}&gt;{$row[&quot;Apellido&quot;]}, {$row[&quot;Nombre&quot;]}&lt;/option&gt;&quot;;
   }
?&gt;
&lt;/select&gt;
</pre>
<p>De esta manera, y con muy poco código cargamos un combo de forma dinámica con ASP y PHP. También realizamos en <a href="http://micodigobeta.com.ar/?p=487">un post</a> anterior carga dinamica de combos con jQuery y otro de <a href="http://micodigobeta.com.ar/?p=762">operaciones básicas</a> con ellos. Ante cualquier aporte, duda o sugerencia, dejarlos en los comentarios. Saludos y nos vemos en un próximo post.</p>
]]></content:encoded>
			<wfw:commentRss>http://micodigobeta.com.ar/?feed=rss2&amp;p=835</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>T-SQL Buscar un campo por el nombre</title>
		<link>http://micodigobeta.com.ar/?p=810</link>
		<comments>http://micodigobeta.com.ar/?p=810#comments</comments>
		<pubDate>Thu, 15 Oct 2009 15:12:04 +0000</pubDate>
		<dc:creator>francisco</dc:creator>
				<category><![CDATA[SQL]]></category>
		<category><![CDATA[SQL SERVER]]></category>
		<category><![CDATA[SQLServer 2005]]></category>
		<category><![CDATA[T-SQL]]></category>

		<guid isPermaLink="false">http://micodigobeta.com.ar/?p=810</guid>
		<description><![CDATA[Busca un campo por el nombre en la base de datos Hay veces que necesitamos saber en que tabla está un determinado campo. Esta consulta devuelve las tablas en las que está dicho campo. En este caso el campo &#8220;customerid&#8221;, trabajamos con la Base de Datos Northwind: Declare @lcNombreCampo varchar(50) Set @lcNombreCampo = &#039;customerid&#039; SELECT [...]]]></description>
			<content:encoded><![CDATA[<p>Busca un campo por el nombre en la base de datos</p>
<p>Hay veces que necesitamos saber en que tabla está un determinado campo.<br />
Esta consulta devuelve las tablas en las que está dicho campo.<br />
En este caso el campo &#8220;customerid&#8221;, trabajamos con la Base de Datos Northwind:</p>
<pre class="brush: sql">Declare @lcNombreCampo varchar(50)
Set @lcNombreCampo = &#039;customerid&#039;
SELECT TABLE_NAME as Tabla, TABLE_CATALOG as Base_de_Datos
FROM INFORMATION_SCHEMA.COLUMNS
WHERE COLUMN_NAME LIKE @lcNombreCampo
Order by 1</pre>
<p><a href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fmicodigobeta.com.ar%2F%3Fp%3D810&amp;linkname=T-SQL%20Buscar%20un%20campo%20por%20el%20nombre" title="Twitter" rel="nofollow" target="_blank"><img src="http://micodigobeta.com.ar/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a> <a href="http://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fmicodigobeta.com.ar%2F%3Fp%3D810&amp;linkname=T-SQL%20Buscar%20un%20campo%20por%20el%20nombre" title="Facebook" rel="nofollow" target="_blank"><img src="http://micodigobeta.com.ar/wp-content/plugins/add-to-any/icons/facebook.png" width="16" height="16" alt="Facebook"/></a> <a href="http://www.addtoany.com/add_to/myspace?linkurl=http%3A%2F%2Fmicodigobeta.com.ar%2F%3Fp%3D810&amp;linkname=T-SQL%20Buscar%20un%20campo%20por%20el%20nombre" title="MySpace" rel="nofollow" target="_blank"><img src="http://micodigobeta.com.ar/wp-content/plugins/add-to-any/icons/myspace.png" width="16" height="16" alt="MySpace"/></a> <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save">Compartilo/Guardalo</a> </p>]]></content:encoded>
			<wfw:commentRss>http://micodigobeta.com.ar/?feed=rss2&amp;p=810</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Operaciones con Combos (select)</title>
		<link>http://micodigobeta.com.ar/?p=762</link>
		<comments>http://micodigobeta.com.ar/?p=762#comments</comments>
		<pubDate>Tue, 06 Oct 2009 00:35:52 +0000</pubDate>
		<dc:creator>Walter</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Combos]]></category>
		<category><![CDATA[Ja]]></category>

		<guid isPermaLink="false">http://micodigobeta.com.ar/?p=762</guid>
		<description><![CDATA[Hay operaciones basicas que todo desarrollador debería conocer cuando trabajamos con combos. Utilizando la flexibilidad que nos brinda Javascript podemos realizar operaciones, como por ejemplo optener el id de un determinado elemento seleccionado o agregar un elemento mas a la lista]]></description>
			<content:encoded><![CDATA[<p>Hay operaciones básicas que todo desarrollador debería conocer cuando trabajamos con combos. Utilizando la flexibilidad que nos brinda Javascript podemos realizar operaciones, como por ejemplo optener el id de un determinado elemento seleccionado, o agregar un elemento mas a la lista.<br />
Algunas operaciones que podríamos realizar:</p>
<h4>Obtener la Descripción</h4>
<pre class="brush: jscript">
function ObtenerDescrip(oCombo){
//Devuelve la descripcion del item seleccioando
if(oCombo == &#039;undefined&#039;)
	return &quot;&quot;;
else {
	return oCombo.options[oCombo.selectedIndex].outerText;
}
}
</pre>
<p><span id="more-762"></span></p>
<h4>Obtener el ID</h4>
<pre class="brush: jscript">
function ObtenerID(oCombo){
//Devuelve el valor del item seleccioando
if(oCombo == &#039;undefined&#039;)
	return &quot;&quot;;
else {
	return oCombo.options[oCombo.selectedIndex].value;
}
}
</pre>
<h4>Cargar un elemento</h4>
<pre class="brush: jscript">
function CargarOpcion(oCombo,value,text,id){
	var oOption = document.createElement(&quot;OPTION&quot;);
	oOption.value = value;
	oOption.text = text;
	oOption.id = id;
	oCombo.add(oOption);
	return;
}
</pre>
<h4>Borrar un elemento</h4>
<pre class="brush: jscript">
function BorrarOpcion(oCombo,iIndice,bTodas){
if(bTodas){
	while(oCombo.length &gt; 1)
		oCombo.remove(1);
	}
else
	oCombo.remove(iIndice);
}
</pre>
<p>Como verán es muy simple trabajar los selects o combos con Javascript, y más aún si entendemos como trabajar con DOM y Javascript como lo demuestro en este <a href="http://micodigobeta.com.ar/?p=391">otro post</a>. Espero les sea de utilidad. Agendalo para tenerlo a mano, nunca se sabe cuando se los necesita. Adjunto la <a href="http://micodigobeta.com.ar/ejemplos/combos2/index.html">DEMO</a>. Ante cualquier duda o aporte, espero sus comentarios. Cordiales Saludos.</p>
]]></content:encoded>
			<wfw:commentRss>http://micodigobeta.com.ar/?feed=rss2&amp;p=762</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
