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 !

DBOC 1.6 [PHP5]


Information sur la source

Catégorie :Class et Objet ( POO ) Classé sous : générateur, classes, mysql, php5, poo Niveau : Initié Date de création : 29/06/2007 Date de mise à jour : 04/06/2008 16:25:55 Vu / téléchargé: 8 237 / 8 604

Note :
10 / 10 - par 5 personnes
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

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

Description

Mercredi 4 juin 2008

Passage à la version 2.0 du DBOC en Ajax ici :
http://www.phpcs.com/codes/DBOC-AJAX-PHP5_46882.aspx

//-----------------------------------------------------------------
Vendredi 8 février 2008

Ajout d'un setter dans le DBM : setSql($sql);
Ajout d'une nouvelle fonction : toxml();
retourne l'instance en cours au format xml

Ajout d'un exemple de DBM version Singleton SingletonDBM (Non utilisé) avec sa page de test test_dbm_singleton.php
//-----------------------------------------------------------------
Bonjour,
mardi 22 août 2007 : Mise à jour

Suite à un souci de copie de certains fichier à cause de la création non récursive des répertoire avec mkdir on pouvais
avoir une liste d'erreurs importante du à des essai de copie de fichier dans le dossier de test.
Si ce dossier n'existe pas il devait être automatiquement créé avec un sous dossier class : ./test/class.
J'ai donc rajouté une page suplémentaire : init qui créé les dossiers correctements et copie automatiquement les fichiers necessaires au bon endroit.
Pour ceux qui on eu les erreurs avant cette mise à jour crééz un dossier "test" contenant un sous dossier "class" à la racine et les classes générées se copirons correctement.

---------------------------------------------------------------------------------------------------
mardi 21 août 2007 : Mise à jour importante du DBOC
#Bug corrigé par le membre fs074995 (Merci ! :) )
Un preg_match à été rajouté dans la classe DBM pour n'affecter le nombre de lignes d'une requete qu'en cas de
SELECT ou de SHOW car sinon sa posais problème.

-> Désormais les 3 classes 'myException.php,DBM.php et iDataBaseClass.php seront automatiquement copiée dans votre dossier contenant les classes (CLASS_PATH défini avant le test ou par défaut le dossier test).
-> Légère amélioration de la présentation graphique, bon ce n'est pas une oeuvre d'art sa c'est sur car ce n'est pas le
but mais bon c'est quand même un peu plus agréable qu'avant :p

#Nouvelle fonction

-> Ajout d'une nouvelle fonction statique : find(champ_table,operateur,valeur,tri_par,ordre_tri)
Cette fonction est une idée du membre fs074995 (que je remercie pour cette exelente idée) qui m'a envoyé son code que j'ai modifié à ma sauce, cette fonction permet d'exécuter une requète de comparaison, sa se traduirai par : trouve moi les enregistrements de ma table tels que le champ est égal ou contient, commence, fini par la valeur trié sur le champ x ascendant ou descendant.

#Nouvelles options

-> Une nouvelle option vous permet de modifier automatiquement la classe DBM, cela va écrire (normalement correctement)
le nom de la base à laquelle vous vous êtes connecté dans la variable de connexion $DB_NAME (cela vous évitera d'avoir a le faire manuellement)
-> Ecriture de la fonction __call() qui permet de surcharger des fonction mais apparement seulement dans un contexte d'instance, j'ai essayé en vain de surcharger une fonction statique sans résultat si quelqu'un peu m'expliquer comment faire je suis prenneur :) C'est facultatif mais sa peu être interessant.

#Dossier help

Ce dossier contient des screen qui vous montre le déroulement de la génération avec la base "mysql" ainsi que le résultat d'un test de fonction. Avec sa vous devriez pas avoir de difficultés à utiliser le DBOC.

Voila pour cette mise à jour, je remarcie tout ceux qui m'on félicité ou encouragé à continuer ce mini générateur ainsi
que encore une fois fs074995 qui est à l'origine de cette mise à jour ;))

---------------------------------------------------------------------------------------------------
mardi 3 juillet 2007 : Grosse mise à jour de la source rendant obsolète la version précédante :

