IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Application SQL sur intranet


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    265
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 265
    Points : 20
    Points
    20
    Par défaut Application SQL sur intranet
    Bonsoir, je dois réaliser une application permettant de gérer les BDD.
    En fait, on a un disque réseau dans lequel on a des BDD définitives (remplies donc).
    On voudrait créer une appli qui demande à l'utilisateur le nom de la BDD surlaquelle il souhaite travailler, l'appli doit ensuite se connecter au disque réseau pour voir si elle est présente, si oui (on affiche les tables remplies d'un côté et l'utilisateur est invité à les modifier d'un autre, ensuite on fera une sauvegarde de la BDD sur le disque réseau) si la BDD n'est pas trouvé (on crée une BDD vierge en lançant un script, puis on invite l'utilisateur à remplir les tables demandés). Je pense qu'il faudrait aussi demander l'IP à l'utilisateur afin de créer la BDD sur le PC même dans ce cas ...
    Je voulais faire ça sur un intranet en HTML/PHP/SQL, pensez vous que c'est faisable ? Je pense que la difficulté majeure sera d'utiliser les scripts SQL des BDD présents dans le NAS .... Si vous avez des idées sur ce projet n'hésitez pas, merci

  2. #2
    Membre éprouvé Avatar de redoran
    Homme Profil pro
    Développeur-Amateur
    Inscrit en
    Juin 2010
    Messages
    1 346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur-Amateur
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 346
    Points : 1 031
    Points
    1 031
    Par défaut
    Salam ; SNY77 tous est faisable... question d'organisation
    reprenant a zero :
    BDD définitives (remplies donc)
    pourquoi crée d'autres a nouveau !!!!!
    On voudrait créer une appli qui demande à l'utilisateur le nom de la BDD surlaquelle il souhaite travailler, l'appli doit ensuite se connecter au disque réseau pour voir si elle est présente
    là vous proposé une interface avec les différentes connexions de BDD sous fourme de line ou boutons.
    si la BDD n'est pas trouvé (on crée une BDD vierge en lançant un script, puis on invite l'utilisateur à remplir les tables demandés)
    normalement les BDD sont déjà crée sauf si vous voulez faire dupliqué les bdd !!!!
    Je pense qu'il faudrait aussi demander l'IP à l'utilisateur afin de créer la BDD sur le PC même dans ce cas ...
    en php y'a des fonctions pour récupérées l'adresse IP de l'utilisateur et même faire la traçabilité ,là je comprend que vous voulez dupliqué la BDD.
    ici faut pensé a un script de mise a jour automatique de la BDD matrice.
    en fin de compte tous est faisable avec une bonne modélisation ( étude de l'existant , besoins de l'utilisateur.......) .
    aller courage qui tente rien n'a rien

  3. #3
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    265
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 265
    Points : 20
    Points
    20
    Par défaut BDD
    Merci pour la réponse ...
    Je me réexplique :
    En fait, les BD livrées avec nos systèmes sont déposer sur le NAS (Lacie) avant la livraison (tous sont des fichiers SQL ...).
    On voudrait créer une interface (via un site WEB intranet par exemple) qui demande à l'utilisateur de taper le nom d'une BDD (si le nom est trouvé dans le NAS) alors on propose la modification des valeurs des champs, puis on enrengistre la nouvelle BDD sans écraser l'ancienne sur le NAS (je pense que la meilleure solution sera de créer la BDD en local via le script puis apporter les modifications dessus). Si elle n'est pas trouvé, on crée une BDD vierge dans laquelle on rentrera les valeurs. La BDD sera crée sur le PC utilisateur (ils ont déjà MySQL installé ...), ensuite on fera une sauvegarde sur le NAS.
    Merci.

  4. #4
    Membre éprouvé Avatar de redoran
    Homme Profil pro
    Développeur-Amateur
    Inscrit en
    Juin 2010
    Messages
    1 346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur-Amateur
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 346
    Points : 1 031
    Points
    1 031
    Par défaut
    Re , je crois il faut commencé par crée l'interface et appelé les script et on verra le résultat. on peut pas se prononcé sans rien testé.
    c'est faisable y'a ce que on appel les applications fortement paramétrées et là vous avez du travail

  5. #5
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    265
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 265
    Points : 20
    Points
    20
    Par défaut
    Personne ?
    La 1ère étape ca sera d'abord de créer un script (php ?) qui fasse la :
    - Connexion au NAS (on a nos BDD livrés dessus, fichiers .sql)
    - Importation des BDD.sql dans le dossier SQL des PC (comment ça se passera si le fichier .sql a déjà était copier ?)
    - Importation des .sql dans MySQL (--> création des BDD, parcontre ici vous avez dit que les BDD doivent tte être présente pour regarder si la BDD est présente ou non depuis la page HTML, donc on importe toutes les BDD à chaque fois ? )
    C'est qu'à partir de là, que je pourrais commencer la suite (ecriture dans la BDD, renvoie vers le NAS ...). Avez vous des idées pour la 1ère partie (sachant que j un peu simplifier la tâche, parce que initialement l'utilisateur devait taper le nom d'une BDD sur la page HTML et ensuite il y avait une recherche dans le NAS ..., là je proposerai tout cas dans un script qui pourra éventuellement se déclencher tout seul pour plus de transparence et ce seront toutes les BDD qui seront importés parcontre!!!) Merci

  6. #6
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 239
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 239
    Points : 8 508
    Points
    8 508
    Billets dans le blog
    17
    Par défaut
    Citation Envoyé par SNY77 Voir le message
    - Connexion au NAS (on a nos BDD livrés dessus, fichiers .sql)
    Faire en sorte que les fichiers .sql soient accessibles sur le réseau (FTP/HTTP/etc.).

    - Importation des BDD.sql dans le dossier SQL des PC
    Fonctions copy( ), file_get/put_contents( ), etc.

    (comment ça se passera si le fichier .sql a déjà était copier ?)
    A toi de gérer ça : message d'erreur ou écrasement de l'ancien fichier par exemple.

    - Importation des .sql dans MySQL
    Exécuter mysql -u user -p password < /chemin/vers/fichier.sql

  7. #7
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    265
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 265
    Points : 20
    Points
    20
    Par défaut
    Ok, donc dans un 1er temps il faudrais que je fasse un script (en PHP ça doit être la meilleure solution) qui se connecte au partage BDD du NAS (j'ai juste à taper \\IPnas\dossier ... ?) et qui fasse une copie des .sql vers le dossier SQL (MySQL) des PCs. Avez vous une idée pour faire cela ... ?
    Merci;

  8. #8
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 239
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 239
    Points : 8 508
    Points
    8 508
    Billets dans le blog
    17
    Par défaut
    Citation Envoyé par SNY77 Voir le message
    Ok, donc dans un 1er temps il faudrais que je fasse un script qui se connecte au partage BDD du NAS et qui fasse une copie des .sql vers le dossier SQL (MySQL) des PCs. Avez vous une idée pour faire cela ... ?
    Oui, j'ai détaillé plus haut.

  9. #9
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    265
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 265
    Points : 20
    Points
    20
    Par défaut
    Mais pour la connection au NAS on fait comment (désolé je suis débutant, je trouve pas d'exemple de scripts pour des copies sur le web) ?

  10. #10
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 239
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 239
    Points : 8 508
    Points
    8 508
    Billets dans le blog
    17
    Par défaut
    Mais pour la connection au NAS on fait comment
    Faire en sorte que les fichiers .sql soient accessibles sur le réseau (FTP/HTTP/etc.).

    Ensuite tu peux y accéder facilement avec PHP, exemple pour FTP :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $ip = '192.168.0.123' ; // IP du NAS sur le réseau
    copy("ftp://$ip/chemin/vers/fichier.sql", '/où/tu/veux/en/local/fichier.sql') ;

  11. #11
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    265
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 265
    Points : 20
    Points
    20
    Par défaut
    OK et merci surtout, parcontre je pense qu"il doit avoir une configuration a faire au niveau du NAS pour permettre le FTP, sinon je voudrais faire une copie de tous les fichiers.sql en fait ; Puis sinon, j'avais vu la fonction xcopy qui permet aussi de faire une copie de fichiers ...

  12. #12
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 239
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 239
    Points : 8 508
    Points
    8 508
    Billets dans le blog
    17
    Par défaut
    Citation Envoyé par SNY77 Voir le message
    OK, parcontre je pense qu"il doit avoir une configuration a faire au niveau du NAS pour permettre le FTP
    Probablement. FTP n'est pas une obligation, à voir ce qui convient à ton cas pour une mise en &oelig;uvre simple.

    sinon je voudrais faire une copie de tous les fichiers.sql en fait ;
    Parcourir les fichiers, les copier un à un : le copy dans une boucle.

  13. #13
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    265
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 265
    Points : 20
    Points
    20
    Par défaut
    Je crois qu'il serait mieux de faire cette 1ère partie en bat, (pour créer un fichier .exe qui s’exécutera tout seul), avec la fonction xcopy, du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xcopy \\192.168.0.5\nas\*.* c...\SQL\
    Je sais, il doit avoir beaucoup d'erreurs dans cette commande, pour le chemin de destination j'ai pas mis le chemin entier pour le dossier SQL du serveur SQL.

  14. #14
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    265
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 265
    Points : 20
    Points
    20
    Par défaut
    Pour revenir au sujet ...
    En fait, les BDD stockent les résultats des tests, elles sont remplis depuis les PCs de développement puis elles sont enrengistrer sur le NAS, on voudrait donc que les développeurs puissent modifier certains paramètres en reprenant des BDD issues du NAS (en sauvegardant une nouvelle version, sans toucher à la 1ère), le developpeur aura ensuite la BDD sur son PC et il pourra réaliser les tests et récupérer de nouvelles valeurs en fonction des paramètres (il y a qu'un certain nombre de tables à modifier, je pense que je devrais supprimer les enregistrements des autre tables afin de recevoir les nouvelles valeurs ...) elles devront ensuite être sauvegardé sur le NAS ...
    Quelle est la meilleure solution (centraliser le site ou le dispatcher sur les PCs de dev) ? Argumentez si possible ...
    ps : l'idéal serait que lorsqu'on sauvegarde une BDD sur le NAS, elle soit directement créer sur le PC de développement (on est dans ce cas plus vers la configuration centralisé, si on opte pour la 2ème solution, il faudrait la créer uniquement sur le PC qui émet la demande de modification d'une BDD ...)
    Merci beaucoup ...

  15. #15
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    265
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 265
    Points : 20
    Points
    20
    Par défaut
    Personne ? (je ne suis qu'au début du projet, je dois faire valider une solution possible avec mon tuteur avant de commencer la technique ...).
    Merci;

  16. #16
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    265
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 265
    Points : 20
    Points
    20
    Par défaut
    Je voudrais maintenant importer des BDD MySQL (fichiers SQL) issus d'un dossier : (je place le batch dans le dossier même ou se trouve les BDD)
    j'ai commencer à code, mais ça ne fonctionne pas :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    @path c:\wamp\bin\mysql\mysql5.1.36\bin\
    @set EMPLACEMENT="D:\Documents and Settings"
    @for /F "usebackq" %%i in (`dir /b`) do (
    mysql -h hote -u root --password=pass bdd < %EMPLACEMENT%\%%~nxi)


    OU
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    @path c:\wamp\bin\mysql\mysql5.1.36\bin\
    @set EMPLACEMENT="D:\Documents and Settings"
    for %%X in (*.sql) do commande (
    mysql -h hote -u root --password=pass bdd < %EMPLACEMENT%\%%~nxi)


    Aucun des deux ne marche, ca aurait était plus compliqué en PHP !?... Il faut donc une boucle FOR qui importe les BDD pour tous les fichiers .sql
    Merci;

  17. #17
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    265
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 265
    Points : 20
    Points
    20
    Par défaut
    J'ai commencer a regarder en PHP pour lister les fichiers dans une liste déroulante, ca me donne pas grand chose (affichage des noms des fichiers sur une ligne)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <?php
    $dir = @dir('D:/Documents And Settings');
    if($dir){
    while ($entry = $dir->read()){
    if(!is_dir('./'.$entry) && $entry != "." && $entry != ".." ){
    echo "<option value=\"$entry\">$entry</option>";
    }
    }
    }
    else
    echo "Le dossier ne peut pas être ouvert";

    ps:pour la copie des fichiers c'est bon j'ai fais ça en batch...
    Au fait, le but est de permettre la sélection d'une BDD via une liste déroulante (je me suis dis que juste en récupérant le nom du fichier ca suffira, sinon je pourrai très bien extraire les noms des BDD directement depuis le serveur MySQL, est ce meilleure comme solution ?). Je récupererai la valeurs de la variable dans d'autre pages.
    Merci beaucoup!

  18. #18
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    265
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 265
    Points : 20
    Points
    20
    Par défaut
    Sur le serveur WEB, j'ai un serveur mysql avec une BDD vierge, je voudrais que les utilisateurs puissent créer de nouvelles bases en utilisant le modele de cette BDD (pour la remplir après via un formulaire ...) en lui donnant un nom mais en LAISSANT toujours de côté la BDD vierge. Quel est la meilleure solution ? Je demande le nom de la nouvelle BDD et execute le script de la BDD vierge par la suite (niveau temps d'execution c'est rapide (php) ? ...)
    Merci;

  19. #19
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    265
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 265
    Points : 20
    Points
    20
    Par défaut
    Je veux faire une importation en ligne de commande après avoir créer une BDD mais ca fonctionne pas (le script PHP est un dump mysql ...)
    create database serveur;
    use serveur;
    OK pour ces deux commandes.
    Après, j'essaye de faire une importation, mais j'ai toujours le même message d'erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    mysql> mysql -h localhost -u root --password=root serveur < table.sql;
    ERROR 1064 (42000): 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 'mysql
     -h localhost -u root --password=root serveur < table.sql' at line 1
    Merci;

  20. #20
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    265
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 265
    Points : 20
    Points
    20
    Par défaut
    J'ai remarque que certaines lignes de PHP n'étaient pas interprétés (ce qui explique l’absence de l'affichage des erreurs), ca peut etre du a quoi ?
    ps: le code est bon ... c'est un simple formulaire qui fonctionnait avant, j'ai même essayer un code php basique sur une page vierge sans CSS ca passe pas (je vois le code sur ma page WEB, et sur d'autre page je le vois même pas, il passe inapercu!!! alors que sur certaines lignes ils l'interprete!)
    MERCI; (j'utilise wamp)

Discussions similaires

  1. Application acces sur intranet
    Par chettane dans le forum Access
    Réponses: 12
    Dernier message: 11/06/2011, 13h36
  2. Réponses: 0
    Dernier message: 02/04/2010, 16h36
  3. Réponses: 4
    Dernier message: 08/03/2010, 09h22
  4. application access sur base sql server
    Par souma dans le forum Access
    Réponses: 1
    Dernier message: 05/05/2006, 09h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo