gestion projet : Mysql/php et drag and drop
Répondre à la discussion
Affichage des résultats 1 à 21 sur 21

gestion projet : Mysql/php et drag and drop



  1. #1
    inviteb271042d

    gestion projet : Mysql/php et drag and drop


    ------

    Bonjour,

    En bref j'ai une vie passablement compliquée Entre mon boulot, la santé d'un de mes enfants et l'entretien d'une vieille maison je suis souvent à rechercher des journées de 48h!!

    Alors pour m'organiser jusqu'à présent j'utilise à la fois un agenda papier ( on écrit vite, c'est incassable et sans pile ) et un agenda informatique ( celui de Mozilla ).

    Je commence à créer des petites bases MySQL pour pouvoir mieux gérer tout celà. Elles sont gérées via PHP.

    Est ce que quelqu'un connait comment l'on peut implémenter un glisser déposer ( via par exemple scriptaculous ) pour réaliser facilement des jointures entre les tables affichées à l'écran.

    Le but serait, par exemple, de pouvoir sélectionner quelques lignes de contact ( ex : hopital, garagiste et hotels ) et de pouvoir les glisser sur l'agenda pour que la sélection s'insère dans les disponibilités ( en fonction des priorités).
    Bref, ce n'est pas l'algo de gestion des priorités que je recherche Mais des exemples de Drag and Drop réalisés en PHP/Javascript sur des bases Mysql ( ou oracle, je me

    débrouillerais pour adapter ).

    Merci d'avance

    -----

  2. #2
    invite3d7be5ae

    Re : gestion projet : Mysql/php et drag and drop

    Bonjour,
    Tu fais une première page avec du javascript : quand tu sélectionnes des cases du tableau [qui a été écrit en PHP] tu ouvres une fenêtre popup avec toutes les cases demandées et la valeur des champs avec la méthode get [page.php?a=...&b=....]. Dans cette 2ème page, tu modifies la base de donnés et soit tu fermes la page(et l'utilisateur doit actualiser dans la 1ère),soit tu renvoies l'utilisateur vers la 1ère(et il faut fermer l'autre fenêtre).

    Pas très clair,mais j'espère que ça t'aidera.
    Pole.

  3. #3
    inviteb271042d

    Re : gestion projet : Mysql/php et drag and drop

    Bonjour,

    Merci Pole, effectivement je pourrais faire ainsi. Mais je souhaiterais ne pas passer par une fenêtre supplémentaire.

    Avec le glisser déposer ce qui est intéressant c'est que pour une même source de données ( lors de la sélection ) on peut obtenir plusieurs comportements différents selon la cible, en général reconnue par son type MIME.

    Si pour l'action de sélection qui reste limitée au coté client je vois grosso modo le type de classe javascript nécessaire, par contre pour l'action de déposer je n'arrive pas à concevoir la coordination entre le javascript ( et son gestionnaire d'évènements ) coté client et les classes PHP coté serveur.

    Toute indication serait la très bien venue.

  4. #4
    invite3d7be5ae

    Re : gestion projet : Mysql/php et drag and drop

    Bonjour,
    Le javascript s'éxécute sur le navigateur alors que le PHP se fait côté serveur.
    Donc si tu veux modifier qqch sur le serveur,il faut passer par le PHP et ouvrir une autre fenêtre pour envoyer et modifier les données.
    Pourquoi ne pas fermer la fenêtre de HTML qui ne sert à rien et actualiser automatiquement l'autre?

    Sinon,pourquoi ne pas le faire en C/C++,Delphi ou autre?

    Pole.

  5. A voir en vidéo sur Futura
  6. #5
    zoup1

    Re : gestion projet : Mysql/php et drag and drop

    EN Javascript, il y a une fonction XmlHttpRequest qui permet de le lancer une requête httm de façon asynchrone vers le serveur. Cette requête peut très bien être un script PHP qui va interagir avec une base de donnéee.

    C'est l'utilisation de cette fonction qui est au coeur d'Ajax et des produits en WEB 2.0
    Il existe des librairies Javascript qui exploitent ce genre de choses. J'ai regardé personnellement Rico (qui souffre d'un manque cruel de documentation) mais je pense que scriptaculous fait cela également. Il y en plein d'autre ; Simple Ajax ou je ne sais pas trop quoi encore. Personnellement je n'ai pas vraiment réussi à me décider et j'utilise mais propre truc (mais c'est sans doute une idée assez moyenne).
    Je te donne une idée, tu me donnes une idée, nous avons chacun deux idées.

  7. #6
    inviteb271042d

    Re : gestion projet : Mysql/php et drag and drop

    Citation Envoyé par zoup1 Voir le message
    ...qui souffre d'un manque cruel de documentation) ...
    Bonjour,

    C'est bien là mon problème.

    Entre Javascript, script.aculo.us, RubyOnRails, Dojo ....
    j'ai beaucoup de mal à entrer dans ce monde sans devoir y passer des heures...

    Je viens de trouver un petit livre chez micro applications qui prend un petit exemple de drag and drop sous scriptaculous. Mais rien relié à Mysql .

    C'est l'inconvénient du libre et des technologies innovantes : il y a plein de projets mais les feuilles de routes sont rarement fournies.( lorsqu'elles arrivent à traverser l'Atlantique ...)

    En fait celà devient difficile pour un quidam moyen ( cad qui ne peut pas y consacrer 10H par jour pendant 1 mois ) d'utiliser ces technologies.

    J'ai l'impression que ce que je souhaite faire passe par un framework MVC ce qui rajoute une couche supplémentaire aux technologies à apprendre ( je sature ... )

    Merci de vos suggestions

  8. #7
    inviteb271042d

    Re : gestion projet : Mysql/php et drag and drop

    Plus précisément :

    Pour realiser un glisser / deposer entre deux tables affichées sur le client par exemple via un SELECT sur le serveur

    1 ) Je sélectionne l'objet ( où la liste ) d'objet : celà ce fait en scriptaculous.

    2 ) Je glisse la sélection vers la cible

    3 ) Je relache : la cible est alors détecté ( scriptaculous ) mais ensuite comment dois je spécifier l'action à faire :

    Il y a au moins trois etapes ( pas forcément dans l'ordre ) :

    - mettre à jour l'affichage ( comme dans les exemples de listes triées de scriptaculous ).
    - mettre à jour la base de données ( donc coté serveur )
    - suite à l'acquit de la base de donnée indiquer au client que le contexte est correcte ( UPDATE ok ) ou pas ( erreur SQL ).

    Seulement comment dois je tenir compte du contexte d'affichage coté client ?

    Si, par exemple, je sélectionne 3 lignes ayant pour clé 'AAA' , 'BBB' et 'XXX' , lors du 'déposer', les deux premières clé s'insèrent peut etre dans l'affichage mais pas la troisième clé. Malgré tout les trois clé doivent etre envoyées au serveur pour faire les updates.

    Bref comment synchronise t on la mise à jour de la table par rapport au contexte d'affichage ?

  9. #8
    inviteb271042d

    Re : gestion projet : Mysql/php et drag and drop

    En fait il me faudrait un exemple réunissant scriptaculous avec PearDB .

    Mais via google je ne trouve pas.

  10. #9
    zoup1

    Re : gestion projet : Mysql/php et drag and drop

    Je comprends ton souci et je le partage...
    La documentation de scriptaculos m'a l'air bien meilleur que ce que j'ai vu pour d'autres framework...

    Il faut utiliser les function de callBack onDrop pour pouvoir s'en sortir...
    http://wiki.script.aculo.us/scriptac...Droppables.add
    Ce sont a priori une fonction qui est appelée lorsque l'objet est relachée...

    Pour ma part, pour pouvoir progresser et comprendre la façon dont les choses fonctionnent, j'ai été amené à réapprendre le JavaScript... je l'ai fait avec ce bouquin (qui parle de l'Ajax) http://www.amazon.com/dp/1932394613?...ZR27MQYB0TDW6&
    Mais ce n'est sans doute pas la meilleur approche il vaut sans doute mieux un bon bouquin sur le JavaScript.

    Cela dit, il est clair que entrer dans ces technologie prend du temps... Elles sont encore très largement émergente et en pleine évolution.
    Je te donne une idée, tu me donnes une idée, nous avons chacun deux idées.

  11. #10
    inviteb271042d

    Re : gestion projet : Mysql/php et drag and drop

    Merci de ces renseignements :

    En fait à l'origine ce sujet existe car j'ai pas trouvé les informations suffisantes? nécessaires ? compréhensibles ? via la doc de scriptaculous.

    Je pense avoir trouvé le livre qui me sera le plus utile :

    http://www.editions-eyrolles.com/Liv...25a80203cf0bf8

    ouvrage qui vient tout juste de sortir.

    Peut etre qu'il s'agit tout simplement d'une technologie encore trop jeune pour avoir beaucoup de renseignements.

    Est ce que quelqu'un connait un peu les framework dojo ou symphony ? Je cherche à savoir s'il permettent de gérer les accès à une base de données comme pearDB ?

    Merci.

  12. #11
    inviteb271042d

    Re : gestion projet : Mysql/php et drag and drop

    Citation Envoyé par Pole Voir le message
    Bonjour,

    Sinon,pourquoi ne pas le faire en C/C++,Delphi ou autre?

    Pole.
    Pour etre indépendant de la plate forme selon l'endroit où je me trouve.

    Pour gérer une base Mysql aussi accessible via openoffice.

    Et parce que les memes questions de design patterns se pose tant pour les composants Data*** de Delphi/JBuilder que pour des bibliothèques portables comme wxwidgets.

    En fait, dès que l'on pose des questions sur les algo de gestion/accès aux données les informations se font rares car il s'agit souvent du nerf de la guerre et du business pour les entreprises concernées ...
    C'est une situation récurrente qui pénalise les amateurs comme moi et celà etait déjà ainsi à l'époque du turbo pascal ou de DBase ( pour les logiciels libres qui ont fait énormément progresser la circulation des informations ).

  13. #12
    invite3d7be5ae

    Re : gestion projet : Mysql/php et drag and drop

    Il y a une librairie MySQL gratuite qui permet de gérer les bases de données en C.
    Pour être portable,tu peux utiliser la SDL.
    Et pourquoi vouloir passer par openoffice et pas par PHPMyAdmin/EasyPHP?
    Ca revient au même.
    Sinon,il faut trouver le format de OpenOffice (ou alors tu le fais dans un .txt)et faire ta base de donnée dans un fichier Office (ou txt).
    Il suffit de mettre quelques champs prédéfinies,quelquels fscanf,fprintf implémenter le drag-drop en SDL, et pas besoin d'acheter un livre,de lire une doc en anglais.....

    Bonne programmation,Pole.

  14. #13
    zoup1

    Re : gestion projet : Mysql/php et drag and drop

    Citation Envoyé par transhuman Voir le message
    C'est une situation récurrente qui pénalise les amateurs comme moi et celà etait déjà ainsi à l'époque du turbo pascal ou de DBase ( pour les logiciels libres qui ont fait énormément progresser la circulation des informations ).
    Moi, je trouve que les choses ont formidablement évoluées et je m'émerveille (presque) tout les jours de ce que PHP, postgreSQL, JavaScript, HTML (me) permettent de faire.

    Le "Drag and Drop" et le L'interaction avec une base de donnée sont 2 choses qui sont complètement découplées. Je pense que la documentation pour le "drag and drop" de scriptaculos est suffisament explique pour que tu puisses t'en débrouiller. Si ce n'est pas le cas on pourra y revenir.

    Pour l'interaction avec les bases de données, le plus simple est de passer par un script PHP qui va lui s'occuper de l'interaction avec la base de donnée.
    Ajax est concu pour cela. Scriptaculous repose sur prototype pour faire cela. (Je crois que beaucoup de frameword ont fait ce choix). La documentation est par là :
    http://wiki.script.aculo.us/scriptac...show/Prototype
    et là en particulier
    http://wiki.script.aculo.us/scriptac...w/Ajax.Request
    Il est je pense nécessaire de maitriser à peu près cela pour aller plus loin.

    Ensuite, le merging des 2 ne devrait pas poser trop de problème.
    Je te donne une idée, tu me donnes une idée, nous avons chacun deux idées.

  15. #14
    inviteb271042d

    Re : gestion projet : Mysql/php et drag and drop

    Citation Envoyé par zoup1 Voir le message
    Moi, je trouve que les choses ont formidablement évoluées et je m'émerveille (presque) tout les jours de ce que PHP, postgreSQL, JavaScript, HTML (me) permettent de faire.
    Tout à fait...

    ... La documentation est par là :
    Citation Envoyé par zoup1 Voir le message
    http://wiki.script.aculo.us/scriptac...show/Prototype
    et là en particulier
    http://wiki.script.aculo.us/scriptac...w/Ajax.Request
    Il est je pense nécessaire de maitriser à peu près cela pour aller plus loin.

    Ensuite, le merging des 2 ne devrait pas poser trop de problème.
    Merci beaucoup

  16. #15
    inviteb271042d

    Re : gestion projet : Mysql/php et drag and drop

    Citation Envoyé par Pole Voir le message
    ...
    Pour être portable,tu peux utiliser la SDL.
    ??? SDL(simple directmedia layer ) c'est plutot pour des jeux ou du graphisme . Il existe aussi la STL qui est un ensemble de templates implémentant en C++ des traitements de liste, de hachages...Si je le réalisais via un executable je prendrais wxwidget.

    Citation Envoyé par Pole Voir le message
    ...
    Et pourquoi vouloir passer par openoffice et pas par PHPMyAdmin/EasyPHP?
    Pour pouvoir manipuler des données dans des tableaux (ex suivi de frais ) ou des documents ( ex rédaction courrier réclamation ). Ce n'est pas la même utilisation meme si ceux sont les même bases.

    J'ai besoin d'accéder de deux façons différentes à mes bases : d'une part via un navigateur, depuis un poste windows ou linux, grace à wamp ou lamp.
    d'autre part grace à openoffice via jdbc.

    Je ne privilégie pas une solution ou l'autre. Les deux sont complémentaires :
    http://www.eyrolles.com/Informatique...c-2-avance.php

  17. #16
    inviteb271042d

    Re : gestion projet : Mysql/php et drag and drop

    Citation Envoyé par zoup1 Voir le message

    Le "Drag and Drop" et le L'interaction avec une base de donnée sont 2 choses qui sont complètement découplées. Je pense que la documentation pour le "drag and drop" de scriptaculos est suffisament explique pour que tu puisses t'en débrouiller. Si ce n'est pas le cas on pourra y revenir.
    Bonjour,

    Après avoir rapidement parcouru la doc il me semble comprendre que j'ai besoin de sérialiser une classe PHP pour gérer un flux XML entre le serveur et le client .

    Je commence donc ( via google ) à faire quelques recherches avec comme mots clés : peardb +xml ou encore php +json

    existe t il d'autres voies de recherche ?

  18. #17
    invite197a0b64

    Re : gestion projet : Mysql/php et drag and drop

    Si tu veux faire du drag & drop sur une appli web, pourquoi ne pas utiliser directement une API comme Ruby on Rails ?

  19. #18
    inviteb271042d

    Re : gestion projet : Mysql/php et drag and drop

    Citation Envoyé par gebruik Voir le message
    Si tu veux faire du drag & drop sur une appli web, pourquoi ne pas utiliser directement une API comme Ruby on Rails ?
    Bonjour,

    Depuis hier soir j'y pense car j'ai trouve un tuto expliquant la pagination sous ruby avec un modele MVC.

    Le seul problème c'est que je ne connais rien à ruby ( ni à "on rails" ) et que j'ai un peu plus l'habitude du javascript et du php.

  20. #19
    inviteac19cf05

    Re : gestion projet : Mysql/php et drag and drop

    Bonjour,

    mon problème est sensiblement identique à celui là. Sauf que l'API que j'utilise c'est YUI. J'ai réalisé un draganddrop qui fonctionne. Et maintenant j'aimerais mettre à jour ma base en mettant les enregistrements dans l'ordre que j'ai réalisé avec le draganddrop. Pour info c'est des div contenant les champs de ma base que je bouge. Voilà le contenu des div :

    Code:
    <div class=ddentry id="bb$i">
                Type : <input type="text" name="type_$i" id="type_$i" value= "$R[struct_type_stream]" ><br />
                Nom : <input type="text" name="nom_$i" id="nom_$i" value= "$R[struct_nom]"><br />
                Libelle : <input type="text" name="libelle_$i" id="libelle_$i" value= "$R[struct_libelle]" ><br />
                Type des données : <input type="text" name="datatype_$i" id="datatype_$i" value="$R[struct_datatype]" >
                <input type=hidden name="sturct_id_$i" id="sturct_id_$i" value="$sturct_id">
             </div>
    et voilà le début de ma fonction php qui fait la mise a jour.

    Code:
    Code PHP:
    function pimpValiderStructureDocument($html) {              $sturct_id $_POST['sturct_id'];         $struct_type $_POST['type'];         $struct_nom $_POST['nom'];         $struct_libelle $_POST['libelle'];         $struct_datatype $_POST['datatype'];                                              foreach($_REQUEST as $k => $v)          {                               $k split ("_"$sturct_id7);                              $sql "update stream_structure_2                      set struct_type_stream='" $struct_type "', struct_nom='" $struct_nom "', struct_libelle='" $struct_libelle "', struct_datatype='" $struct_datatype "'                     where sturct_id='" $sturct_id "'" ;                          } } 
    je sais même pas si mon update est juste. Mais pouvez-vous m'aider pour réaliser cette mise à jour. Merci d'avance.
    Dernière modification par yoda1234 ; 19/03/2008 à 12h03.

  21. #20
    inviteac19cf05

    Re : gestion projet : Mysql/php et drag and drop

    bonjour à tous,

    sa y es j'ai résolu mon problème. J'ai appris un truc très utile en php, c'est les regex. Et encore je trouve que celle que j'ai utilisé est pas compliqué. Je vous donne donc ma solution commentée, si quelqu'un à l'avenir à le même souci.

    Le formulaire :


    Code:
    <div class=ddentry id="bb$R[sturct_id]">
                Type : <input type="text" name="type_$R[sturct_id]" id="type_$R[sturct_id]" value= "$R[struct_type_stream]" ><br />
                Nom : <input type="text" name="nom_$R[sturct_id]" id="nom_$R[sturct_id]" value= "$R[struct_nom]"><br />
                Libelle : <input type="text" name="libelle_$R[sturct_id]" id="libelle_$R[sturct_id]" value= "$R[struct_libelle]" ><br />
                Type des données : <input type="text" name="datatype_$R[sturct_id]" id="datatype_$R[sturct_id]" value="$R[struct_datatype]" >
               	<input name="lst_sturct_id$R[sturct_id]" id="lst_sturct_id$R[sturct_id]" type="hidden" value="$R[sturct_id]"/>
    
             </div>
    
    
            $struct_type = $R['struct_type_stream'];
            $struct_nom = $R['struct_nom'];
            $struct_libelle = $R['struct_libelle'];
            $struct_datatype = $R['struct_datatype'];
            $sturct_id = $R['sturct_id'];
    	}
    
        <style type=text/css>
        div.ddentry { border:1px solid #999; border-left:20px solid #999;margin-bottom:4px; padding:4px; }
        </style>
        <h1>Gestion des documents de type $type</h1>
        <form name="form" id="form" method=post action='$_SERVER[PHP_SELF]'>
        <input type=hidden name=Action value='$_REQUEST[Action]'>
        <input type=hidden name=Etape value='valider'>
        $html
        <input type=submit  >
        </form>
    
    
    et le code permettant de valider avec la regex : 
    
    
    function pimpValiderStructureDocument($html)
    {
        
        
    
    
    
        // Parcours des champs du formulaire pour enregister chaque ligne
        $struct_ordre=1;
        foreach ($_POST as $k => $v)
        {
            if (! ereg("^lst_sturct_id([0-9]+)$",$k,$o)) continue; // On ne recherche que les champs hidden embarquant l'id de la bdd
            
            $ligne = $o[1]; // numéro de la ligne en cours de traitement
            $id = $v;       // L'id de l'enregistrement est la valeur de ce champs
    
            $Data = array(); // Créer un tableau vide pour stoker les valeurs à enregistrer
            $Data['struct_type_stream'] = $_POST['type_'.$ligne];
            $Data['struct_nom'] = $_POST['nom_'.$ligne];
            $Data['struct_libelle'] = $_POST['libelle_'.$ligne];
            $Data['struct_datatype'] = $_POST['datatype_'.$ligne];
            $Data['struct_ordre'] = $ordre;
    
            if ($id){ // Si un id est dispo => enregistrement existant à modifier, sinon enregistrement à créer
                dbiUpdateBDArray('stream_structure_2', 'sturct_id', $id,  $Data);
               $struct_ordre++;
            }
            else
                dbiInsertBDArray('stream_structure_2', $Data);
        }
    
             
    }
    Dernière modification par yoda1234 ; 19/03/2008 à 12h02. Motif: Rajout de balises

  22. #21
    invite6186b16b

    Re : gestion projet : Mysql/php et drag and drop

    Bonjour,
    j'ai fais un tutoriel qui pourrais vous aidez ou en aider d'autres pour le même problème : #########
    Bon courage à tous et n'hésitez pas a venir me faire un coucou

    Le problème ayant été résolu, je suppose que tu fais de la publicité pour ton site.

    J'ai donc effacé le lien.

    yoda1234.
    Dernière modification par yoda1234 ; 18/04/2008 à 10h02.

Discussions similaires

  1. test avec PHP MySQL
    Par SunnySky dans le forum Internet - Réseau - Sécurité générale
    Réponses: 2
    Dernier message: 18/02/2007, 03h18
  2. Windev 10 et Drag & Drop
    Par invitea88e6ae4 dans le forum Logiciel - Software - Open Source
    Réponses: 1
    Dernier message: 13/01/2007, 11h57
  3. [PHP/MySQL] Pb création agenda
    Par invitebfe3532c dans le forum Logiciel - Software - Open Source
    Réponses: 2
    Dernier message: 03/11/2006, 08h15
  4. Php/MySQL - Ordonner des résultats
    Par invite17c77fd5 dans le forum Internet - Réseau - Sécurité générale
    Réponses: 1
    Dernier message: 22/03/2006, 09h34
  5. petits problemes liés à PHP ,MySQL
    Par invitee17aeca5 dans le forum Logiciel - Software - Open Source
    Réponses: 4
    Dernier message: 24/12/2005, 13h05
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...