Page 1 sur 2
suppression photo
Posté : 13 avr. 2011, 18:29
par baddevil68
bonjour je suis nouveau et debutant en php
je souhaiterai une aide pour supprimer mes photos sur mon ftp lier a ma base
j ai mon code qui fonctionne pour la photo1 mais je sais pas comment on fait pour les autres
mon select est bon mais dans la variable resultat je ne sais comment mi prendre
merci d avance pour votre aide
voici mon code
Code : Tout sélectionner
<?php
case "sup_annonces" : {
//ici cocher est un array => il faut savoir qui a été coché
$requete = 'SELECT photo1,photo2,photo3,photo4,photo5 FROM AT_Annonces WHERE IDannonce IN ('.implode(",",($_GET['cocher'])).')';
echo '<br>'.$requete; //donne nous ce qui est affiché
$reponse = mysql_query($requete);
while ($resultat = mysql_fetch_array($reponse))
$cheminImage = "images/".$resultat['photo1'] ;
echo '<br>chemin vers l\'image:'.$cheminImage;
unlink($cheminImage);
}
//suppression de l'entrée dans la BDD
$requete = 'DELETE FROM AT_Annonces WHERE IDannonce IN ('.implode(",",($_GET['cocher'])).')';
echo '<br>'.$requete; //donne nous ce qui est affiché
if (mysql_query($requete)) {
echo '<br>Image "'.$cheminImage.'" supprimée dans la base ET sur le serveur';
}
//header("Location:Paffiche.php?action=suppr_annonces");
break; //fin du case
}
?>
Re: suppression photo
Posté : 13 avr. 2011, 19:41
par baddevil
personne pour m aider??

Re: suppression photo
Posté : 13 avr. 2011, 19:50
par Titiii
Heu... Désolé, mais je ne comprends pas très bien.
Le plus simple est de faire un while où tu supprime tout au fur et à mesure, non ?

Re: suppression photo
Posté : 13 avr. 2011, 20:15
par baddevil
en faite je crée une page pour administrer des annonces de voiture
la j ai reussi que si il veut supprimer une annonce ca suprime de la base mais il faut supprimer les photos qui sont lier sur le serveur ftp
sinon a force d ajouter des annonces le serveur va etre blindé
alors la j ai reussi pour une photo mais il faudrai que ca supprime les autres
donc j en suis pas tres loin mais la je sais pas comment gerer les autres
la page est un tableau avec les annonces et a droite un checkbox ou tu selectionne celle que tu veux supprimer
j ai penser qu on pouvais concatener les photos dans la variable resultat
est ce possible?
Re: suppression photo
Posté : 13 avr. 2011, 22:10
par moogli
salut,
c'est parce qu'il faut faire le unlink dans la boucle while et ce n'est pas le cas dans ton code (en fait tu boucle mais tu creer une seule variable quetu écrase a chaque fois.
je commencerais par un code comme ça :
<?php
case "sup_annonces" : {
//ici cocher est un array => il faut savoir qui a été coché
$requete = 'SELECT IDannonce,photo1,photo2,photo3,photo4,photo5 FROM AT_Annonces WHERE IDannonce IN ('.implode(",",($_GET['cocher'])).')';
echo '<br>'.$requete; //donne nous ce qui est affiché
$reponse = mysql_query($requete);
while ($resultat = mysql_fetch_array($reponse)){
$ul1 = unlink( "images/".$resultat['photo1'] );
$ul2 = unlink( "images/".$resultat['photo2'] );
$ul3 = unlink( "images/".$resultat['photo3'] );
$ul4 = unlink( "images/".$resultat['photo4'] );
$ul5 = unlink( "images/".$resultat['photo5'] );
if ( ($ul1 && $ul2 && $ul3 && $ul4 && $ul5) === true ){
$del[] = $resultat['IDannonce'];
}
else {
echo 'l\'annonce '.$resultat['IDannonce'].' ne peut être supprimer parce que l\'on ne supprimer les fichiers !';
}
}
//suppression de l'entrée dans la BDD
if ( isset($del) et count($del)>0) {
$requete = 'DELETE FROM AT_Annonces WHERE IDannonce IN ('.implode(",",($del)).')';
echo '<br>'.$requete; //donne nous ce qui est affiché
if (mysql_query($requete)) {
echo '<br>Image "'.$cheminImage.'" supprimée dans la base ET sur le serveur';
}
}
//header("Location:Paffiche.php?action=suppr_annonces");
break; //fin du case
}
?>
@+
Re: suppression photo
Posté : 14 avr. 2011, 00:19
par baddevil
ah oui ok je vais tester ca merci beaucoup moogli

