Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > PEAR > DB & MDB2
DB & MDB2 Forum d'entraide pour les bibliothèques DB et MDB2 du framework PEAR, permettant de manipuler les bases de données en PHP. Avant de poster -> tutoriels DB et MDB2
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 18/02/2006, 14h37   #1
Rédacteur/Modérateur
 
Avatar de cladsam
 
Morgan Bourgeois
Inscription : août 2003
Messages : 1 730
Détails du profil
Informations personnelles :
Nom : Morgan Bourgeois
Âge : 32
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : août 2003
Messages : 1 730
Points : 1 862
Points : 1 862
Par défaut [DB] Problème pour configurer les classes

BOnjour,

j'ignore si le titre de mon post est suffisament explicite, je savais pas trop comment formuler ca.
J'essaye de créer des formulaires en utilisant PEAR_DB,DB_DATAOBJECT,
DATAOBJECT_FORMBUILDER.
La premiere étape consiste si j'ai bien compris à créer des classes dérivées de DB_DAtaObejct grace a un script (createTables) et un fichier ini qui donen a ses classes les parametres de connexion etc.
Ici je rencontre un premier probleme:
d'après la doc , lorsque l'on utilise ce genre de script, on a plus à utiliser de tableaux pour donner les parametres de conenxion, or si je prend l'une de ces classes qui s'appele par exempel 'Film' et que je fais:

Code :
1
2
3
 
$fil=new DBO_film();
$fil->find();
j'ai un message d'erreur:
Citation:
No database name / dsn found anywhere
Deja la je ne comprend pa sje suis oblige d'ne passé par un tableau pour que ca puisse fonctionner:
Code :
1
2
3
4
5
6
7
8
 
$opts = &PEAR::getStaticProperty('DB_DataObject','options');
$opts = array(
    'class_location'  => 'C:/www/Projet/phplib/DBO',
    'class_prefix'    => 'DBO_',
    'schema_location' => 'C:/www/Projet/phplib/DBO',
    'database'        => "mysql://cnam:aerith@localhost/cinebase"
    );
Ceci est mon premier probleme je ne comprends pas pourquoi étant donén que j'ai passé le script ini lors de la creation des classes je dois repasser par la? Mais ce n'est pas ce qui me pose le plus de probleme.

Ma classe film a une FK qui point vers la PK d'une table appelée genre.
J'ai un fichier qui s'appèle:
C:/www/Projet/phplib/DBO/cinebase.links.ini

lorsque j'essaye de créer un lien entre 2 tables par:

Code :
1
2
3
$fil = DB_DataObject::factory('film');
$gen = DB_DataObject::factory('genre');
$fil->joinAdd($gen,'INNER');
le mode Debug m'affiche:

Citation:
DBO_Genre: databaseStructure: Loaded ini file: C:/www/Projet/phplib/DBO/cinebase.ini
DBO_Genre: databaseStructure: Loaded links.ini file: C:/www/Projet/phplib/DBO/cinebase.links.ini
DBO_Film: ERROR: joinAdd: genre has no link with film
Du coup tout se passe comem si les liens indiqués dans cinebase.links.ini n'étaient pa spris en compte exactement comme ca semble avoir été le cas des parametre de connexion que j'avais donné à createTables au moment de générer les classes.

Pourriez vous m'aiguilelr pour resoudre ce probleme?
J'ai passé de longues heures à éplucher la doc de PEAR et de nombreux articles et tutoriaux mais je ne comprends pas pourquoi j'ai ces erreurs, je vous serait très reconnaissant si vous pouviez me débloquer pour l'instant je ressemble à ça :

cladsam est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2006, 14h11   #2
Rédacteur/Modérateur
 
Avatar de cladsam
 
Morgan Bourgeois
Inscription : août 2003
Messages : 1 730
Détails du profil
Informations personnelles :
Nom : Morgan Bourgeois
Âge : 32
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : août 2003
Messages : 1 730
Points : 1 862
Points : 1 862
Bonjour,

je sais que ce n'est pas une démarche très recommandée que celle qui consiste à relancer ses posts, je vous prie donc de m'en excuser. Toutefois, malgré de nombreux efforts et une amitié certaines avec google, je ne trouve vraiment rien qui puisse me débloquer, j'espère donc que quelqu'un va faire un geste et m'aider à trouver la solution à ce problème ... SVP
cladsam est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h41.


 
 
 
 
Partenaires

Hébergement Web