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 :

Lister un dossier puis comparer à une base de données [MySQL]


Sujet :

PHP & Base de données

  1. #21
    Membre régulier Avatar de bartrik
    Inscrit en
    Novembre 2003
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 104
    Points : 122
    Points
    122
    Par défaut
    Oui, c'est ce que je voulais dire.

  2. #22
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 349
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 349
    Points : 1 460
    Points
    1 460
    Par défaut
    pas forcement cela dépend de ce que tu veux en faire deplus tu utilise un compteur qui sert a rien je t'ai retouché ton code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    <?php
    include "connect.php";
    $req=mysql_query("select avatar,media1 from log")or die(mysql_error());  //rajout de mysql error pour voir les erreurs sql
    if (mysql_num_rows($req)>0) {
    	while ($row=mysql_fetch_array($req)) {
    		$avatar[]=$row['avatar'];//tu n'as pas beosin du $i ton index s'increment automatiquement
    //je ne sais pas ce que tu veux faire de media1
    	}
    } else {
    	die("no avatar in database");
    }	
     
     
    $dir = "images/avatars";
    $dh = opendir($dir);
    	while ($file = readdir($dh)) {
    		if ($file != '.' && $file != '..') {	
    			$verif="<img src=images/avatars/".$file." border=0>"; 
    			if ( !in_array( $verif,$avatar ) ) { //tu n'avais beosin de faire que le else
    				unlink ($dir."/".$file);
    			}
    		}
    	}
    closedir($dh); 
     
    ?>
    ps: cela ne sert par exemple a rien de mettre media1 dans un tableau si tu veux seulement l'affiché

  3. #23
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2008
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 34
    Points : 20
    Points
    20
    Par défaut
    en fait media1 (y en a 10 en tout) sont dans un autre dossier
    images/photo
    et je veux faire pareil qu'avec avatar

  4. #24
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 349
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 349
    Points : 1 460
    Points
    1 460
    Par défaut
    je te propose quelque chose comme ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    <?php
    function supp_photo($dir,$tab) {
     
    	$dh = opendir($dir);
    	while ($file = readdir($dh)) {
    		if ($file != '.' && $file != '..') {	
    			$verif="<img src=".$dir."/".$file." border=0>"; 
    			if ( !in_array( $verif,$avatar ) ) { //tu n'avais beosin de faire que le else
    				unlink ($dir."/".$file);
    			}
    		}
    	}
    closedir($dh); 	
    }
    include "connect.php";
    $req=mysql_query("select avatar,media1 from log")or die(mysql_error());  //rajout de mysql error pour voir les erreurs sql
    if (mysql_num_rows($req)>0) {
    	while ($row=mysql_fetch_array($req)) {
    		$avatar[]=$row['avatar'];//tu n'as pas beosin du $i ton index s'increment automatiquement
    		$media1[]=$row['media1'];						
    	}
    } else {
    	die("no avatar or no media1 in database");
    }	
     supp_photo("images/avatars",$avatar);
     supp_photo("images/photo",$media1);
     
    ?>

  5. #25
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2008
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 34
    Points : 20
    Points
    20
    Par défaut
    ca a l'air d'etre plus simple que ce que j'avais fais avec 10 array + 10 variable + la suite avec encore des array et des variable lol
    bon bah essayage alors
    merci

  6. #26
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2008
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 34
    Points : 20
    Points
    20
    Par défaut
    undefined variable :avatar on line 19
    et in_array() function in array wrong datatype for second argument on line 19


  7. #27
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 349
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 349
    Points : 1 460
    Points
    1 460
    Par défaut
    excuse moi petit oubli remplace

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if ( !in_array( $verif,$avatar ) )
    par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if ( !in_array( $verif,$tab ) )

  8. #28
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2008
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 34
    Points : 20
    Points
    20
    Par défaut
    tu est pardonné surtout que t'as resolu mon probleme
    c'est sympa

    juste pour optimiser le code (vu que j'ai 10 média en tout)

    est ce que je peux faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    for($i=1;$i<=10;$i++){
    $media.$i.[]=$row['media'.$i];
    }
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    for($i=1,$i<=10,$i++){
    supp_photo("images/photo",$media.$i);
    }

  9. #29
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2008
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 34
    Points : 20
    Points
    20
    Par défaut
    c'est bizarre mais ca efface tout les fichiers media
    mais les avatars c'est bon

  10. #30
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2008
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 34
    Points : 20
    Points
    20
    Par défaut
    j'ai compris mon erreur en faite
    la je dis compare toutes les colonnes media en meme temps et si c'est pas dans la 1 c'est peut etre dans les suivantes mais vu que cela efface directe...
    raaahhhh
    comment je peux faire pour d'abord verifier et après supprimer ou bien verifier toutes les colonnes en meme temps...

  11. #31
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 349
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 349
    Points : 1 460
    Points
    1 460
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    <?php
    function supp_photo($dir,$tab) {
     
    	$dh = opendir($dir);
    	while ($file = readdir($dh)) {
    		if ($file != '.' && $file != '..') {	
    			$verif="<img src=".$dir."/".$file." border=0>"; 
    			if ( !in_array( $verif,$avatar ) ) { //tu n'avais beosin de faire que le else
    				unlink ($dir."/".$file);
    			}
    		}
    	}
    closedir($dh); 	
    }
    include "connect.php";
    $req=mysql_query("select avatar,media1 from log")or die(mysql_error());  //rajout de mysql error pour voir les erreurs sql
    if (mysql_num_rows($req)>0) {
    	while ($row=mysql_fetch_array($req)) {
    		$avatar[]=$row['avatar'];//tu n'as pas beosin du $i ton index s'increment automatiquement
    		for($i=1;$i<=10;$i++){
    		$media[$i][]=$row['media'.$i];						
    		}
    	}
    } else {
    	die("no avatar or no media1 in database");
    }	
     supp_photo("images/avatars",$avatar);
     for($i=1;$i<=10;$i++){
    	supp_photo("images/photo",$media[$i]);
     		}
    ?>
    essaye ça

  12. #32
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2008
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 34
    Points : 20
    Points
    20
    Par défaut
    ok j'essaye mais j'ai un peu modifier la requete

    $req=mysql_query("select avatar,media1, media2, media3, media4, media5, media6, media7, media8, media9, media10 from log")or die(mysql_error());

    et tous les medias sont contenu dans le meme dossier donc quand on verifie media1 cela efface tout ce qui n'est pas dedans donc aussi media2&3&4...

  13. #33
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 349
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 349
    Points : 1 460
    Points
    1 460
    Par défaut
    oui il faut changer la requete sql

    et en faite j'ai fais une erreur comme cela:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    <?php
    function supp_photo($dir,$tab) {
     
    	$dh = opendir($dir);
    	while ($file = readdir($dh)) {
    		if ($file != '.' && $file != '..') {	
    			$verif="<img src=".$dir."/".$file." border=0>"; 
    			if ( !in_array( $verif,$tab ) ) { //tu n'avais beosin de faire que le else
    				unlink ($dir."/".$file);
    			}
    		}
    	}
    closedir($dh); 	
    }
    include "connect.php";
    $req=mysql_query("select avatar,media1,... from log")or die(mysql_error());  //rajout de mysql error pour voir les erreurs sql
    if (mysql_num_rows($req)>0) {
    	while ($row=mysql_fetch_array($req)) {
    		$avatar[]=$row['avatar'];//tu n'as pas beosin du $i ton index s'increment automatiquement
    		for($i=1;$i<=10;$i++){             
    		$media[$i][]=$row['media'.$i];						
    		}
    	}
    } else {
    	die("no avatar or no media1 in database");
    }	
     supp_photo("images/avatars",$avatar);
     supp_photo("images/photo",$media[]);/on passe tout les medias
    ?>
    précision si tu ne te ressers pas du résultat ensuite dans ton code tu peux même faire

    $media[]=$row['media'.$i]; tu ne pourras plus distingué les media1 des media2 par contre

    au lieu de $media[$i][]=$row['media'.$i];

  14. #34
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2008
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 34
    Points : 20
    Points
    20
    Par défaut
    merci les gars
    cela fonctionne
    juste pour info

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $media[$i][]=$row['media'.$i.''];
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $media[$i][]=$row['media'.$i];
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    supp_photo("images/photo",$media[]);
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     supp_photo("images/photo",$media);
    merci boo et bartrik

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Réponses: 13
    Dernier message: 30/04/2015, 22h16
  2. Réponses: 0
    Dernier message: 25/02/2013, 11h19
  3. Création d'une base de données sur un dossier partagé
    Par richard038 dans le forum Bases de données
    Réponses: 1
    Dernier message: 29/03/2006, 12h26
  4. [Debutant] Lister les tables d'une base de données
    Par Konrad Florczak dans le forum Langage SQL
    Réponses: 2
    Dernier message: 06/07/2005, 16h24

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