Indentification d'un bug javascript si vous n'êtes pas sous ie7 ou ff2 : le formulaire de test ne se valide pas je vous invite donc à enlever la fonction
javscript qui teste que vous avez bien entré vos champs si vous n'êtes pas sous les 2 navigateurs ci dessus) en transformant le bouton de validation en bouton de type 'submit' et en enlevant l'appel de la fonction sur l'évènement onclick ou de mettre à jour votre navigateur préféré ^^

-> Ajout de 2 nouvelles options de génération facultatives :
  1.copie automatique des classes dans un dossier permettant de les tester juste après
  2.accepter ou non que les classes implémentent l'interface iDataBaseClass
-> Le constructeur et la méthode execSql() de la classe DBM sont désormait surchagées ! Vous n'avez plus à le modifier et les classes généré peuvent désormais utiliser directement et implicitement la bonne méthode en fonction du combre de paramètres lors de l'appel.
-> Correction de nombreux bug de syntaxe lors de la création des classes
-> Ajout d'une page permettant de tester directement les classes générées si au préalable vous avez copié les classes dans le dossier test/class ou que vous avez coché l'option copier les classes directement dans le dossier test (vous ne pouvez tester que les fonctions statiques mais sa permet de voir si les classe fonctionnent, pour les autres méthode il fallait créer une instance d'objet et sa compliquait un peu les choses, il aurait fallu générer un formulaire assez lourd je laisse a votre charge ce travail :p)

Voila pour cette nouvelle version, pour tout bug ou idée amélioration me contacter ;)
En cas de bug n'hesitez pas à me contacter même si je réponds pas immédiatement je réponds à tout les messages que l'on m'envoi !
---------------------------------------------------------------------------------------------------
La classe ClassWriter génère automatiquement le code de base de classes php liés à une base de donnée mysql le but étant de gagner du temps et de formaliser le code de ces dernières.
Chaque classe est l'image exacte d'une table.

Ces classes implémentent une interface (iDataBaseClass) qui défini 5 méthodes :

Les méthodes statiques :

get(clef_primaire) : vous retourne un objet représentant un enregistrement de votre table
getall() : vous retourne tout les enregistrements de la table représentée par votre objet sous la forme d'un tableau d'objet

Les méthodes non statiques

add() : inser dans la table dont la classe est image un nouvel enregistrement qui prends toutes les valeur de l'instance
update() : met à jour l'enregistrement avec les valeurs de l'instance
delete() : supprime l'enregistrement représenté par l'instance

Sont générés aussi les accesseurs sur les attributs.

Pour générer vos classes :
créez un dossier de votre choix dans le répertoire www de wamp (si vous utilisez wamp) copiez tout les fichiers de la source dans ce dernier
connectez vous à la base de votre choix grace au formulaire prévu à cet effet (attention j'ai fait mes test sur une base locale : 127.0.0.1 user : root et aucun mot de passe)
une fois connecté vous aurez un listing des tables de la base et en cliquant sur le nom de la table vous pourrez cocher / décocher les tables dont vous voulez générer les classes et spécifier les méthodes que vous voulez générer)

-->Toutes les classes générées se trouvent dans le répertoire myClass<--

Voila, en espérant vous donner un outil qui vous aidera, n'hésitez pas à l'améliorer à votre goût.
 

Conclusion

Améliorations à apporter :
gestion de l'héritage à implémenter
gestion des erreurs au niveau du typage des champs de la base de donnée
 

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

Historique

