Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

FLASHMX2004 CLASS SQL (MYSQL & ACCESS) V5.5 (AVEC PHP)


Information sur la source

Catégorie :Base de données Niveau : Débutant Date de création : 05/06/2004 Date de mise à jour : 08/07/2004 14:14:22 Vu / téléchargé: 16 679 / 3 315

Note :
9,13 / 10 - par 15 personnes
9,13 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (38)
Ajouter un commentaire et/ou une note

Description

Cliquez pour voir la capture en taille normale
Salut,

Voici une nouvelle version de ma Class MySql, qui devient la Class Sql.
Connectez vous maitenant a une source de données MySql ou Access (attention dns enregistrer)
J'ai ajouter aussi une méthode 'format' ds la class pour encodé les chaine de caractère passé dans une requette, cette méthode vous permet d'evidé des problemes d'encodage sur des caratères comme %, ' et ".
le décodége et automatique lors que la recupération des resultat.

Pour interroger un server MySql ou une base access depuis FlashXM2004, en utilisant un script php.
Aucune modification a apporter au script php.

Utilisation simple :
1) on creer un objet MySql
2) on definie une fonction pour traiter le retour de données (class ResultSet incluse)
3) on execute une commande sql.

2 fonctions utils, 1 pour lister les bases de données sur le serveur, et 1 pour lister les tables ('show tables') d'une base de donnée.

Ce code est bien sur libre de droit, modifier le à volonté, mais se serait cool de me tenir au courant d'evolutions importantes et interressantes ... :)


 

Source

  • y'a un exemple dans le zip en plus de ceci :
  • // Importer les class
  • import Class.Sql;
  • // créer un nouvel objet Sql
  • var sql:Sql = new Sql("http://localhost/_FlashPhp/sql.php"); // ou en chemin relatif bien sur Sql("sql.php");
  • sql.showtime = true;
  • // tout d'abord les données de connexion
  • sql.type = "odbc"; // mysql ou odbc.
  • sql.host = "localhost"; // uniquement pour mysql
  • sql.login = "root";
  • sql.mdp = "";
  • // ensuite la base de donnée a selectionner
  • //sql.dbname = "test"; //mysql test
  • sql.dbname = "FlashSqlODBC"; //odbc test
  • // ensuite definisez la méthode d'analyse de retour serveur :
  • sql.onResult = function(rs){
  • if (rs.isError()){
  • trace rs.getError();
  • return;
  • }
  • ...
  • votre code
  • ...
  • }
  • // puis invoqué une methode pour le serveur, soit un requette sql, soit une des 2 fonctions listeBases, listeTables
  • sql.listeDB(); // lister les base du server mysql uniquement
  • sql.listeTables(); // lister les tables d'un db
  • sql.execute ("select * from test1");
  • // utiliser sql.format(string) pour formater du text pour transmission http
  • var q = "insert into table1 (login) values ('";
  • q += sql.format("c'est + - * / = comment ?\"racontes % moi");
  • q += "')";
  • sql.execute(q);
  • // q est alors egal à : insert into table1 (login) values("c& &pl; * / = comment ? &damp; racontes &pc; moi");
  • // lors du retour de resultats, utiliser la methode onResult(rs), rs etat les resultset renvoyé et parsé.
  • // ResultSet comporte les proprietes suivantes :
  • rs.rowCount > nb resultats
  • rs.columnCount > nb colonnes
  • rs.columnNames > tableau contenant les entetes du resultat
  • rs.columnTypes > renvois un tableau des types de champ de la base
  • rs.getRow(numRow) > renvois la ligne de resultat demandé (ss forme de tableau)
y'a un exemple dans le zip en plus de ceci :

// Importer les class
import Class.Sql;

// créer un nouvel objet Sql
var sql:Sql = new Sql("http://localhost/_FlashPhp/sql.php");  // ou en chemin relatif bien sur Sql("sql.php");
sql.showtime = true;

// tout d'abord les données de connexion
sql.type = "odbc"; 	// mysql ou odbc.
sql.host = "localhost"; // uniquement pour mysql
sql.login = "root";
sql.mdp = "";

