Modérateur PHPfrance |
8758 Messages
03 août 2012, 17:09
Attention tu ne doit faire le delete que lorsque l'image n'existe pas, hors ton code fait l'inverse.
litérallement tu fait
si le fichier "$row['Image']" existe
alors supprimer le fichier de la base
alors que toi tu veux
si le fichier "$row['Image']"
n'existe pas
Alors supprimer le fichier de la base
donc le ! de
Ryle n'était pas anodin
ensuite le 1er code fournit est complet (bon ton nom de champ c'est lien et pas image ....)
<?php
$query = "SELECT * FROM jooml_boutiques";
// requete SQL pour récupérer tous ce qu'il y dans la table "jooml_boutiques"
$result = mysql_query($query);
// on parcourt le jeux de résultat
while ($row = mysql_fetch_array($result)) {
if (!file_exists($row['lien'])) { // si le fichier n'existe pas
$Image = $row['lien'];
// on supprime
$query2 = "DELETE FROM jooml_boutiques WHERE lien=$Image";
$result2 = mysql_query($query2); // Envoie la requete au serveur MySQL
}
}
?>
Maintenant reste a savoir si le lien qui est dans la table est bon par rapport à l'emplacement du script ou pas. étant donnée que l'on cherche la négation, si a la base on ne sais pas accéder au bon dossier, file_exists retournera
toujours false donc il faut commencer par vérifier ce que retourne $row['lien'] (dans l'exemple) pour être certain du chemin.
si tu n'es pas familier du SQL je te conseil
ce tuto et les suivants. ainsi que
http://sqlpro.developpez.com/cours/
@+
Il en faut peu pour être heureux ......