29 juin 2007 18:10:04 :
Je crois que il y à eu un souci lors de l'envois de la source compressée je rejoint donc la source et l'image
29 juin 2007 18:12:27 :
Le dossier myclass contenait des fichier prégénrés inutiles je les ai enlevés de la source
03 juillet 2007 17:48:12 :
Mise à jour de la source !
03 juillet 2007 17:57:21 :
Tite modification sans importance (changement du contenu d'une variable de DBM.php qui contenait le nom d'une de mes bases de données locales que j'ai utilisée pour mes tests :p)
03 juillet 2007 19:40:18 :
Avertissement : bug de validation de formulaire de test des classe dû à une fonction javascript qui ne fonctionne pas si vous n'êtes pas sour ie7 ou ff2 (désolé)
05 juillet 2007 14:44:07 :
Petite mise à jour, amélioration de la page permettant de tester vos classes
21 août 2007 11:59:20 :
Mise à jour de la source ! (j'ai du suprimmer quelques screen car la source était trop grosse)
21 août 2007 12:01:39 :
Décidément trop de screen :s
22 août 2007 15:13:30 :
Correction d'une petite erreur de copie des classes généré si le dossier prévu pour les recevoir n'existe pas
08 février 2008 11:37:53 :
Mise à jour (Détails dans la description)
08 février 2008 11:39:04 :
Mise à jour de la source voir détails dans la description
04 juin 2008 16:25:56 :
Lien vers la version 2.0

Commentaires et avis

signaler à un administrateur
Commentaire de MadM@tt le 29/06/2007 20:10:03

Argh argh argh !!!!!

Mais pourquoi ? pourquoi ne pas l'avoir fait quelques mois plus tot lol. Non je te charie, c'est juste que je viens de me rendre compte que c'est une excellente idée qui m'aurais économisé tant de temps il y'a quelques mois.

Bravo en tout cas pour l'idée

signaler à un administrateur
Commentaire de Morphinof le 29/06/2007 20:15:10

Merci ;)
J'avoue j'aurais du faire sa beaucoup plus tôt sniiif ^^

signaler à un administrateur
Commentaire de morpheus57 le 30/06/2007 18:24:39

Trop fort, ça faisait longtemps que je cherchais un générateur de ce style, du coup j'avais même commencé à le faire moi même...
Je vais tester ça... ça va me faire gagner beaucoup de temps et éviter des bugs.

Merci ! ! !

signaler à un administrateur
Commentaire de Indiana68 le 01/07/2007 12:14:42

Ne pas oublier de créer le dossier "myClasses", l'erreur n'est pas gérée

signaler à un administrateur
Commentaire de chapata le 01/07/2007 13:11:03

ta source est monstrueuse géniale ! Bravo !

signaler à un administrateur
Commentaire de chapata le 01/07/2007 13:53:58

sauf erreur de ma part, il me semble que le fichier "iDataBaseClass.php" est appelé dans les class générée, mais le chemin n'est pas correct...

... je suis un débutant au niveau des Class : comment je dois faire pour appeler un fonction de ma class générée ?

dans un fichier controle.php, je me connecte à ma BDD bien évidemment
je fais :
require('DataBaseObjectCreator/myClasses/ma_table.php');
$ma_table=new ma_table();
$ma_table->get('mon_champ');
$ma_table->getall();
etc...

mais là j'ai des erreurs :
tout d'abord, il me dis que le fichier "iDataBaseClass.php" n'est pas présent (chose que je t'ai remonté plus haut) j'ai donc fait un copier coller du fichier dans le répertoire myClasses

apres j'ai les messages :


Warning: Missing argument 1 for ma_table::__construct(), called in C:\Program Files\EasyPHP 2.0\www\test_class\controle.php on line 15 and defined in C:\Program Files\EasyPHP 2.0\www\test_class\DataBaseObjectCreator\myClasses\ma_table.php on line 13

Warning: Missing argument 2 for ma_table::__construct(), called in C:\Program Files\EasyPHP 2.0\www\test_class\controle.php on line 15 and defined in C:\Program Files\EasyPHP 2.0\www\test_class\DataBaseObjectCreator\myClasses\ma_table.php on line 13

etc ...

peux tu m'expliquer ?
Merci

signaler à un administrateur
Commentaire de Gwinyam le 02/07/2007 07:55:44

Rien que d'en avoir eu l'idée, ça vaut une bonne note.

Je récupère ce script, ça va simplifier pas mal de choses.

Bravo encore, pas débile de revenir sur un principe plus ou moins similaire à Hibernate de Java. ça manquait à l'appel par ici

signaler à un administrateur
Commentaire de adurand69 le 02/07/2007 14:08:11

Bonjour ;

Super idée et supre source !!!

J'ai essayer avec WAMP et j'ai quelque petits soucis. Au niveau de la classwrite pour les méthodes construct et getall, tu costruis la conn à la bdd avec le $sql au lieu de $host, $user et $pass.

De plus, tu fais appel dans ces fonctions à execSql au lieu de executeSql. Rien de bien grave quoi.

Par contre, moi j'ai des gros soucis de connexion à la BDD en utilisation des classes générer car j'ai utilisé tes classes et il ne veut pas du tout se sonnecter. Je continue à chercher et je te fais remonter au cas où :

Fatal error: Uncaught exception 'myException' with message 'Warning ! Connexion to annu_tpa failed' in C:\wamp\www\annu_tpa\classes\DBM.php:40 Stack trace: #0 C:\wamp\www\annu_tpa\classes\DBM.php(56): DBM->connect() #1 C:\wamp\www\annu_tpa\classes\amo.php(157): DBM->executeSql('SELECT * FROM a...') #2 C:\wamp\www\annu_tpa\classes\amo.php(245): amo::get('AGF') #3 C:\wamp\www\annu_tpa\index.php(9): amo::getall() #4 {main} thrown in C:\wamp\www\annu_tpa\classes\DBM.php on line 40

Encore brave ;

Aymeric

signaler à un administrateur
Commentaire de Morphinof le 03/07/2007 09:02:54

Me revoila après une tite abscence veuillez m'en excsuer ;)
Je vais commencer par répondre à la question de Chapata (je manque de temps pour répondre a tout mais sa va venir)
En fait si le chemin est correct parce que toutes mes classes utiles ne sont pas appellées dans myClasses mais dans le dossier class tout simplement l'idée en fait était de copier coller les classes générées en plus des classes utiles (myExecption, DBM et la dite interface) dans le dossier class ;)
Ah en fait l'interface sert plus à une formalisation de code qu'a autre chose et n'estp as obligatioire vous pouvez très bien l'enlever ;)

signaler à un administrateur
Commentaire de Morphinof le 03/07/2007 10:06:28

C'est re moi ! Un inexcusable oubli de ma par concernant la class DBM,
vous pouvez voir que dans les classes généré, dans les méthodes comme get(),getall() etc. la classe est appellé de cette manière :

$dbm = new DBM($sql);
alors que dans ma classe DBM le constructeur contient 4 paramètres :
public function __construct($db_host,$db_name,$db_user,$bd_pass)
pourquoi?
Explications : à la base le BDOG ne m'est utile que pou la génération des classes, je génère mes classes que je copie ensuite dans le répertoire de mon projet qui contient mes classes métier (en général c'est un dossier "class" ou "classes")