// ensuite la base de donnée a selectionner
//sql.dbname = "test"; 		//mysql test
sql.dbname = "FlashSqlODBC"; 	//odbc test

// ensuite definisez la méthode d'analyse de retour serveur :
sql.onResult = function(rs){
    if (rs.isError()){
        trace rs.getError();
        return;
    }
    ...
    votre code
    ...
}

// puis invoqué une methode pour le serveur, soit un requette sql, soit une des 2 fonctions listeBases, listeTables
sql.listeDB(); 		// lister les base du server mysql uniquement
sql.listeTables(); 	// lister les tables d'un db
sql.execute ("select * from test1");

// utiliser sql.format(string) pour formater du text pour transmission http
var q = "insert into table1 (login) values ('";
q += sql.format("c'est + - * / = comment ?\"racontes % moi");
q += "')";
sql.execute(q);
// q est alors egal à : insert into table1 (login) values("c& &pl; * / = comment ? &damp; racontes &pc; moi");


// lors du retour de resultats, utiliser la methode onResult(rs), rs etat les resultset renvoyé et parsé.
// ResultSet comporte les proprietes suivantes :
rs.rowCount > nb resultats
rs.columnCount > nb colonnes
rs.columnNames > tableau contenant les entetes du resultat
rs.columnTypes > renvois un tableau des types de champ de la base
rs.getRow(numRow) > renvois la ligne de resultat demandé (ss forme de tableau)

Conclusion

je pense que j'ai a peu pres tt mis ...
Bon developpement ...
Pensez a me proposer vos idées d'améliorations possible, bug constatés, ...
contact mail : benjamin@kolapsis.net
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Commentaires et avis

signaler à un administrateur
Commentaire de SuperDevy le 05/06/2004 08:29:51

Géant ! Et si en plus ça marche, c'est du bonheur...

J'était avide d'une telle source, moi qui n'arrive pas à comprendre le fonctionnement de MySQL.

Malheureusement, je n'ai pas MX 2004 et je suppose que ça peut pas marcher avec MX ! ;-[

signaler à un administrateur
Commentaire de top30 le 05/06/2004 14:35:53

C'est super bon.. Ton approche est quasi la même que la mienne. Toi tu balance le query totale ment "Stringé" et retourne un tableau... C'est une bonne approche... La mienne tu construit le Query en flash genre...
maRequete = new Query (server) ;
maRequete.select ("variable");
maRequete.where ("ID, 0, 9);
maRequete.consult (dataBase);

Et ca me retourne un XML... Je te tire mon chapeau car moi des Class comme ca je prefere les garder pour moi (Egoiste ??? Ou la sensation de voir s'echapper un gros travail t appartenant???)...

J ai mis 9 ! Encore bravo !

signaler à un administrateur
Commentaire de LocalStone le 06/06/2004 14:43:32

Bon, bah vous m'avez convaincu, tous, là. Je me lance dans l'ActionScript 2.0. Merci !

signaler à un administrateur
Commentaire de djawel le 06/06/2004 15:20:14

bô boulot

signaler à un administrateur
Commentaire de BlackWizzard le 09/06/2004 17:08:58 administrateur CS

tres bon boulot :)
9/10
bienvenue sur le site ;)

signaler à un administrateur
Commentaire de BlackWizzard le 09/06/2004 17:14:49 administrateur CS

au fait, quel status pour ta boite? EI? EURL?

signaler à un administrateur
Commentaire de fonetiklilian le 13/04/2005 08:58:52

Bonjour,

Pour ma part... Aucune des actions ne fonctionne... J'ai toujour "indéfini" dans la zone de texte... Pourtant mes parametres sont ok pour moi avec easyPhp:

sql.type = "mysql"; // mysql ou odbc.
sql.host = "localhost"; // uniquement pour mysql
sql.login = "root";
sql.mdp = "";

Quelqu'un a t'il une piste de recherche...

Merci et bonne journée

signaler à un administrateur
Commentaire de _benjy le 13/04/2005 11:33:48