Re: suppression photo
Posté : 14 avr. 2011, 00:36
par baddevil
zut j ai mis ce que tu ma dit et j ai cette erreur
Parse error: syntax error, unexpected T_STRING in /homez.221/sauvetagm/www/autotransaction/Paffiche.php on line 136
a cette ligne
if ( isset($del) et count($del)>0) {
c est normal le et avant count?
merci encore pour l aide

Re: suppression photo
Posté : 14 avr. 2011, 00:40
par moogli
ben nan faut un && au la place du et, je suis un peu fatigué ^^ désolé
if ( isset($del) && count($del)>0) {
Re: suppression photo
Posté : 14 avr. 2011, 00:55
par baddevil
oui il me semblait bien j avais remplacer mais c est une autre erreur
Parse error: syntax error, unexpected $end in /homez.221/sauvetagm/www/autotransaction/Paffiche.php on line 144
mais la c est la derniere ligne au ?>
et t excuse pas c est deja bien que tu m aide

Re: suppression photo
Posté : 14 avr. 2011, 01:01
par baddevil
bon ca venait de manque d acolades avec le reste de mon code
par contre maintenant j ai ca
Warning: implode() [function.implode]: Invalid arguments passed in /homez.221/sauvetagm/www/autotransaction/Paffiche.php on line 117
SELECT IDannonce,photo1,photo2,photo3,photo4,photo5 FROM AT_Annonces WHERE IDannonce IN ()
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /homez.221/sauvetagm/www/autotransaction/Paffiche.php on line 120
Re: suppression photo
Posté : 14 avr. 2011, 01:07
par baddevil
ah non excuse j ai appeller la mauvaise page c est normal
je vais tester tout ca et je tien au courant
Re: suppression photo
Posté : 14 avr. 2011, 01:27
par baddevil
bon alors ca supprime bien les 5 photos du serveur mais le hic c est que ca supprime pas l annonce de la bbd car j ai ca en erreur quand je click sur supprimer
SELECT IDannonce,photo1,photo2,photo3,photo4,photo5 FROM AT_Annonces WHERE IDannonce IN (109)
Warning: unlink(images/_21.jpg) [function.unlink]: No such file or directory in /homez.221/sauvetagm/www/autotransaction/Paffiche.php on line 121
Warning: unlink(images/000.JPG) [function.unlink]: No such file or directory in /homez.221/sauvetagm/www/autotransaction/Paffiche.php on line 122
Warning: unlink(images/devil00.JPG) [function.unlink]: No such file or directory in /homez.221/sauvetagm/www/autotransaction/Paffiche.php on line 123
Warning: unlink(images/nofoto.jpg) [function.unlink]: No such file or directory in /homez.221/sauvetagm/www/autotransaction/Paffiche.php on line 124
Warning: unlink(images/nofoto.jpg) [function.unlink]: No such file or directory in /homez.221/sauvetagm/www/autotransaction/Paffiche.php on line 125
l'annonce 109 ne peut être supprimer parce que l'on ne supprimer les fichiers !
Re: suppression photo
Posté : 14 avr. 2011, 09:36
par baddevil
j essai de comprendre comment fonctionne le code et son principe mais la je pige pas tout
il me supprime bien les photos mais je pige pas on dirai que ca boucle pour me faire cette erreur ,il supprime et ensuite c est comme ci il veut supprimer une 2 eme fois ce qu il vient de supprimer
est ce le while?
Re: suppression photo
Posté : 14 avr. 2011, 10:18
par baddevil
apres avoir decortiqué j ai compris dou vient le probleme de mes warning
mon soucis est que a l enregistrement d une annonce j ai fait en sorte que si on ne met pas d image il y en a une par defaut(nofoto.jpg)
donc la le probleme si elle est plusieur fois il la suprime une fois et ensuite essai de la resupprimer
alors il faudrai deja qu il me la supprime pas celle si car j en ai besoin si d autre annonce ne met pas de photo
avant le unlink il faudrai tester si le nom nofoto.jpg apparait et donc ne suprime pas
est ce que j ai été claire dans mon explication ???

Re: suppression photo
Posté : 14 avr. 2011, 14:12
par baddevil
finalement j arrête pas de poster tout seul lol
mais bon j ai résolu mon problème merci a ceux qui m ont aider