Et c'est la d'ou viens mon oubli, la classe DBM que j'utilise dans mes projet contient les informations de connexion private $DB_HOST,$DB_USER,$DB_PASS,$DB_NAME en statique !
Ce qui n'était pas pratique pour le BDOG puique l'idée est de ce connecter à une base quelquonque, ces information ne peuvent donc pas être statique.

Pour pouvoir l'utiliser vous avez 2 solutions, la première c'est de modifier la classe DBM de la manière suivante :

<?php
require('myException.php');

class DBM{
//Vars
private $DB_HOST = "nom de l'HOST";
private $DB_USER = "nom de l'USER";
private $DB_PASS = "le mot de passe s'il y en a un";
private $DB_NAME = "nom de la base de donnée ou se connecter";

private $sql;
private $nbrows;
private $db_conn;
private $db_res;

private $connected;
//Constructeur
public function __construct($sql){
if(!is_string($db_host)) throw new myException("Warning ! HostName is not a string");
if(!is_string($db_name)) throw new myException("Warning ! DBName is not a string");
if(!is_string($db_user)) throw new myException("Warning ! DBUser is not a string");
if(!is_string($bd_pass)) throw new myException("Warning ! DBPassword is not a string");

if($db_host == "") throw new myException("Warning ! Empty HostName");
if($db_name == "") throw new myException("Warning ! Empty DBName");
if($db_user == "") throw new myException("Warning ! Empty DBUser");

$this->sql = $sql;
$this->connected = false;
}
...
?>

la deuxième solution est plus compliqué, je compte mettre à jour la source afin de palier à ce problème, c'est de créer un constructeur surchargé, bien que cette propriété n'est pas directement intégrée au PHP5 elle est néanmoin simmulable grace à la fonction _call() que je vous invite à regarder.

Je rapelle donc que pour ne pas avoir d'erreur il faut copier les class générées dans myClasses dans le dossier classe et modifier la classe DBM pour que vous puissiez utiliser vos classes dans un projet.

Voila je vais m'occuper de faire une mise à jour dès que possible.
Modifications prévues :
-> Création automatique du dossier myClasses si inexistant
-> Surcharge du constructeur de la classe DBM

Merci pour tout vos commentaire et si un problème subsiste n'hésitez pas à me contacter !

signaler à un administrateur
Commentaire de Morphinof le 03/07/2007 10:15:01

Exact adurand69 ^^ je fait appel à execSQL() au lieu de executeSQL() pour la raison si dessus (j'utilise un DBM statique et légèrement différent) je vais corriger tout sa c'est promi ;)
Tes warnig sont normaux :  
Uncaught exception 'myException' with message 'Warning ! Connexion to annu_tpa failed

tu ne peus pas te connecter à ta base pour les raisons ci dessus et quand tu as fait l'appel
tu n'as pas du faire de bloc try{}catch(){} du coup sa à bien levé l'exception comme quoi il y avais une erreur de connexion à la base mais elle n'était pas rattrapée d'ou le "Uncaught exception" et le warning  "'Warning ! Connexion to annu_tpa failed"

Je m'excuse encore pour cet oubli ! Mise à jour de la source dès que possible !

signaler à un administrateur
Commentaire de Morphinof le 03/07/2007 18:12:56

Grosse mise à jour de la source !
La seule chose que je voulais rajouter et que j'ai oublié dans la description c'est que meme si le constructeur et la méthode execSql de la classe DBM sont surchargé j'ai rajouté la version statique de la classe au cas ou ;)
voilou !

signaler à un administrateur
Commentaire de Gwinyam le 03/07/2007 18:53:38

Bon bah je prends la mise à jour avec hein, vous me faites l'emballage cadeau avec? ;)

signaler à un administrateur
Commentaire de Morphinof le 03/07/2007 19:46:05

Vi un zoli emballage roze ;)

