begin process at 2012 05 30 05:00:48
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Général

 > 

Supprimer des entrées BDD et les images sur mon ftp avec un choix multiple checkbox


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Supprimer des entrées BDD et les images sur mon ftp avec un choix multiple checkbox

mardi 6 septembre 2011 à 13:04:19 | Supprimer des entrées BDD et les images sur mon ftp avec un choix multiple checkbox

lorenzo16000

Bonjour, j'aimerais supprimer a partir d'un choix multiple de checkbox, des entrées BDD avec par la même occasion les images sur mon ftp:

Dans ma table ou se trouve mes images je les stock de la façon suivante:

ma table vidéos comprend 3 champ d'image: image, imageMin, extraMin
a l’intérieur de ces champs, je stock les liens qui cible les images soit: "images/monImage.jpg" etc.....

J'ai donc une administration et je souhaite a partir de choix multiple de checkbox, supprimer les images de mon serveur FTP et l'entrée id de ma BDD.

Voici le code actuelement utilisé pour faire ce script, seule l'entrée id se supprimer de ma bdd les images reste toujours sur mon serveur, pouvez-vous m'aider slvp ? merci

Formulaire
Code PHP :
<form class="block-content form" id="table_form" method="post" action="suprCase.php">
    <h1>Liste des vidéos</h1>
			
	<table class="table sortable no-margin" cellspacing="0" width="100%">
					
		<thead>
		<tr>
		  <th class="black-cell"><span class="loading"></span></th>
		  <th scope="col">Titre</th>
		  <th scope="col">Date</th>
		  <th scope="col">Heure</th>
		</tr>
	   </thead>
						
		<tbody>
		   <?php $sql="SELECT * FROM videos ORDER BY id DESC";
			 $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
			 while($data=mysql_fetch_assoc($req)){
			 sscanf($data['date'], "%4s-%2s-%2s %2s:%2s:%2s", $annee, $mois, $jour, $heure, $minute, $seconde);
		?>
								
		<tr>
		  <!-- CHEKBOCK -->
		   <td class="th table-check-cell"><input type="checkbox" name="champ[]"   id="table-selected-1" value="<?php echo $data["id"]; ?>"></th>
		   <td><?php echo stripslashes($data['titre']);?> <a style="float:right"   title="Editer" href="edit.php?id=<?php echo $data['id'];?>"><img width="16"   height="16" src="../images/pencil.png"></a></td>

		  <td><?php echo'<span style="">',$jour , '-' , $mois , '-' , $annee ;   '</span>' ?></td>
		  <td><?php echo'<span style="">' , $heure , ' h ' , $minute ;'</span>'   ?></td>

		</tr>
		<?php
		}
		?>
		</tbody>
	</table>
	<div style="width: 44%; float: left; margin: -13px 30px;">
	<!-- BOUTON SUBMIT -->
		<button type="submit" name"envoyer" class="small">Ok</button>
	</div>
</form>

**************************************************************************

Traitement PHP

Code PHP :
<?php
  session_start();
/* ------------------ Connexion a la BDD avec login.php ------------------ */
	require "../config.php";
	mysql_connect(DB_HOST,DB_LOGIN,DB_PASS);
	mysql_select_db(DB_BDD);
	mysql_query('SET NAMES '.DB_ENC);
  
  case "champ" :
    {
    //ici cocher est un array => il faut savoir qui a été coché
    $requete = 'SELECT id,image,imageMin,extraMin FROM newsletter2 WHERE id IN ('.implode(",",($_GET['cocher'])).')';
    echo '<br>'.$requete; //nous donne la requete et l id de l annonce
    $reponse = mysql_query($requete);
    while ($resultat = mysql_fetch_array($reponse))
       {
			unlink($resultat['image']) or die('Aucun fichier à supprimer <a href="http://www.yovalove-studio.com/netweb/videos/video.php">Retour à l\'administration</a>');
			unlink($resultat['imageMin']) or die('Aucun fichier à supprimer <a href="http://www.yovalove-studio.com/netweb/videos/video.php">Retour à l\'administration</a>');
			unlink($resultat['extraMin']) or die('Aucun fichier à supprimer <a href="http://www.yovalove-studio.com/netweb/videos/video.php">Retour à l\'administration</a>');
       }
   //suppression de l'entrée dans la BDD
 
    $requete = 'DELETE FROM newsletter2 WHERE id IN ('.implode(",",($_GET['cocher'])).')';
    echo '<br>'.$requete; //donne nous ce qui est affiché
    if (mysql_query($requete))
       {
			$_SESSION['sup'] = '<ul class="message success grid_12">

				<li><strong>La suppression à été correctement effectuée</strong></li>
				<li class="close-bt"></li>
				</ul>';

       }
 
       header('location:video.php');
 
       break; //fin du case
 }
