Fork me on GitHub

Rapport de message :*
 

Re: bouton radio et BDD

Titre du sujet : Re: bouton radio et BDD
par jbboschung sur 24/06/2007 08:38:26

C'est pas compliqué, mais faut juste tout faire dans l'ordre.

Je dois malheureusement partir et ne serai de retour que demain.

Si tu n'as pas de réponse, je te mettrai (j'essayerai) de te mettre un code plus détaillé, mais en attendant :

- Comment gères-tu tes accès à ta table "xoops_table" ? En passant le nom n'est pas bon, car tu devrais normalement (si tu veux respecter les conventions de nommage) avoir le nom de ton module dans le nom de ta table :
- ex.: mymodule_mytable, donc dans ton cas, cela pourrait être :
-> userpoint_config (il me semble que c'est userpoint, mais je peux me tromper).


Donc à partir de là, moi j'accéderai à cette table via les deux classes XoopsObject et XoopsObjectHandler (doc)

Donc pour créer l'ObjectHandler :

Tu crées une classe (fichier php), dénommé class/configHandler.php
class userpointConfigObj extends XoopsObject
{

    function 
userpointConfigObj()
    {
        
$this->initVar('uid'XOBJ_DTYPE_INT0false);
        
$this->initVar('actifnewbb'XOBJ_DTYPE_INT0false);
        
$this->initVar('actifsmartsection'XOBJ_DTYPE_INT0false);
        ...

    function 
getConfig_actifnewbb($id 0) {
        return 
$this->get($activenewbb);
    }
    
    ...


Dans cette classe tu crée le constructeur (function userpointConfigObj() et tes fonctions te permettant d'écrire ou de lire tes données, dont celle de l'exemple :
function getConfig_getactifnewbb()

Ensuite c'est selon tes besoins et souhaits.

Dans ton cas, il s'agit en fait de configurer si tel ou tel module doit enregistrer de points, donc ta table n'aura qu'un enregistrement. Par conséquent ce fichier affichera directement les valeurs contenues dans ta table. C'est bien c'est plus simple. par contre tu devras gérer les données saisies/modifièes avec l'envoi du formulaire

Pour cela je mettrai une variable $_GET 'op'. Si 'op' est défini, alors tu dois gérer les données, sinon tu affiches bêtement le formlaire

Donc ce fichier devra :

- Vérifier si 'op' exist et éventuellement sa valeur (op='submit')
- Si 'submit' alors je modifie mes valeurs de ma table
- Sinon j'affiche mes valeurs actuelles. De toute façon, tu affichera ton formulaire avec les valeurs actuelles,mais s'il y a eu modification, car l'utilisateur doit pouvoir à nouveau modifier ces valeurs

Donc pour cela utilise un instruction switch()/case

Passons à l'affichage du formulaire maintenant avac ta valeur pour 'activenewbb'. Pour cela reprends mes précédent post :

$configObjHandler xoops_getmodulehandler('userpointConfigObj''userpoint');
$configObj $configObjHandler->getConfig_activenewbb($_POST['uid']);


et après tu crée ton formulaire, puis tu affiches quand tu veux la ligne concernant l'activation du module Newbb

$form->addElement(new XoopsFormRadioYN('Activation du module Newbb''activenewbb', ($configObj->getConfig_activenewbb('uid')==1) ? 0));



Voilà, je sais pas si c'est plus clair et j'espère ne pas avoir écrit de boulette.
Sinon cette semaine, je vais écrire la partie 'Accès au données avec XoopsObject et XoopsObjectHandler dans ma section de tuto (voir signature) et tu auras un exemple complet.

Bonne chance

A+
Propulsé avec XOOPS | Graphisme adapté par Tatane, Grosdunord, Montuy337513

121 Personne(s) en ligne (106 Personne(s) connectée(s) sur Forum) | Utilisateur(s): 0 | Invité(s): 121 | Plus ...