signaler à un administrateur
Commentaire de wouarf le 10/07/2007 14:09:27

Bonjour,

J'aimerais bien tester mais, où que j'aille, je suis en PHP4.4.4, 4.3.4 ou 4.3.10. Est-ce que je peux tenter d'installer ou le script est-il vraimment spécifique à PHP5 ?

Merci

signaler à un administrateur
Commentaire de Morphinof le 11/07/2007 16:13:10

Malheuresement oui, j'ai utilisé les syntaxe objet php5 , si tu veus l'utiliser je te conseille WAMP

signaler à un administrateur
Commentaire de fs074995 le 15/07/2007 08:30:12

Ne serait-il pas pratique de surcharger également le constructeur dans classWriter.php et ainsi pouvoir instancier un class metier sans paramètre tout en gardant la possibilité pour l'occurance de s'instancier avec parametres pour les return

A votre avis

Sinon quelle bonne idée ce script

signaler à un administrateur
Commentaire de nu_tango le 14/08/2007 00:06:10

On va dire que je chipote ^^
Mais dans testgeneratedclasses.php tu utilises 2 inputs de type checkbox qui portent le meme attribut name, il faut utiliser plutot type="radio", pour éviter de pouvoir cocher les 2...

Sinon très bonne source, çà mérite bien 9,5/10.

Bonne continuation.

signaler à un administrateur
Commentaire de Morphinof le 16/08/2007 17:15:13

Méa-culpa c'est vrai ^^ je corrigerai sa c'est promi quand je ferais la prochaine version qui gèrera les héritages enfin quand j'aurais moins de boulot :(

signaler à un administrateur
Commentaire de simabo le 06/12/2007 14:23:42 10/10

Absolument génial ! Je ne suis pas fan de ton formatage et il y a pas mal de pétouilles (le fgets pour insérer le nom de table merdoie dans certains cas, le fait d'avoir un mdp sur sa base ne lui plait pas, etc.) mais rien qu'on ne puisse corriger à la main après génération.

Enorme taf qui rend d'énormes services. Bravo, bravo, bravo !

signaler à un administrateur
Commentaire de Morphinof le 08/12/2007 17:18:14

Oui le code n'est pas formaté il est juste généré avec ses retours à la ligne mais un coup de refactoring avec un ptit logiciel et c'est bon ;)