mardi 6 septembre 2011 à 13:58:12 | Re : Supprimer des entrées BDD et les images sur mon ftp avec un choix multiple checkbox

buno

Administrateur CodeS-SourceS
Bonjour,

Plusieurs pistes:
- ton retour, suite à ta requête, est peut-être vide. L'as-tu vérifié?
- tes chemins ne sont peut-être pas corrects (cf. ta gestion en chemin relatif)

Je déplace ta question dans le forum PHP.

@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
mardi 6 septembre 2011 à 14:49:28 | Re : Supprimer des entrées BDD et les images sur mon ftp avec un choix multiple checkbox

cod57

bonjour

ex : essaie voir

unlink($resultat['image']) or die('chemin faux :'.$resultat['image']);

il faut pointer sur './images/?'


Bonne programmation !
mardi 6 septembre 2011 à 17:16:48 | Re : Supprimer des entrées BDD et les images sur mon ftp avec un choix multiple checkbox

lorenzo16000

Merci pour vos réponses, je viens de tester ce que tu m'as dit cod57 mais je supprime toujours uniquement la BDD mais pas les images grrrr, en faite je sauvegarde le lien en relatife et les chemin affiche bien l'image sur la page du rendu donc les liens enregister en BDD sont correct.

Petite préscision, j'arrive à éffacer les images et mon enregistrement en bdd uniquement sans les chekbox, donc je me dit que je suis pas loint de la vérité !!

Code utilisé pour supprimer une entrée BDD avec les images sur le serveur
Code PHP :
<?php
	session_start();
	require "../config.php";
	mysql_connect(DB_HOST,DB_LOGIN,DB_PASS);
	mysql_select_db(DB_BDD);
	mysql_query('SET NAMES '.DB_ENC);
	
	$sql = mysql_query("SELECT image,imageMin,extraMin FROM `videos` WHERE id={$_GET["id"]}");
	$req = mysql_fetch_array($sql);
	
	if(file_exists($req['image']) 
	&& file_exists($req['imageMin']) 
	&& file_exists($req['extraMin']))
	{
	$_SESSION['sup'] = '<ul class="message success grid_12">

							<li>Contenu vidéo <strong>Supprimer avec succée</strong>.</li>
							<li class="close-bt"></li>
						</ul>';

	header('location:video.php');	
	unlink($req['image']) or die('Aucun fichier à supprimer <a href="http://www.mon-site.com/administration/videos/video.php">Retour à l\'administration</a>');
	unlink($req['imageMin']) or die('Aucun fichier à supprimer <a href="http://www.mon-site.com/administration/videos/video.php">Retour à l\'administration</a>');
	unlink($req['extraMin']) or die('Aucun fichier à supprimer <a href="http://www.mon-site.com/administration/videos/video.php">Retour à l\'administration</a>');
	}
	else{
		echo "Annonce supprimer mais aucun fichier image supprimer pour l'annonce <a href=\"http://www.mon-site.com/administration/videos/video.php\">Retour à l\'administration</a>";
	}
	
	$sql = "DELETE FROM videos WHERE id={$_GET["id"]}";
	$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());	
?>


Le code suivant fonctionne parfaitement pour une seule entrée sans les checkbox.
mardi 6 septembre 2011 à 18:52:21 | Re : Supprimer des entrées BDD et les images sur mon ftp avec un choix multiple checkbox

cod57


peux tu me donner les chemins
le header() c'est pas sa place ...
le script à essayer

