Me gustaria si alguien tiene un tutorial o haga uno pequeñito en este tema es que es una Opcion bastante buena cuando no se tiene Mysql, ademas me gustaria aprender a usarlo.
Ojala no sea el manual de Php Hispano.
Muchas Gracias.
| |||
fileSQL Me gustaria si alguien tiene un tutorial o haga uno pequeñito en este tema es que es una Opcion bastante buena cuando no se tiene Mysql, ademas me gustaria aprender a usarlo. Ojala no sea el manual de Php Hispano. Muchas Gracias.
__________________ Proximamente Rincon Ota on line. |
| |||
mm fileSQL? Te refieres a SQLite? Funciones desde PHP (5 en adelante) http://www.php.net/sqlite Manual oficial: http://sqlite.org/ Que tiene de malo ese tutorial que no quieres? .. lo has probado y tienes algún problema? .. Creo que si ya te has documentado al respecto (vistes su manual oficial?) .. si tienes algún problema concreto deberías hacer la pregunta más centrada (ya sea del código que pruebes o bien de algún "concepto") Un saludo, |
| |||
Mria noe s que sea malo es ue ya lo e leido trae un ejemplo y habla ques es muy similar a Mysql y no es SQlita es fileSQL Aqui el manual ¿Qué es? Todos sabemos lo aburrido que es manejar archivos de texto para guardar informacion: ( Usuarios online, contadores de visitas...) Y más aún si tenemos que insertar, extraer, actualizar o manipular de cualquier forma dicha información. FileSQL es un grupo de funciones que nos permitirán trabajar con archivos de texto mediante queries similares a los que haríamos a una base de datos como por ejemplo mySQL. De esta forma podremos aplicar cláusulas INSERT para insertar datos, UPDATE para actualizar, DELETE para borrar o SELECT para seleccionar determinados datos de nuestros archivos de texto. La idea es muy simple: Un directorio sería pues una base de datos. Cada archivo de ese directorio sería una tabla, y en ese archivo habría datos separados por ":" cada uno de ellos sería un campo. Sobre estos archivos podremos ejecutar los queries y manejar los resultados con las funciones equivalentes a mysql_*. Es decir: mysql_fetch_array seria file_fetch_array. Aparte tenemos file_query, file_num_rows, file_fetch_row, file_connect, file_close; y una funcion especial importSQL para importar los archivos .sql de phpmyadmin directamente al sistema fileSQL. ¿Cómo funciona? Para hacer funcionar fileSQL solo has de incluir el archivo fileSQL.php en tu script, y ya podrás empezar a manejar los datos de tus archivos. Debes crear un directorio nuevo con todos los permisos (su nombre sería el nombre de la bd). Dentro de ellos puedes crear los archivos de texto que quieras. Sin embargo para que fileSQL funcione ha de haber un archivo especial en cada directorio que él maneje llamado "fields.fql" donde se encuentra la definicion de los campos: Se ve mejor con un ejemplo: Contenido de fields.fql: # Archivo de campos de fileSQL # Formato: # archivo:campo1:campo2:campo3... # Ejemplo: # login.txt:nick:password:fecha usuarios.txt:nick:password:timestamp noticias.txt:autor:titulo:texto:fecha En este archivo se dice que tenemos 2 archivos de texto, noticias.txt y usuarios.txt con los campos que se dicen a continuacion separados por ":". El contenido de usuarios.txt podria ser el siguiente: Zerberus:Ax5visi0n:1087423944 thessoro:s3cr3t0:1084582347 Aeoris:mipassword:1073452348 spezial:n0sp00n:1086227216 Al igual, tendría que existir otro archivo llamado noticias.txt con el orden de campos declarado previamente en fields.fql Ejemplo de uso:
Código:
<?php include ("fileSQL.php"); // conectamos al directorio (notad el / final) // el directorio ha de tener permisos de escritura y lectura $conexion = file_connect("./files/"); //$query = "INSERT INTO archivo.txt (campo1,campo2,campo3) VALUES ('valor1','valor2','valor3')"; //$query = "INSERT INTO archivo.txt VALUES ('valor1','valor2','valor3','valor4')"; //$query = "DELETE FROM archivo.txt WHERE campo1 = 'valor' AND campo2 = 'valor2'"; //$query = "UPDATE archivo.txt set campo1='valor1', campo2='valor2', campo3='valor3' WHERE campo1 LIKE 'A%' AND campo2 <= 35"; //file_query($query,$conexion); //$query = "SELECT * from archivo.txt"; //$query = "SELECT * from archivo.txt ORDER BY RAND()"; //$query = "SELECT campo1,campo2 from archivo.txt WHERE (campo1 LIKE '%valor%' OR (campo2 < '3' AND campo2 = 'valor2) ORDER BY RAND() LIMIT 10"; //$query = "SELECT campo3 FROM archivo.txt ORDER BY campo1 DESC limit 2,3"; // equivalente a mysql_query, devuelve un identificador de resultado. $result_id = file_query($query,$conexion); echo "Numero de resultados : ".file_num_rows($result_id); // devuelve el numero de resultados // bucle para mostrar todos los resultados. file_fetch_array o file_fetch_row (sin claves asociativas) echo '<table>'; while ($datos = file_fetch_array($result_id)) { echo '<tr><td>'.$datos['campo1'].'</td><td>'.$datos['campo2'].'</td></tr>'; } echo '</table>'; file_close($conexion); ?> Limitaciones de fileSQL: Obviamente muchas, fileSQL no pretende sustituir a una base de datos compleja como mySQL (por ejemplo). No se puede ordenar por más de un campo a la vez: ORDER BY campo1 ASC, campo2 DESC <- No funcionará Nada de seleccionar en múltiples tablas: SELECT * from tabla1,tabla2 <- No funcionará La única función propia de MySQL que funciona es RAND() -> ORDER BY RAND() Otras como COUNT(*), MAX(campo), DATE_FORMAT... <- no funcionarán, para contar resultados podeis usar file_num_rows Las condiciones son bastante flexibles y pueden ser lo complejas que se quiera WHERE (campo1 ='valor' OR (campo1 like '%valor%' AND (campo3 != 'pepe' OR campo3 != 'luis))) ORDER... LIMIT... Sin embargo: El único comodín que funciona en la cláusula LIKE es '%' LIKE '%a%' LIKE '%a' LIKE 'a%' (o LIKE 'a' simplemente) La sentencia CREATE está por terminar, hasta ese momento, importSQL sólo funciona con un .sql con datos, y no con la estructura de las tablas (La tabla ha de estar previamente definida) OJO. FileSQL es case-insensitive por defecto: WHERE campo1='pepe' no coincidirá con PEPE (MySQL si). Usa WHERE campo1 LIKE 'pepe' en su lugar Operaciones matemáticas directamente sobre los campos no funcionan de momento (lo hará). UPDATE tabla set campo=campo+1 <- No funcionará Más limitaciones que no se me ocurren en este momento xD Créditos Se ha querido dar bastante flexibilidad en la sintaxis de los queries (espacios, sin espacios, con o sin comillas, cláusulas no sensibles a mayúsculas o minúsculas) y el número de queries que se pueden realizar en este momento es infinito. Por ello las tareas de debug fueron de vital importancia para detectar fallos y problemas (que seguirá habiendo, es inevitable. Por favor, reportadlos) en los queries. Debug: spezial. (Gracias por su debug exhaustivo) Debug: Aeoris ¬¬' bueno, algo hizo Idea y programación: thessoro Lo que queria ene ste post era saber si alguien tenia alguna nocion y nos pudiera explicar un pokito como funciona.
__________________ Proximamente Rincon Ota on line. |
| ||||
Creo qde lo que estas hablando es una clase si nos pones de donde la bajaste tal vez te podamos ayudar :) Cita: include ("fileSQL.php");
__________________ Usuario Registrado de linux #374849 |
| |||
Justamente SQLite es una versión "más completa" de ese tal "fileSQL" que muestras: trabaja con archivos planos pero accediendo con lenguaje SQL. (PHP 5 por ejemplo lo trae por defecto). Un saludo, |
| ||||
De aqui la saco
__________________ Solo por Hoy: Trataré de fortalecer mi mente. Estudiaré y aprenderé algo útil Hoteldipity Arte Caracol |