signaler à un administrateur
Commentaire de marcant77 le 26/05/2008 13:02:22 10/10

Tr?s bon script , mais maintenant j'ai un probl?me du ? la mise ? jour de php 5.2.5 -> 5.2.6

J'ai la classe DBM qui ne fonctionne plus

Uncaught exception 'myException' with message 'Warning ! SQL error : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1' in C:\wamp\www\test\Administrateur\classes\DBM.php:109 Stack trace: #0 [internal function]: DBM->executeSql0() #1 C:\wamp\www\test\Administrateur\classes\DBM.php(22): call_user_func_array(Array, Array) #2 [internal function]: DBM->__call('executeSql', Array) #3

voila, merci

signaler à un administrateur
Commentaire de Morphinof le 26/05/2008 13:17:58

Très simple, le DBM marche, en fait il à "jeté" une exception que j'ai oublié de rattraper :)

Pour corriger sa il faudrai rajouter un bloc
try{}catch(myException $e){ echo $e->__error(); } mais je vois pas où il manque une parti du message d'erreur, celui ou l'on peu voir où le code à fait appel au DBM et où il manque le fameux bloc ci dessus.

Sinon cette exception est envoyée en cas d'erreur dans une requête sql je vais regarder de mon côté et je vais essayer de corriger sa

signaler à un administrateur
Commentaire de Morphinof le 26/05/2008 13:24:23

Il me faudrait un peu plus de précisions, quand est ce que tu as ce message ? Directement quand tu affiche la page index ou plus tard?

signaler à un administrateur
Commentaire de marcant77 le 26/05/2008 14:15:11

merci de ta r?ponse rapide, oui c'est des le d?but dans l'index...

Je viens de remarquer quand j'affiche dans DMB.php
dans la function executeSql0()
je fais un echo($this->sql); voila le r?sultat

ELECT * FROM Page_principale WHERE IDPage_principale='1'

Fatal error: Uncaught exception 'myException' with message 'Warning ! attention !!!! SQL error : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1' in C:\wamp\www\test\Administrateur\classes\DBM.php:114 Stack trace: #0 [internal function]: DBM->executeSql0() #1 C:\wamp\www\test\Administrateur\classes\DBM.php(22): call_user_func_array(Array, Array) #2 [internal function]: DBM->__call('executeSql', Array) #3 C:\wamp\www\test\Administrateur\classes\Page_principale.php(29): DBM->executeSql() #4 C:\wamp\www\test\index.php(67): Page_principale::get(1) #5 {main} thrown in C:\wamp\www\test\Administrateur\classes\DBM.php on line 114


j'ai l'impression qu'il y a un probl?me a ce niveau la car il manque Le "S"

voila en tout merci

signaler à un administrateur
Commentaire de Morphinof le 26/05/2008 14:55:19

Effectivement il te manque le S de select et du coup ta requête est mauvaise, l'exception est jetée par la classe Page_principale.php qui est dans ton dossier C:\wamp\www\test\Administrateur\classes, lors de l'appel de le fonction get() avec le paramètre '1', effectivement cette fonction génère la requête sql qui va chercher l'objet qui à pour clef primaire le paramètre et fait appel au DBM, vérifie que la fonction get construit ta requête correctement :)

signaler à un administrateur
Commentaire de marcant77 le 26/05/2008 15:39:22

ce qui est ?trange c'est que j avais pas de probl?mes avec la version PHP 5.2.5