Ben j'sais pas
genre t'es sur de bien appelé le script php ?
var sql:Sql = new Sql("http://localhost/repertoire/sql.php") // mettre localhost pour fonctionnement direct depuis flash, sinon flash lis le fichier php en local et forcement ca marche pas

mais sinon j'ai retelechargé ma sources, elle fonctionne, c forcement toi qui t'es planté par là

met ton code au complet que je puisse voir

++

_benjy

signaler à un administrateur
Commentaire de fonetiklilian le 14/04/2005 10:19:50

Merci c'est sympa...

// Importer les class
import Class.Sql;

Resultats.border = true;

// créer un nouvel objet Sql
var sql:Sql = new Sql("http://127.0.0.1/flash/connection/class sql/sql.php");  // ou en chemin relatif bien sur Sql("sql.php");
sql.showtime = true;

//////////////////////////////////////////////////////////////////////////////////////////////////////////
// tout d'abord les données de connexion
sql.type = "mysql"; // mysql ou odbc.
sql.host = "localhost"; // uniquement pour mysql
sql.login = "root";
sql.mdp = "";

//////////////////////////////////////////////////////////////////////////////////////////////////////////
// ensuite la base de donnée a selectionner
sql.dbname = "fanou"; //mysql test
//sql.dbname = "FlashSqlODBC"; //odbc test

//////////////////////////////////////////////////////////////////////////////////////////////////////////
// ou lister les bases de données du serveur mySql.
function listerlesbase(){
sql.onResult = function(dbs){
if (dbs.isError()){
Resultats.text = dbs.getError();
return;
trace ("jfjsldkjflsdkfj");
}
// voici les resultats retourné dans un objet ResultSet
// nom du champ renvoyé : 'database'
Resultats.text = "Liste des base de données du serveur :";
for (var i=0; i<dbs.rowCount; i++){
Resultats.text += "\n\t"+dbs.getRow(i).database;
}
}
sql.listeDB();
}

//////////////////////////////////////////////////////////////////////////////////////////////////////////
// Vous pouvez lister les tables de la base en cours, ou d'une autre en la spécifiant comme argument.
function listerlestables(){
sql.onResult = function(tables){
if (tables.isError()){
Resultats.text = tables.getError();
return;
}
// voici le liste des tables de la base en cours ou spésifié;
// attention cette commande change la base en cours.
// nom du champ renvoyé : 'table'
Resultats.text = "Liste des tables : ";
for (var i=0; i<tables.rowCount; i++){
Resultats.text += "\n\t"+tables.getRow(i).table;
}
}
sql.listeTables();
//sql.listeTables(db);
}

//////////////////////////////////////////////////////////////////////////////////////////////////////////
// executer toute requete sql.
function requetesql(qry){
sql.onResult = function(rs){
if (rs.isError()){
Resultats.text = rs.getError();
return;
}
if (rs.rowCount == 0){
Resultats.text = "Aucun resultat";
} else if (rs.rowCount > 0){
Resultats.text = "Données chargés";
Resultats.text += "\nRésultat de votre requête : ";
for (var i=0; i<rs.rowCount; i++){
Resultats.text += "\n\tRS "+(i+1);
for (var j=0; j<rs.columnNames.length; j++){
Resultats.text += "\n\t\t"+rs.columnNames[j]+" : "+rs.getRow(i)[rs.columnNames[j]];
}
}
} else if (rs.success == true){
Resultats.text = "Requête éxécuté avec succes !";
}
}
sql.execute(qry);
}

listerlesbase_btn.onRelease = listerlesbase;
listerlestables_btn.onRelease = listerlestables;
requetesql_btn.onRelease = function(){
requetesql("select * from table1");
}
insertsql_btn.onRelease = function(){
if (sql.type == "mysql"){
var q = "insert into table1 set login='";
q += sql.format("c'est + - * / = comment ?\"racontes % moi");
q += "'";
} else {
var q = "insert into table1 (login) values ('";
q += sql.format("c'est + - * / = comment ?\"racontes % moi");
q += "')";
}
requetesql(q);
}


//////////////////////////////////////////////////////////////////////////////////////////////////////////
// optionnellement definisé une fonction pour l'activité du serveur.
sql.onActivity = function(etat){
trace ("activité : "+etat);
}

Voili voilo


signaler à un administrateur
Commentaire de _benjy le 14/04/2005 15:03:20

ben vu que c un copier collé de mon code ca marche (chez moi et chez tt les autre il marche,
le seul truc c que je vois de diff c ton espace dans le chemin du php au tt debut
tu sais que sur le nt on evite les espace dans les nom de fichier ou dossier kan mm ?
essais de changer ca ... car sinon je vois pas tt parait nikel

++

signaler à un administrateur
Commentaire de top30 le 14/04/2005 19:58:35

Y a comme un problème...
C est qu'avec un décompileur, on récupère toutes les infos nécessaire pour un piratage en bon et du forme de tes bases de données. Et oui, le nom de la base et son login sont dans le SWF !!!

Il faut que tu ajouts une classe.
Une classe SQL appelle un "SQLconnection", qui elle ira chercher via un PHP, si l'utlisateur peut se connecter ou non. Le log retournant juste un "true" ou "false", et de cette réponse du lance ta requete ( ou non ) ...

Toi tu fais : SWF > PHP > SQL > PHP > SWF
Il faut que tu fasse :
SWF > PHP [VERIFICATION DES DONNEES] > SWF puis si ok, SWF > PHP > SQL > PHP > SWF

Suis je claire ? En tout cas la mienne fonctionne comme ceci...

signaler à un administrateur
Commentaire de _benjy le 15/04/2005 11:22:30

alors 2 solutions pour les données sencibles
1 - soit tu crypt ton swf avec SWFCrypt (je crois que ct ca le nom) qui encode tt le swf (marche tjs aussi bien mais indecompilable) mais fo acheté un licence en plus c pas top
2 - tu met les info de connexion a la DB en dur ds la php (sql.php) et voilacth (vo bidouillé ma class pour enlevé les var de connexion dans se cas)

++
_benjy

signaler à un administrateur
Commentaire de lemage77 le 24/06/2005 11:26:16

j'ai installé wamp5 pour tester en local et je fais quoi je suis newbie la dedans comment je peux tester cela etbesoin d'aide pour faire fonctionner

help me

lemage

signaler à un administrateur
Commentaire de vincseize le 07/07/2005 14:54:45

Un bravo de Blackwizzard , ca c est la classe !!!!

signaler à un administrateur
Commentaire de _benjy le 07/07/2005 15:01:08

merci Blackwizzard :)

_benjy

signaler à un administrateur
Commentaire de vincseize le 08/07/2005 01:29:47

pareil ca marche pas .... hum
faut il preciser l import des as   à l exportation du flash !?
thx pour la reponse ....

Le code :


// Importer les class
import Class.Sql;

Resultats.border = true;

// créer un nouvel objet Sql
var sql:Sql = new Sql("http://localhost/RD/mysql/flashkod_classMysql/sql.php/");  // ou en chemin relatif bien sur Sql("sql.php");
sql.showtime = true;

//////////////////////////////////////////////////////////////////////////////////////////////////////////
// tout d'abord les données de connexion
sql.type = "mysql"; // mysql ou odbc.
sql.host = "localhost"; // uniquement pour mysql
sql.login = "root";
sql.mdp = "";

//////////////////////////////////////////////////////////////////////////////////////////////////////////
// ensuite la base de donnée a selectionner
sql.dbname = "nymky"; //mysql test
//sql.dbname = "FlashSqlODBC"; //odbc test

//////////////////////////////////////////////////////////////////////////////////////////////////////////
// ou lister les bases de données du serveur mySql.
function listerlesbase(){
sql.onResult = function(dbs){
if (dbs.isError()){
Resultats.text = dbs.getError();
return;
}
// voici les resultats retourné dans un objet ResultSet
// nom du champ renvoyé : 'database'
Resultats.text = "Liste des base de données du serveur :";
for (var i=0; i<dbs.rowCount; i++){
Resultats.text += "\n\t"+dbs.getRow(i).database;
}
}
sql.listeDB();
}