Code PHP :
<?php
/*chemin des images
faire un fichier test.php avec
echo $_SERVER['SCRIPT_FILENAME'];
et comparer le resultat
*/
/*chemin du script actuel*/
echo $_SERVER['SCRIPT_FILENAME'];


	session_start();
	require "../config.php";
	mysql_connect(DB_HOST,DB_LOGIN,DB_PASS);
	mysql_select_db(DB_BDD);
	mysql_query('SET NAMES '.DB_ENC);
	
	$sql = mysql_query("SELECT image,imageMin,extraMin FROM `videos` WHERE id={$_GET["id"]}");
	$req = mysql_fetch_array($sql);
	
	/*resultat*/
  echo '<pre>';
	print_r($req);
	echo '</pre>';
	
	if(file_exists($req['image']) 
	&& file_exists($req['imageMin']) 
	&& file_exists($req['extraMin']))
	{
	$_SESSION['sup'] = '<ul class="message success grid_12">

                      <li>Contenu vidÚo <strong>Supprimer avec succÚe</strong>.</li>
							        <li class="close-bt"></li>
						         </ul>';


	
	unlink($req['image']) or die('Aucun fichier à supprimer <a href="http://www.mon-site.com/administration/videos/video.php">Retour à l\'administration</a>');
	unlink($req['imageMin']) or die('Aucun fichier à supprimer <a href="http://www.mon-site.com/administration/videos/video.php">Retour à l\'administration</a>');
	unlink($req['extraMin']) or die('Aucun fichier à supprimer <a href="http://www.mon-site.com/administration/videos/video.php">Retour à l\'administration</a>');

  //header('location:video.php');	
	}
	else{
		echo "Annonce supprimer mais aucun fichier image supprimer pour l'annonce <a href=\"http://www.mon-site.com/administration/videos/video.php\">Retour à l\'administration</a>";
	}
	
	$sql = "DELETE FROM videos WHERE id={$_GET["id"]}";
	$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());	
?>


Bonne programmation !
mardi 6 septembre 2011 à 23:30:48 | Re : Supprimer des entrées BDD et les images sur mon ftp avec un choix multiple checkbox

lorenzo16000

Merci pour ton aide encore Cod, voilà je viens de faire un fichier test avec le nouveau code que tu ma donner et quand je supprime j'ai ce résultat là:

/homez.361/mon-site/www/administration/videos/sup.php

Array
(
[0] => ../../images/b140mkh7.jpg
[image] => ../../images/b140mkh7.jpg
[1] => ../../images/min/b140mkh7.jpg
[imageMin] => ../../images/min/b140mkh7.jpg
[2] => ../../images/min/extramin/b140mkh7.jpg
[extraMin] => ../../images/min/extramin/b140mkh7.jpg
)

et là je vien de l'adapter a celui qui contient mes checkbox les multiple selection fonctionne parfaitement je te remercie !!

Parcontre j'aimerais deux autres choses, j'ai une liste associé a mon bouton supprimer qui à pour option = Action... => Supprimer => OK

je te montre le morceau de code :

Code PHP :
<div style="width: 44%; float: left; margin: -13px 30px;">
	<img src="../images/arrow-curve-000-left.png" width="16" height="16" class="picto"> 
	<a href="........." class="button">Sélectionner tout</a> 
	<a href="........." class="button">Désélectionner tout</a>
	<span class="sep"></span>
	<select name="table-action" id="table-action" class="small">
		<option value="">Action...</option>
		<option value="Supprimer">Supprimer</option>
	</select>
	<button type="submit" class="small">Ok</button>
</div>


Je souhaite dans un premier temps faire fonctionner le select option, si je suis sur Action... j'appuie sur le bouton rien ne se passe, si je choisi supprimer je supprime mes checkbox, dans un deuxième temps je souhaite faire fonctionner mes deux bouton, "Sélectionner tout" et "Désélectionner tout" je connais le script pour faire ceci, mais avec les checkbox dans un tableau il ne fonctionne pas, pourri-ez vous me dire comment faire ? merci.

Pour info le code qui fonctionne sans les checkbox dans un tableau:

Code PHP :
<html><head>
<title>checkbox maître</title>
<script>
//checkbox ou une liste de checkbox.
function selectall(cas,choix){
  //test si on a plusieur ligne
  if(choix.length>0){
    if (cas.checked){
      for (var i=0; i<choix.length;i++){
        choix[i].checked=true
      }
    }
    else{
      for (var i=0; i<choix.length;i++){
        choix[i].checked=false
      }
    }
  }
  else{
    if (cas.checked){
      choix.checked=true
    }
    else{
      choix.checked=false
    }
  }
}</script>
</head>

<body>
<form name="monform">
<input type="checkbox" name="all" onclick="selectall(document.monform.all,document.monform.choix)">
puis un liste de checkbox
<input type="checkbox" name="choix" value="1">
<input type="checkbox" name="choix" value="2">
<input type="checkbox" name="choix" value="3"></form>
</body></html>


Je vous remercie d'avance !!
mercredi 7 septembre 2011 à 00:10:53 | Re : Supprimer des entrées BDD et les images sur mon ftp avec un choix multiple checkbox

salttaste

Bonsoir,

Le soucis vient du path dans ta fonction unlink().

