Se connecter avec
S'enregistrer | Connectez-vous

DELETE dans une boucle

Dernière réponse : dans Programmation

Bonjour,

J'ai ce script qui me permet de lister un repertoire et d'ajouter les entrées à ma table.
Tout fonctionne pour le mieux.

Néanmoins, il reste simplement un petit bémol.
Ce repertoire est mis à jour régulièrement. On y ajoute des fichiers et on en retire fréquemment.
Comment, dans la boucle, pourrai-je supprimer les fichiers qui n'existe plus ?

Voici mon script :
  1. <?
  2.  
  3. if ($fichiers = glob('../../mon_repertoire/*.doc' , GLOB_NOSORT))
  4.  
  5. {
  6. $sql = mysql_connect('****', '*****', '******');
  7. mysql_select_db('mabase', $sql);
  8. foreach ($fichiers as $fichier)
  9.  
  10. {
  11. $fichier=substr($fichier, 27);
  12. $query = "INSERT INTO matable(id, nom) VALUES('','".$fichier."')";
  13. mysql_query($query , $sql);
  14.  
  15. }
  16. mysql_close($sql);}
  17. ?>


Merci d'avance

Autres pages sur : delete boucle

Lassé par la pub ? Créez un compte

J'ai fait çà :

  1. if ($fichiers = glob('../../monchemin/*.doc' , GLOB_NOSORT))
  2.  
  3. {
  4. $sql = mysql_connect('****', '*****', '*****');
  5. mysql_select_db('download', $sql);
  6. foreach ($fichiers as $fichier)
  7.  
  8. {
  9. $fichier=substr($fichier, 17);
  10. $query = "INSERT INTO matable(id, titre) VALUES('','".$fichier."')";
  11. if (file_exists($fichiers)) {
  12. print "Le fichier $fichier existe";
  13. } else {
  14. $query = "DELETE FROM music WHERE titre='$fichier'";
  15. }
  16. mysql_query($query , $sql);

Ca me fait totalement l'inverse !
Ca ne m'affiche que les fichiers qui n'existe plus !
De plus, ca devrait me marquer le fichier existe déjà fois le nombre d'entrées mais je n'ai rien !

La condition est bien dans la boucle !
Je ne comprends pas tres bien.

Un petit coup de pouce ?




}
mysql_close($sql);}[/code]

Ok, j'ai fait une autre boucle de ma table. J'avais peur que ca soit un peu lourd. Je cherchais donc une solution à çà.

Voici quand même ce que j'ai fait :

  1. $connect = mysql_connect('*****', '*****', '****');
  2. mysql_select_db('mabase', $connect);
  3. $sql = "SELECT titre,id FROM matable";
  4. $result = mysql_query($sql);
  5. while (list($fichier, $id) = mysql_fetch_array($result)) {
  6. if (!file_exists("../../monchemin/".$fichier)) {
  7. $sql_update = "DELETE FROM matable WHERE id='".$id."'";
  8. mysql_query($sql_update);
  9. }
  10. }
  11. mysql_close($connect);
  12. ?>
Lassé par la pub ? Créez un compte