//////////////////////////////////////////////////////////////////////////////////////////////////////////
// Vous pouvez lister les tables de la base en cours, ou d'une autre en la spécifiant comme argument.
function listerlestables(){
sql.onResult = function(tables){
if (tables.isError()){
Resultats.text = tables.getError();
return;
}
// voici le liste des tables de la base en cours ou spésifié;
// attention cette commande change la base en cours.
// nom du champ renvoyé : 'table'
Resultats.text = "Liste des tables : ";
for (var i=0; i<tables.rowCount; i++){
Resultats.text += "\n\t"+tables.getRow(i).table;
}
}
sql.listeTables();
//sql.listeTables(db);
}

//////////////////////////////////////////////////////////////////////////////////////////////////////////
// executer toute requete sql.
function requetesql(qry){
sql.onResult = function(rs){
if (rs.isError()){
Resultats.text = rs.getError();
return;
}
if (rs.rowCount == 0){
Resultats.text = "Aucun resultat";
} else if (rs.rowCount > 0){
Resultats.text = "Données chargés";
Resultats.text += "\nRésultat de votre requête : ";
for (var i=0; i<rs.rowCount; i++){
Resultats.text += "\n\tRS "+(i+1);
for (var j=0; j<rs.columnNames.length; j++){
Resultats.text += "\n\t\t"+rs.columnNames[j]+" : "+rs.getRow(i)[rs.columnNames[j]];
}
}
} else if (rs.success == true){
Resultats.text = "Requête éxécuté avec succes !";
}
}
sql.execute(qry);
}

listerlesbase_btn.onRelease = listerlesbase;
listerlestables_btn.onRelease = listerlestables;
requetesql_btn.onRelease = function(){
requetesql("select * from table1");
}
insertsql_btn.onRelease = function(){
if (sql.type == "mysql"){
var q = "insert into table1 set login='";
q += sql.format("c'est + - * / = comment ?\"racontes % moi");
q += "'";
} else {
var q = "insert into table1 (login) values ('";
q += sql.format("c'est + - * / = comment ?\"racontes % moi");
q += "')";
}
requetesql(q);
}


//////////////////////////////////////////////////////////////////////////////////////////////////////////
// optionnellement definisé une fonction pour l'activité du serveur.
sql.onActivity = function(etat){
trace ("activité : "+etat);
}

signaler à un administrateur
Commentaire de _benjy le 08/07/2005 12:11:58

ohlalala, t'es pas un peu fous de tt copier comme ca ...
c koi le prob plutot que dire que ca marche pas, dis où, quand et comment ...
moi elle marche partout cette class ...

signaler à un administrateur
Commentaire de vincseize le 08/07/2005 14:11:07

excuse , effectivement c est un peu brute de ma part !

en fait c'est comme       fonetiklilian      au dessus qui a eu le meme probleme que moi apperement :

ca me fait 'indefini' comme reponse à chaque fois ...


je te file mon msn si tu le souhaites !

signaler à un administrateur
Commentaire de _benjy le 08/07/2005 14:19:41

Nan mais fo regarder avant de dire que ca marche pas
dans ton copier collé de malade là haut t'as ecrit :
new Sql("http://localhost/RD/mysql/flashkod_classMysql/sql.php/");
tu crois vraiment que le / a la fin il gene pas ????
les erreur indefini c'est kan la class ne trouve pas le gateway généralement
et la avec le slashe a la fin, cherche pas plus loin !!!

signaler à un administrateur
Commentaire de vincseize le 08/07/2005 15:02:35

excuses moi, effectivement je ne devrais pas dire que cela ne marche pas, mais plutot que je n arrive pas à le configurer ...

en ce qui concerne
new Sql("http://localhost/RD/mysql/flashkod_classMysql/sql.php/");

j avais déja essayé justement sans le slash, et c'était pareil ...