Essaye ça :
unlink($_SERVER['DOCUMENT_ROOT'].substr($req["image"],4);

Et tu fais la même chose pour les 2 autres en modifiant $req...

Bonne chance
mercredi 7 septembre 2011 à 11:06:41 | Re : Supprimer des entrées BDD et les images sur mon ftp avec un choix multiple checkbox

lorenzo16000

Merci salttaste, mais mon souci de choix multiple checkbox avec suppréssion de l'entrée BDD et image et régler, maintenant je souhaite comme je dit dans mon dernier message, j'ai 2 boutons pour tous sélectionner ou dé sélectionner mes checkbox avec une liste qui prend l'effet Action => Supprimer => OK

Je connais le script qui fait fonctionner la séléction multiple mais il ne marche pas si on mais les checkbox dans un tableau.

Voilà ma question, comment faire fonctionner mes deux boutons "tous sélectionner" et "dé sélectionner" avec un liste qui dit choisir l'action donc : "Action..." => "Supprimer" => bouton (OK)

Voilà le morceau de code de mes boutons:
Code PHP :
<div style="width: 44%; float: left; margin: -13px 30px;">
	<img src="../images/arrow-curve-000-left.png" width="16" height="16" class="picto"> 
	<a href="........." class="button">Sélectionner tout</a> 
	<a href="........." class="button">Désélectionner tout</a>
	<span class="sep"></span>
	<select name="table-action" id="table-action" class="small">
		<option value="">Action...</option>
		<option value="Supprimer">Supprimer</option>
	</select>
	<button type="submit" class="small">Ok</button>
</div>


Merci d'avance !!!

mercredi 7 septembre 2011 à 19:21:56 | Re : Supprimer des entrées BDD et les images sur mon ftp avec un choix multiple checkbox

lorenzo16000

Re, je viens de m&#8217;apercevoir que j'ai un souci dans ma sélection multiple, en faite lorsque je clic sur sélectionner tous, sa me sélectionne tous parfaitement, mais si par ailleurs je veux décocher une case ou deux et supprimer par la suite, au moment de l'envoie sa me re-sélectionne tous et sa me supprime tous !! comment faire ?
jeudi 8 septembre 2011 à 20:16:39 | Re : Supprimer des entrées BDD et les images sur mon ftp avec un choix multiple checkbox

salttaste

Bjr,

Tu peux donner le code javascript qui s&#8217;exécute lorsque que tu envois ton formulaire.

Thx

1 2

Cette discussion est classée dans : images, bdd, supprimer, requete, id


Répondre à ce message

Sujets en rapport avec ce message

probleme "d'interference" des case........ [ par niko14 ] Bonjour j'ai encore un léger probleme!! Mons ite est en methode mvc c'est a dire que je passe par des case pour choisir l'action que je vais faire,(je requete multiple [ par jerrrrrry ] bon[jour/soir],je cherche à selectionner certaines images (avec une requete where) et à compter le résultat en utilisant le moins de ressources possib Affichage de resultat sans rapport avec mots-clés [ par ewertheimer ] Bonjour, Je me suis servi d'un tutorial pour essayer de crér un moteur de recherche pour mon site. Cependant, j'ai un petit probleme c'est que les res requete mysql select where [ par kevin77230 ] BonjourVoila je vous expose mon probleme.j'ai un script qui permet de faire apparaitre les information d'une table de ma base de donneecode:<pre class BDD free vers excel sans ouvrir excel [ par khitan72 ] Bonjour,je souhaiterais savoir comment je pourrais sauvegarder le resultat de ma requete dans un fichier excel sans avoir a ouvrir excel, de facon a c requete SQL 2 table [ par xactise ] Bonjour a tous, encore moi pour un problème de requête (va vraiment falloir que jlise de la doc approfondie a ce sujet...)Je vous expose mon problème. requete mysql [ par ikramta ] salut tout le monde. bon je veut ocupé l'identifiant des chambres qui ne sont pas inscrit dans la table reservation.mon problème estque cet requete m' requete imbriquée [ par ikramta ] salut tout le monde. j'ai 3table :chambre(id_ch,n_ch,...)==>pour identifié une chambre ch_hs(id_ch,id_p)==>pour determiner les chambre occupé pour une les images d'une requete sql ne s'affichent pas toutes dans mon tableau [ par princesses95 ] Bonjour, Je viens vous demander de l'aide car je ne sais plus quoi faire. J'ai crée une page php qui m'affiche des images que je vais chercher dans ma Gestion/Incrémentation des 'id' dans bdd MySQL [ par psyckan ] Bonjour,Voila j'ai crée une page qui contient un formulaire qui permet d'ajouter des utilisateur dans une table users d'une bdd.J'ai mis un champs 'id


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,546 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales