Suppression en masse

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Suppression en masse

par katagoto » 03 mai 2008, 11:54

J'avais pensé à ça :
<?php
if (isset($_POST['photos_form']) AND $_POST['photos_form']!="") {
			
			if (is_array($_POST['photos_form'])) {
				$tableau_des_suppressions=intval(htmlentities(addslashes($_POST['photos_form'])));
		
			
			foreach ($tableau_des_suppressions as $id_photos_foreach)
			{
				if (!isset($list_id_photos_a_suprimmer)) {
					$list_id_photos_a_suprimmer="id='".intval(addslashes($id_photos_foreach))."'";
				}
				else {
					
			$list_id_photos_a_suprimmer=$list_id_photos_a_suprimmer." OR id='".intval(addslashes($id_photos_foreach))."'";
				}
			}
		}
		else {
			$list_id_photos_a_suprimmer="id='".intval(addslashes($id_photos_foreach))."'";
		}
		
			$verification_avant_suppression_sql=$connexion->execute("SELECT count (*) AS nb_photo_ok_verification FROM photos_membres WHERE ".$list_id_photos_a_suprimmer." AND id_membre='".quote(intval(addslashes($id_membre)), PDO::PARAM_STR)."'");
			
			$verification_avant_suppression_nb=$verification_avant_suppression_sql->fetch(PDO::FETCH_OBJ);
			if ($verification_avant_suppression_nb->nb_photo_ok_verification==count($tableau_des_suppressions)) {
			$suppression_photos_sql=$connexion->execute("DELETE FROM photos_membres WHERE ".quote($list_id_photos_a_suprimmer, PDO::PARAM_STR)." AND id_membre='".quote(intval(addslashes($id_membre)), PDO::PARAM_STR)."'");

						
			echo 'Vos '.count(intval(addslashes($tableau_des_suppressions))).' photos on été effacées avec succès';
			}
			else {
				echo 'Vous avez sélectionné des photos qui ne sont pas à vous, essayez a nouveau...';
			}
?>

par Aureusms » 03 mai 2008, 11:17

Hmmm je te dirai d'abord de récupérer toutes les photos de ton utilisateur dans un tableau de type :
$sql="SELECT  id FROM table WHERE id_proprietaire=id_utilisateur";
$resultat_sql = mysql_query($sql);

$k=0;
While ($resultat = mysql_fetch_row($resultat_sql))
{
$tab_photo[$k] = $resultat[0];
$k++;
}
Ensuite en PHP tu fais un test avec in_array sur $tab_photo
if (!in_array($_POST["valeur"],$tab_photo))
{
//pas de suppression
}
else
{
//suppression
}

Suppression en masse

par katagoto » 01 mai 2008, 17:56

Je suis entraint de creer un script qui permettrait à l'utilisateur de supprimmer plusieurs photos de son album, mon problème est le suivant, j'aimerais vérifier que cette/ces photo lui appartien(nen)t et j'aimerais les supprimmer.
J'avais pensé à faire un count() (WHERE id=id_photo AND id_proprietaire=id_utilisateur) si c'est égale à 1 on supprimme si non bah on lui affiche "désolé la faille est ailleur, essai encore :)". Mais cela présente 2 problèmes, 2 requêtes surchargerais ma base de donnée et si il coche 50 photos...
Voilà vous savez tout :roll: même la réponse :wink: ... enfin j'espère :lol:

PS : SGBDR : PostGreSQL dernière version