Lee RSS con la funcion SimpleXML que ofrece PHP 5

Es realmente cómodo leer un archivo RSS con esta función simplemente le debes indicar la url donde cargar el xml y te lo introduce en un array, que lo puedes ir recorriendo con un foreach e ir mostrando cada item. En este ejemplo he utilizado mi reciente página juegosflasheros.com, que desde este mismo finde semana tienes la oportunidad de ver los nuevos juegos incluidos y verlos en cualquier sitio gracias al RSS, así que aprovecho para que le interese colocar juegos flash en tu web y se actualice a diario esta es una buena opción ;).

$juegos = simplexml_load_file(‘http://www.juegosflasheros.com/rss.xml’);
foreach ($juegos->item as $juego) {
echo "<b><a href=$juego->link targer=_blank>$juego->title</a></b><br>\n";
}

Espero que le haya sido de gran ayuda.

SQL-92: Consultas Básicas III

Con esta tercera parte acabo las consultas b�sicas, pod�is ver las dos anteriores en I y II.

Los nombres de las columnas dentro de una misma tabla deben ser �nicos, pero que ocurre cuando hacemos una consulta que hace referencia a varias columans de igual nombre, pero en distintas tablas… pongamos un ejemplo para ver claramente este problema de ambig�edad:

Imaginemos estas dos tablas:

DEPARTAMENTO (nombred, numerod, nssdire, fechainicdire)

OFICINA_DEPTO (numerod, oficina)

Y deseamos sacar el c�digo, nombre y oficinas de los departamento de Marketing y de Investigaci�n.

SELECT Departamento.numerod, nombred, oficina FROM Departamento, Oficina_depto WHERE Departamento.nombred IN (‘Marketing’, ‘Investigaci�n’) AND Departamento.numerod = Oficina_depto.numerod;

veamos como hemos empleado algo nuevo, el opedaror IN que podemos usarlo para tomar filas con distintos valores (tanto como le colomentos dentro de los par�ntesis del IN) en una columna.

Otra manera de solucionar el problema de la ambig�edad a la hora de consultar en varias tablas, es utilizar seud�nimos (esta soluci�n es m�s elegante). Para el mismo ejemplo que el anterior:

SELECT nombred, D.numerod, oficina FROM Departamento D, Oficina_depto AS O WHERE D.nombred IN (‘Marketing’, ‘Investigaci�n’) AND D.numerod = O.numerod;

veamos como se acortan la longitud de la consulta considerablemente, he marcado el AS como negrita para avisar que es opcional, mi consejo es que no os acostumbreis a colocarlo, porque existe incompatibilidades con algunas bases de datos descendientes de SQL-92 como es el caso de ORACLE.

Y la �ltima manera que veremos para solucionar el tema de la ambig�edad es renombrando las columnas, hay dos maneras, realizar la operaci�n entre el SELECT y FROM y la otra en el FROM. Primero veremos la que se utiliza entre el SELECT y FROM:

SELECT E.nombre AS nom_empleado, S.nombre AS nom_supervisor FROM Empleado E, Empleado S WHERE E.nssjefe = S.nss;

en este caso el utilizar AS no es ning�n problema en bases de datos ORACLE.

La segunda manera de renombramiento de columnas es en la cl�usula FROM:

SELECT nom, num, oficina FROM Departamento D(nom,num,dire,inidire), Oficina_depto WHERE nom IN (‘Marketing’, ‘Investigaci�n’) AND num = numerod;

vemos como la tabla� DEPARTAMENTO (nombred, numerod, nssdire, fechainicdire), ha sido renombrada completamente, esto no funciona en bases de datos como ORACLE.

Y para terminar con el tema de consultas b�sicas lo haremos con el orden de presentaci�n. SQL permite realizar consultas y mostrarnos filas de forma ordenada, gracias a la cl�usula ORDER BY, que ordena seg�n el valor de una o varias columnas, puede ser Ascendente ASC (por defecto) o Descedente DESC. Suele ser una operaci�n muy costosa. Las filas no se ordenan en la tabla sino que se ven ordenadas sin estarlo. Pongamos un ejemplo de que queremos sacar el nombre y apellido de todos los empleados, ordenado por el salario que tienen de mayor a menor:

SELECT nombre, apellido FROM Empleado ORDER BY salario DESC;

aunque podr�a a�adir tantos campos como quisiese,separandolos a trav�s de una coma.

Pues esto es todo sobre consultas b�sicas, el siguiente art�culo trata sobre ‘Tablas como conjuntos’.

SQL-92: Consultas Básicas II

Este �rticulo es continuaci�n de SQL-92: Consultas B�sicas I, en el que estamos haciendo un breve repaso sobre las consultas m�s b�sica para realizar con SQL-92.

Continuamos con la selecci�n incondicional (omisi�n del WHERE), esto equivale a una condici�n TRUE para todas las filas.

Ejemplo sobre selecci�n incondicional, en el que deseamos obtener todas las combinaciones de nss de empleado y nombres de departamentos:

SELECT nss, nombred FROM Empleado, Departamento;

esta consulta nos devuelve absolutamente todas las filas del producto cartesiano de Empleado con Departamento (todas las combinaciones posibles!!) los campos nss y nombred como deseabamos.

Un operador muy empleado sobre todo para que desea realizar un buscador sobre cierta palabra en un campo de su base de datos, se trata del operador LIKE, el cual dispone de dos caract�res reservados que se emplean como comodines son: ‘%’ (cero o m�s caracteres alfanum�ricos) y ‘_’ (solo un car�cter alfanum�rico).

Ejemplo sobre del operado LIKE, obtener todos los empleados que vivan en Teruel (Espa�a):
SELECT nombre, apellido FROM Empleado WHERE direccion LIKE ‘%Teruel, ES%’;

como v�is es muy �til para realizar b�squedas en nuestra base de datos.

Otro operador importante es || que sirve para concantenar caract�res, un ejemplo de empleo para este operador, vamos a utilizar el anterior ejemplo y en vez de devolver nombre y apellido deseamos devolver el nombre completo, esto ser�a as�:

SELECT nombre || ‘ ‘ || apellido FROM Empleado WHERE direccion LIKE ‘%Teruel, ES%’;

pod�is comprobar como ya no hay una coma para separar los campos seleccionados, en su lugar est� || ‘ ‘ ||� que sirve para concatenar el nombre + un espacio + el apellido.

Las �ltima consults vista en este segundo cap�tulo es la artim�tica ( + – * / ), que se emplean sobre valores num�ricos.

Podemos ver un ejemplo, para saber el salario de los empleados si le subieramos un 10% su sueldo:
SELECT nombre, apellido, 1.1*salario FROM Empleado;

daros cuenta que esto es una consulta y no modifica en ning�n momento el campo salario de nuestra base de datos.

Pues lo dicho solo nos queda un cap�tulo m�s para terminar de ver las consultas b�sicas.

SQL-92: Consultas Básicas I

Para empezar saber que para hacer una consulta se usar� el comando SELECT siempre al comienzo, as� que un primer esquema de SELECT podr�a ser el siguiente:

SELECT

FROM WHERElas palabras en may�sculas son propias de la instrucci�n SELECT y el resto son:

�-> las columnas que va a obtener la consulta, est� separada por comas -> las tablas necesarias para realizar la consulta-> expresi�n booleana para identificar filas que obtendr� la consulta

Un primer ejemplo podr�a ser sacar de una tabla Empleado la fecha de nacimiento y direccion del empleado llamado Pepe

SELECT fechan, direccion FROM Empleado WHERE nombre = ‘Pepe’

es imporante ver que dentro de una instrucci�n de SQL se emplean las comillas simples .

Se puede emplear cualquier n�mero de condiciones selecci�n/reuni�n en SELECT.

Otro ejemplo, sacar para cada proyecto ubicado en Santiago, obtener el numero del proyecto, numero del departamento que lo controla y el apellido, direcci�n y fecha de nacimiento del gerente de ese departamento (ya se empieza a complicar la cosa jeje):

SELECT numerop, numd, apellido, direcci�n, fechan FROM Protecto, Departamento, Empleado WHERE numd=numerod AND nssdire=nss AND lugarp=’Santiago’;

importante saber que toda instrucci�n para que sea ejecutada debe terminar con punto y coma.

Puede ocurrir que la instrucci�n SELECT nos devuelva filas repetidas, esto en algunos casos puede ser molestoso, pero se resuleve f�cilmente con DISTINCT (m�s adelante se ver� como utilizarlo).

Por �ltima para esta primera parte de consultas b�sicas termina con el uso de *.

El * se emplea para cuando deseamos sacar todas las columnas de las filas seleccionadas y no tengas que ir nombrando una a una.

SELECT * FROM Empleado WHERE nombre=’Pepe’;

Eso si no usar por comdidad el * siempre porque estar�a haciendo ineficiente tu programaci�n.

El primero de una serie sobre SQL-92

Aprovechando que hoy he empezado en clases de bases de datos SQL-92 el pilar de sobre el que están basados todas las BD de la actualidad por lo que veo una buena ocasión para ir comentando las lecciones que recibo :), porque creo que es de gran ayuda para aquellos desarrolladores webs que día a día trabajaban con MySQL (por decir una). En un solo día me he dado cuenta de los muchisimos errores que cometo como programador a la hora de consultar en una base de datos, son verdades bestialidades las que hago como imagino que algunos programadores poco experimentados (al igual que yo) cometemos estos errores, sin duda el que se lleva la palma es usar en las consultas SELECT * FROM … cuando realmente solo deseaba 2 campos de 15 :D, en fin algunos os sonara a chorra pero para mi y otro montón que se estén iniciando o quieran mejorar creanme que no.

De cada lección sacaré varios artículos para no hacer uno largo y pesado, así que este es primero en el que contaré muy brevemente la historia de SQL.

Historia de las bases de datos (por encima :)):

Allá por los años 70 surgió el primer lenguaje de alto nivel, que fue diseñado por IBM´s Research Laboratory, y al poco después de ésta surgieron otras como ORACLE e INGRES. Vamos que cada empresa sacaba su propia versión de sistema de gestor de base de datos, así que se armó un caos impresionante. Pero como siempre ahí estaba ANSI que junto con ISO las organizaciones más importantes de estandarizanción mundial se juntaron junto con las empresas que más destaban en esos momento en ese mundillo para hacer algo standar y que todos pudieran manejar facilmente cualquier BD. Así que sirguió SQL1 en 1986 que poco después fue extendido en 1989 (SQL-89). Aunque la versión mas completita fue la siguiente la SQL-92 en la que se puede decir que es la madre de casi todos las bases de datos actuales. Y por ultimo hay dos versiones más SQL:1999 (extensiones de Orientación a Objetos y otros conceptos recientes) y SQL:2003.

Bueno hasta aquí este primer artículos los siguientes tratará sobre todo el tema de las consultas o selección de datos, modificación de datos , vistas y definición y alternación de datos.

CSSFly es un editor de webs online

editor de webs en lineaTe gustaría editar desde tu navegador cualquier archivo css y ver los cambios en el instante sin necesidad de descargarte ningún programa y realmente rápido. Pues gracias a CSSFly esto es posible, simplemente introducele una url de tu web o una de tus webs favoritas para poder cambiarle (solo en tu navegador) la hoja de estilos. Es muy sencillo de usar, una vez introduccida la url, te lleva a una página similar a la imagen de abajo, en el que como puedes ver, te muestra el código fuente una frame y tienes una pestaña por cada hoja de estilo, y en el frame de abajo puedes ver los cambios que realizaste en el código tanto del HTML como del CSS.

CSSFly
Visita CSSFly

Disponible script.aculo.us 1.7 beta 1

script.aculo.us

La conocida librería JavaScript script.aculo.us cuenta con una nueva versión 1.7, la cual podemos disfrutar desde ayer que fue lanzado el beta 1 en su blog oficial.

La nueva funcionalidad añadida es Morph, que permite estilos basados en CSS, disponen de una web con 3 ejemplos con un elemento, un efecto y una trasformación empleado las nuevas posibilidades de script.aculo.us.

Visto en Ajaxian

All Videos Plugin 2.2 – Agrega videos a tu portal Joomla!

allvideosYa está disponible la nueva versión de este genial plugin para Joomla!, que te permite incluir videos en tu sitio web de forma muy sencilla y rápida.

El plugin tiene soporte para una gran cantidad de servidores de video, incluyendo los más populares como YouTube, Google Video y Metacafe, y ahora también tiene la posibilidad de incluir videos alojados en tu propio servidor. Además, funciona con distintos tipos de archivos multimedia como .wmv, .swf, .mp3 y muchos más.

Este plugin es gratuito y lo pueden descargar desde el sitio oficial del desarrollador JoomlaWorks.