- je suis bien en MX2004
- je ne fais aucun import d as au moment de la compilation
- mon serveur apache est à jour ...

je vais voir du côté du gateaway.php , bien vérifier qu il a les droits en chmod 777 déja ...

signaler à un administrateur
Commentaire de _benjy le 08/07/2005 15:09:12

a noté que c'est pour une version PHP 4.2.0
si tu est en version supp il faut modifier le sql.php pour qu'il récup bien les variables en POST envoyé par Flash
$variable ne marche pas en PHP > à 4.2.0
il faut $POST["variable"]
ou mettre un script qui met en global les vars de POST
++
_benjy

signaler à un administrateur
Commentaire de vincseize le 09/07/2005 02:29:16

WAZAAAAAA   ca marche ...
effectivement il faut que la version d apache soit inferieur à 4.2.0,
donc j ai reinstaller un easyphp 1.6

bravo benjy ...
a voir si j arrive à modifier le php , pour qu il recupere TOUTES les variables en POST à moins que t ai déja prévu une version pour apache > 4.2

thx   je met 10/10

PS:  préciseras que c'est pour une version anterieur à php 4.2 dans l entête? tu te ramasseras  plus de 10/10 encore

signaler à un administrateur
Commentaire de ombr0 le 10/10/2005 19:41:35

Je suis désoler d'avoir copier cette source lol j'ai créer une version plus simple , qui est déstiné a ce qui veulent aprendre :P sans rancunes ???

signaler à un administrateur
Commentaire de _benjy le 10/10/2005 19:47:21

LOL mais nan ss rancunes, juste ca me fait rire ... :)

signaler à un administrateur
Commentaire de la_ptite_85 le 27/01/2006 22:08:58

J'essaye de m'en servir...mais c'était peut-être un peu ambitieux de mettre cette source en niveau débutant!!! pasque moi je débute, et je pige pas grand chose lol

signaler à un administrateur
Commentaire de _benjy le 28/01/2006 16:10:43

l'uilisation en est pourtant simple, comme l'uilisation d'un objet son
bon c sur faut quelque notions d'AS2 (de prog objet surtout), mais sinon c pas tres compliqué (a utiliser pas forcement a refaire LOL)
je reste a dispo pour les questions d'utilisation
++
(ps : en mp, si ca vaut pas le coup pour tt le monde)

signaler à un administrateur
Commentaire de 13wxcvbn le 20/03/2006 16:58:09

Si t a dispo alors profitons en ....toujours le pb de "indefinie" apparament j'ai pas le niveau...moi je veux rester avec PHP 1.8 donc g voulu faire comme t'as dit avec le POST mais j'y arrive pas plus...ou encore g tenté de passer $typebase, $sqldbname, $sqlpass, et $sqlloginb en dur mais marche pas non plus....
As tu un eclaircissement a me fournir c serait
cool????

signaler à un administrateur
Commentaire de _benjy le 22/03/2006 22:08:33

j'utilise plus cette class depuis des plombes en fait, je m'en suis fait un composant (trouvable là : http://composants.kolapsis.net)
pour php c du php 4 mais bon en mm temps c juste l'utilisation de mysql_... existant aussi sous 1.8
pour récup les var je sais que sur certain serveur (selon la config) faut mettre
extract($HTTP_POST_VARS);
pour recup les données envoyer au script
++

signaler à un administrateur
Commentaire de gfpl le 01/11/2006 11:58:11

super source vraimment rien a dire
ke cherchias justement ca un grand merci pour ca et le boulot que ca t as demander

perso parfois j ai le probleme pour la recuperation de variable et le seul truc qui passe c est loadVariablesNum("/index.php?page=login&username="+(username)+...

sinon ca passe pas

signaler à un administrateur
Commentaire de victorcoasne le 02/09/2007 20:45:51

10/10 !

signaler à un administrateur
Commentaire de ajoucadou le 02/12/2007 00:36:27 9/10

Ce script a l'air bien, mais j'ai aussi l'erreur "indéfini"... et je suis en version php > 4.2
Quelqu'un aurait il le fichier sql.php mis à jour ?

signaler à un administrateur
Commentaire de proffial le 28/12/2007 01:00:08

Bonjour,
bravo pour le script,

Cependant, y'as des trucs qui me choquent dans ton exemple.

Moi personnellement, je ferais la chose suivante :

Création d'une classe mere : Connect_SQL
avec les infos suivante
# sql.type = "odbc"; // mysql ou odbc.
# sql.host = "localhost"; // uniquement pour mysql
# sql.login = "root";
# sql.mdp = "";
....

avec potentiellement les fonctions suivante
# sql.listeDB(); // lister les base du server mysql uniquement
# sql.listeTables(); // lister les tables d'un db
....

Ensuite je réaliserait une classe fille sql_order
qui hérite tout de la classe mere,
Comme çà on a pas a tout redefinir a chaque fois que l'on créé un Ordre SQL

et je definierais les fonctions suivante pour la classe sql_order
# order > l'ordre SQL
# error > pour la gestion de l'erreur
# rowCount > nb resultats
# columnCount > nb colonnes
# columnNames > tableau contenant les entetes du resultat
# columnTypes > renvois un tableau des types de champ de la base
# getRow(numRow)
# getCells(numRow,columnNames)

Voir le top du top créer a nouveau une classe Row
avec en parent la classe Order

pour pouvoir faire un code dans le genre

var sql_order:Sql_order = new Sql("http://localhost/_FlashPhp/sql_order.php");

sql_order.order =('SELECT id,name,champ4 from tatable');

for $i = 0 to sql_order.rowCount
{
echo sql_order.getrow($i).getcolumname('champ4');
}


voir un
for &i = 0 to sql_order.rowCount
{
for &j = 0 to sql_order.columnCount
echo sql_order.getrow(&i).getcolumnum(&j);
}


Si t'arrives a faire ca, ta source sera le top du top, et risque d'être très utilisée.

signaler à un administrateur
Commentaire de _benjy le 28/12/2007 10:54:06

LOL merci bien, mais si tu regardes de plus près cette source date de 2004, et est en AS2 (héritage au balbusiment dans flash).
Et now en AS3, c'est tout autre chose, peux être que je mettrais un jour ma classe sql AS3...
++
_benjy

signaler à un administrateur
Commentaire de proffial le 28/12/2007 14:56:38

;-) ca tombe bien, je paris que tu ne savais pas quoi faire de ton premier janvier ;-)

signaler à un administrateur
Commentaire de _benjy le 28/12/2007 16:51:18

ouaip voilà, plutot que de faire la fete je vais rester et préparer ca... puis quoi encore LOL

signaler à un administrateur
Commentaire de SuperDevy le 28/12/2007 17:32:03

C'est du suicide cette source !
1. Login/mdp de la base de données sont accessibles par n'importe qui (une simple décompilation et hop)
2. Elle permet de faire n'importe quelle requête par n'importe qui. "DELETE FROM xxx" par exemple ...

Faut vraiment être fou pour l'utiliser sur un site internet.

signaler à un administrateur
Commentaire de gfpl le 28/12/2007 18:05:58

SuperDevy c'est a titre de demo pour montrer comment faire une requete entre flash sql php

tu peut prendre ces info depuis php ;)

signaler à un administrateur
Commentaire de _benjy le 30/12/2007 13:08:18

j'avoue qu'elle soit completement ouverte c'est pas top, mais pour ma défence à l'epoque ou je l'ai faite, il n'y avait qu'un décompileur qui fonctionné, et perso je re-encodais mes swf avec swfencode (ce qui rendez la décompilation impossible)...
mais il est clair que c'est surtout les info de connexion à la db dans le swf qui crainent, now moi je les met plus dans le swf mais juste dans php (que lui on peu pas recup)...
pour finir pas de prob de delete ou autre alter sur mes tables parce que j'ai tjs plusieur user sur mes base de données, dont 1 pour flash qui fait que la lecture...
voilou voilou
++

Ajouter un commentaire



Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 1,030 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.