cargar datos en flash desde un xml externo 0

Hora y Fecha: 28 de Mayo de 2007 a las 11:55 am Autor: jorge albaladejo
Categorías:

Cuando trabajamos con aplicaciones en flash y queremos que conecten con bases de datos para mostrar catálogos de productos, noticias, etc., la mejor forma de hacerlo es mediante el paso de mensajes en formato xml. Leemos de servicios web correctamente formateados en xml, y después mostraremos los datos según nos convenga en la aplicación flash.

Partimos de un archivo xml correctamente formateado, bien estático y alojado en cualquier carpeta del servidor, bien una url a una pasarela php que previamente lea los datos de una base de datos y después los muestre en xml. Vamos a necesitar tres cosas: un objeto LoadVars, un objeto XML y conocer la estructura de los nodos xml para poderlos recorrer correctamente.

(more…)



formateado de datos en xml 1

Hora y Fecha: 26 de Mayo de 2007 a las 9:32 pm Autor: jorge albaladejo
Categorías:

Ahora que ya he explicado cómo crear una clase en php para leer datos de una base de datos, y que también conocemos las bases del lenguaje xml, vamos a crear una clase para formatear estos datos en xml. De este modo, podremos compartir datos entre distintos tipos de aplicaciones, sin necesidad de tener acceso al servidor de bases de datos más que en una de ellas: la pasarela de datos.

Una vez formateamos en correcto xml, podemos ofrecer un documento como xml puro para aplicaciones externas que quieran utilizar nuestros datos, o un rss estándar para que nuestros visitantes sincronicen las noticias del sitio; podemos también ofrecer un servicio soap para aplicaciones que no sólo precisen nuestros datos sino también funciones y servicios avanzados; o podemos simplemente adjuntar una hoja de estilos xls y mostrar nuestro documento en un navegador, como lo haríamos con xhtml y css. Bastante útil, ¿no?
(more…)



clase dbhandler para manejar datos de una base de datos 1

Hora y Fecha: 24 de Mayo de 2007 a las 9:34 am Autor: jorge albaladejo
Categorías:

Hemos visto en publicaciones anteriores cómo conectar a una base de datos mysql desde php, y cómo usar la función mysql_query para consultar datos. También hemos visto algunas nociones de seguridad en scripts y aplicaciones php. Ahora vamos a ver cómo encapsular estas funciones en una práctica clase que nos permitirá instanciar objetos dbhandler y trabajar cómodamente con ellos.

Parto de que el lector tiene al menos una ligera idea del paradigma de la Programación Orientada a Objetos. Básicamente, un clase es un molde que tiene ciertas peculiaridades como métodos y atributos, que pueden ser públicos (de libre acceso) o privados (sólo accesibles dentro de la propia clase). Con esta clase, se pueden instanciar objetos pertenecientes a dicha clase. si estuviéramos en la arena de la playa con un cubo, el cubo sería la clase, y las torres de arena serían los objetos o instancias del cubo de playa.

(more…)



seguridad en scripts y aplicaciones php 1

Hora y Fecha: 21 de Mayo de 2007 a las 10:24 am Autor: jorge albaladejo
Categorías:

Hemos visto en publicaciones anteriores cómo conectar a una base de datos mysql desde php, y cómo usar la función mysql_query para consultar datos.

Ahora vamos a hablar de seguridad en php. La aparente sencillez de uso de php muchas veces oculta su potencia, y no tener en cuenta ciertos detalles puede hacer que nuestra aplicación se vaya al traste con un solo ‘click’. Recordemos nuestra anterior función readTable

/* consulta los campos seleccionados de una tabla concreta de la base de datos
*@param table la tabla concreta
*@param fields los campos a consultar
*/
function readTable($table,$fields,$identifier)
{
//variables
$resultsArray = array();
//campos
$fieldsList = "";
foreach($fields as $key=>$value)
{
$fieldsList .= $value . ",";
}
//quitamos la última coma
$fieldsList = substr($fieldsList,0,strlen($fieldsList)-1);
//consulta
$query = "SELECT " . $fieldsList . " FROM " . $table;
$resultset = @mysql_query($query,$identifier);
if (@mysql_num_rows($resultset) > 0)
{
$i = 0;
while ($result = mysql_fetch_array($resultset))
{
$resultsArray[$i] = $result ;
$i++;
}
}
return($resultsArray);
}

Resumiendo, la llamada a la función readTable(’superheroes’,$fields,$token); podría permitir ejecutar código sql que no deseamos, y que podría dejar al aire nuestra aplicación.

(more…)



lectura de datos de una base de datos 0

Hora y Fecha: 19 de Mayo de 2007 a las 8:06 pm Autor: jorge albaladejo
Categorías:

Ya he explicado en otro post cómo conectar a una base de datos mysql desde php. Ahora voy a explicar cómo trabajar con esta base de datos, en concreto mostrar los datos de una tabla.

Parto de la premisa de que se ha aprendido a utilizar el script anteriormente citado para la conexión y selección de base de datos, y que se ha configurado correctamente para acceder a una BD donde existe la tabla ’superheroes’, con los campos ‘id’, ‘name’, ’special_powers’.

Vamos allá : leemos los datos de la tabla. Para ello, usamos la función php mysql_query(); para ejecutar código sql en el servidor de bases de datos. Vamos a leer los campos importantes (en este caso, los tres) de la tabla superheroes.

$query = "SELECT id, name, special_powers FROM superheroes";
$resultset = @mysql_query($query,$identifier);
if (@mysql_num_rows($resultset) > 0)
{
while ($result = mysql_fetch_array($resultset))
{
echo $result['id'] . ' | ' . $result['name'] . ' | ' . $result['special_powers'] . '<br />' ;
}
}

(more…)



conexión a una base de datos mysql 3

Hora y Fecha: 18 de Mayo de 2007 a las 11:23 pm Autor: jorge albaladejo
Categorías:

El primer paso para trabajar con scripts y aplicaciones en php que conectan con bases de datos mysql, es crear una conexión. Una conexión en php devuelve un identificador que será utilizado para cada transacción, consulta, etc, que se realice sobre la base de datos.

Para comenzar, hacen falta tres datos del proveedor de servicios de alojamiento: nombre de la base de datos, nombre de usuario y contraseña de acceso. En php desde la versión 3 existe la función mysql_connect();

mysql_connect($host,$usuario,$clave);

(more…)