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&eacute;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?? :roll:

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&eacute;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 :D

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 :D

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 :oops:

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 ??? :roll:

Re: suppression photo

Posté : 14 avr. 2011, 14:12
par baddevil
finalement j arrête pas de poster tout seul lol :D

mais bon j ai résolu mon problème merci a ceux qui m ont aider :)