la fonction g?n?re bien la requete sql dans ma classe Page_principale:
public static function get($IDPage_principale){
$sql="SELECT * FROM Page_principale WHERE IDPage_principale='$IDPage_principale'";
echo("test1->".$sql); --> le r?sultat est bon test1->SELECT * FROM Page_principale WHERE IDPage_principale='1'
$dbm = new DBM($sql);

par contre dans la classe DBM

public function executeSql0(){
$this->connect();
if($this->connected == true){

echo(test2->$this->sql); -->resultat faux test2-> ELECT * FROM Page_principale WHERE IDPage_principale='1'

je vois pas pourquoi... je continu ? chercher :)

signaler à un administrateur
Commentaire de marcant77 le 26/05/2008 15:58:00

je viens de voir que si j enl?ve cette partie dans le constructeur ->function __construct($params) dbm.php

if(!is_array($params) && !is_string($params)) throw new myException("ClassWriter wait an array() or a string in param");
if(count($params) != 1 && count($params) != 4) throw new myException("ClassWriter params must be 1 string ($sql) or array() size 4($db_host,$db_name,$db_user,$bd_pass) size");
if(count($params) == 1 && !is_string($params)) throw new myException("ClassWriter :: calling static constructor error : element 0 in the array() is not a string");
if(count($params) == 4){
$count = 0;
foreach($params as $param){
if(!is_string($param[$count])) throw new myException("ClassWriter :: calling dynamic constructor error : index $count, element ".($count + 1)." in the array() is not a string");
}
}
if(count($params) == 1) $params[0] = $params;
j'ai plus cette erreur de "S"


signaler à un administrateur
Commentaire de marcant77 le 26/05/2008 16:07:06

bon l'erreur provient de
if(count($params) == 1) $params[0] = $params;
je l'ai mis en com en attendant :)et
pour l'instant ?a fonctionne

voila en tout cas merci :) je vais pouvoir regarder de plus pr?s maintenant
en tout cas ton g?n?rateur est tr?s bien et une bonne id?e et il permet d'aller plus vite;)

signaler à un administrateur
Commentaire de Morphinof le 26/05/2008 16:52:55

Merci ;)
Je suis en train de travailler sur la version 2, elle sera totalement en ajax et gérera je l'espère plus de chose que l'actuelle :)

signaler à un administrateur
Commentaire de Morphinof le 25/06/2008 14:40:09

Version 2.0 up ici :
http://www.phpcs.com/codes/DBOC-AJAX-PHP5_46882.aspx ^^

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Connection mysql avec php5 [ par Chess0 ] Bonjour, j'ai install&#233; r&#233;cemment la derni&#232;re version de mysql ainsi que la derni&#232;re version de php (5). J'ai essay&#233; la connec logiciel POO [ par kowal2205 ] Je me pose la question de la cr&#233;ation de mes classes dans un projet de taille moyenne car je ne trouve pas de logiciel &#224; mon pied qui me per Prob SQL [ par stu76 ] Bonjour,J'ai un prob j'ai une base de données avec plusieurs tables, deux d'entres elles ont une relation de n-n ( plusieurs a plusieurs). Pour cela j Je sais plus quoi faire... [ par kader55 ] Bonjour!Je suis sous linux Suse 10.2.J'ai apache2.0,php5 et mysql 5,unixodbc 2.2 installe sur mon poste.J'essaie de me connecter a une base access (ou Pb passage PHP4 -> PHP5 [ par Galmiza ] Salut,J'ai acheté un bouquin pour débuter le PHP.J'ai suivi a la lettre les instructions du livre:-installer EasyPHP 1.7-installer PHP 5.0..-lancer Ea PHP5 et MySQL 4.1.7 [ par TMT ] J'ai installé PHP5 et MySQL sur mon Windows XP avec IIS. J'ai bien activé le module php_mysql dans le fichier php.ini Là mon problème est qu-à chaque Appel d'une classe dans une classe [ par qntoinOo ] Bonjour à tous,Je suis face à un petit problème, je fait appel dans mon site à plusieurs classes une pour mes requêtes mysql, une pour mon système de etendre les classes natives en PHP5 ?? [ par itkin ] Bonjour j'aimrais étendre la classe ArrayObject mais pas moyen d'acceder a ses proprités (enfin je sais pas), quelqu'un saurait il ou il y a de la doc PHP-MYSQL => Tri des entrée selon le mois ou l'année [ par karaemrah ] Bonjour,J'ai une table sous Mysql qui est alimenté en données de vente d'un produit sur ma boutique en PHP.la table s'appelle Vente:Elle a ces champs:


Nos sponsors

Sondage...

CalendriCode

Janvier 2009
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, 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 : 0,530 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é.