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 :

Comparer le resultat d'une requete avec des fichiers [MySQL]


Sujet :

PHP & Base de données

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

    Informations forums :
    Inscription : Décembre 2005
    Messages : 24
    Points : 13
    Points
    13
    Par défaut Comparer le resultat d'une requete avec des fichiers
    Bonjour,

    A nouveau jour, nouveau probleme^^... Voilà ce que j'aimerais faire.

    J'ai une base de données contenant le nom de fichier et un endroit sur mon disque ou je stocke ces images. Les titres correspondent bien entendu mais voilà j'aimerais zipper tout ça et uniquement ça.

    En sommes j'aimerais que mon zip ne prenne en compte que les fichiers qui sont référencés dans ma base sql et qu'il laisse de coté les fichiers qui n'y sont pas.

    Aprés des recherches diverses sur le net et des demandes, je suis arrivé à cela malheureusement cela bug encore et je n'arrive pas à comprendre pourquoi?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    $archive = new PclZip($v_extractdvd."normal.zip");
    $sql = "SELECT nomfichier FROM table";
    $query = mysql_query($sql) or die(mysql_error());
    //On parcourt tous les resultats donnés par la requete
    while ($fetch = mysql_fetch_array($query)) {
        //On vérifie que le fichier existe
        if (file_exists($v_repaffiche.$fetch['fichier'])) {
            //Et si il existe, on l'ajoute au fichier .zip
            $v_list = $archive->add($v_repaffiche.$fetch['fichier'], PCLZIP_OPT_REMOVE_ALL_PATH);
        }
    }
    J'ai tenté de faire un echo sur le fetch cela me renvoie un index indéfini sur fichier et le repertoire des fichiers mais pas le nom.

    Si je lance cela, le fichier zippe augmente en boucle sans jamais s'arreter, duppliquant sans cesse tous les fichiers meme ceux non désiré...

    Merci d'avance si vous avez une petite idée sur ce qui foire^^ dans le code...

  2. #2
    Inscrit
    Avatar de Caerbannog
    Inscrit en
    Novembre 2004
    Messages
    206
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 206
    Points : 273
    Points
    273
    Par défaut
    Il y au moins deux bugs évidents (je ne sais pas faire des zips dons p-e plus ) :
    Citation Envoyé par Un webmaster distrait
    $archive = new PclZip($v_extractdvd."normal.zip");
    $sql = "SELECT nomfichier FROM table";
    $query = mysql_query($sql) or die(mysql_error());
    //On parcourt tous les resultats donnés par la requete
    while ($fetch = mysql_fetch_array ($query)) {
    //On vérifie que le fichier existe
    if (file_exists($v_repaffiche.$fetch['fichier'])) {
    //Et si il existe, on l'ajoute au fichier .zip
    $v_list = $archive->add($v_repaffiche.$fetch['fichier'], PCLZIP_OPT_REMOVE_ALL_PATH);
    }
    }
    En rouge : Tu t'est trompé, c'est mysql_fetch_assocqu'il faut, car tu accède au contenu avec un index non-numérique (sinon il faudrait faire $fetch[0])
    En vert : il y a un problème
    Tes noms de colonne diffèrent !

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

    Informations forums :
    Inscription : Décembre 2005
    Messages : 24
    Points : 13
    Points
    13
    Par défaut
    J'ai corrigé les deux et mis assoc, cela fait la même chose. Enfin presque.

    Cela n'envoie pas tous les fichiers mais pas ceux que je souhaite et la taille continue à augmenter^^...

    Etrange...

    Edit : J'ai trouvé finalement. C'etait du à des champs Null dans ma base. En mettant un simple ! =Null tout fonctionne à merveille

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Resultat d'une requete avec le total ?
    Par walou dans le forum Requêtes
    Réponses: 5
    Dernier message: 24/08/2007, 11h35
  2. Réponses: 6
    Dernier message: 24/06/2007, 01h13
  3. écriture d'une requete avec des apostrophes
    Par freestyler dans le forum Delphi
    Réponses: 2
    Dernier message: 10/10/2006, 12h00
  4. Transformation d'une requete avec des outer join
    Par keumlebarbare dans le forum Oracle
    Réponses: 5
    Dernier message: 20/09/2006, 17h23
  5. Creer une requete avec des LEFT JOIN et des GRO
    Par donbuz dans le forum Langage SQL
    Réponses: 2
    Dernier message: 01/09/2004, 15h53

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