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 :

Mise à jour d'une base a partir d'upload de fichiers


Sujet :

PHP & Base de données

  1. #1
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2012
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2012
    Messages : 53
    Points : 27
    Points
    27
    Par défaut Mise à jour d'une base a partir d'upload de fichiers
    mon application cree des tables dans une base de donnée sans l'intervention d'un utilisateur, en consultant les fichiers d'un dossier spécifique et le com des tables est celui du fichier, mais ce que je n'ai pas su comment faire une mise à jour instantanée pour la base de donnée: si un nouveau fichier est ajouté dans le dossier, comment la table est crée sans relancer programme.
    Le code est le suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $iter = new DirectoryIterator( $directory );  
    foreach($iter as $file ) {  
        if ( !$file->isDot() ) {  
            $csvfile= $file->getFilename();  
    // les fichiers CDR
     
    $sql= "CREATE TABLE IF NOT EXISTS `".$csvfile."` (
    `cdrRecordType` int(10) NOT NULL,
    globalCallID_callManagerId` int(10) NOT NULL);
    $result = mysqli_query($link, $sql);
    et ce code pour charger la table:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     $pdo =  new PDO ('mysql:host=localhost;dbname=statistiques', 'root' , '' ,array ( 
    	PDO::MYSQL_ATTR_LOCAL_INFILE =>  true ,PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
    	}  
    catch  ( PDOException $e )  { 
        die ( "database connexion a échoué: " . $e -> getMessage ()); 
    }
    $AffectedRows = $pdo -> exec ("LOAD DATA LOCAL INFILE '".$csvfile1."' INTO TABLE `".$csvfile."` FIELDS TERMINATED BY ',' ENCLOSED BY '\"' LINES TERMINATED BY '\n' IGNORE 2 LINES;");

  2. #2
    Membre actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2007
    Messages
    314
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2007
    Messages : 314
    Points : 217
    Points
    217
    Par défaut
    d'aprés ce que j'ai compris de ton message tu veux lancer un script automatiquement.

    je crois les cron linux font ça ( c'est l'équivalent tache planifiée windows)

  3. #3
    Modérateur
    Avatar de BakSh0
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2014
    Messages
    276
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2014
    Messages : 276
    Points : 1 271
    Points
    1 271
    Par défaut
    Citation Envoyé par soussou1010 Voir le message
    je n'ai pas su comment faire une mise à jour instantanée pour la base de donnée: si un nouveau fichier est ajouté dans le dossier, comment la table est crée sans relancer programme.
    Bonjour,

    En effet il faut utiliser un 'cron' (sous linux : crontab, voir la documentation : man crontab), qui lancera un script toutes les secondes par exemple, ce code lira les fichiers dans ce dossier et lorsqu'il trouve un nouveau fichier il lancera votre script SQL. (Il faudra stocker les fichiers qui ont déjà été scanné par le script quelque part bien évidement afin d'éviter qu'il fasse tous les fichiers même les anciens).
    BakSh0, Modérateur .Net & Web

    Affichez la colorisation syntaxique dans votre code en ajoutant dans votre balise : [CODE=xxx] en remplaçant xxx par le nom du langage.


    N'oubliez pas de consulter les FAQs : .Net / Web et les cours et tutoriels .Net / Web

Discussions similaires

  1. [Débutant] Mise à jour d'une base SQlite à partir d'un DGV
    Par Triton972 dans le forum Entity Framework
    Réponses: 10
    Dernier message: 28/01/2013, 21h56
  2. Réponses: 4
    Dernier message: 25/05/2011, 18h08
  3. Réponses: 0
    Dernier message: 10/12/2009, 18h03
  4. Réponses: 4
    Dernier message: 05/08/2009, 14h00
  5. mise a jour d'une base a partir d'une autre base
    Par seb3099 dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 18/06/2004, 08h20

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