suppression d'articles

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 d'articles

Re: suppression d'articles

par telnes » 26 avr. 2010, 12:06

bas j'avais poster tout le code ! tu n'a pas testé ?

Re: suppression d'articles

par surfeur2 » 26 avr. 2010, 11:34

j'ai essayé ceci sans succès:

foreach ($c as $value){

if(isset($c) and count($c)>0){
$query = "DELETE FROM articles WHERE Reference=".$value;
$result = mysql_query($query) or die(mysql_error());
echo "<br><br><br><center>suppression effectuée!</center>";
}
}
?>

réponse de mon ami php:

Notice: Undefined variable: c in d:\www...........php on line 11
Warning: Invalid argument supplied for foreach() in d:\www..........php on line 11

ps. Je précise que je ne sélectionne rien dans la page précédente!!!!

Re: suppression d'articles

par telnes » 26 avr. 2010, 11:13

hello
<?php

include 'connexion.php';

//si $c existe et la taille de $c est plus grand que 0
if(isset($c) and count($c)>0){
    //pour chaque valeur de $c
    foreach ($c as $value){
        //si $value est un nombre
        if(is_numeric($value)){
             $query = "DELETE FROM personnel WHERE NumPersonnel=".$value;
             $result = mysql_query($query) or die(mysql_error());
        }
    }
}
?>

Re: suppression d'articles

par surfeur2 » 26 avr. 2010, 10:40

J'ai essayé ceci sans succès :

<?php

include 'connexion.php';

foreach ($c as $value){

if (isset($c) != "False"){
$query = "DELETE FROM personnel WHERE NumPersonnel=".$value;
$result = mysql_query($query) or die(mysql_error());
}
}
?>

Re: suppression d'articles

par telnes » 25 avr. 2010, 10:30

hello

il faut utiliser isset() pour tester si une var est déclaré avant de passer au foreach

ensuite il faut que tu regarde du côté de mysql_real_escape_string() pour sécuriser tes valeur (moi je t'avais proposé de testé si c'était bien un chiffre avec is_numeric() ) tout ca pour eviter les injections sql !

++

Re: suppression d'articles

par surfeur2 » 23 avr. 2010, 22:31

Quand je sélectionne rien il y a quand même une erreur, j'ai alors modifié le code:

foreach ($c as $value){

if ($value != ""){
$query = "DELETE FROM articles WHERE Reference=".$value;
$result = mysql_query($query) or die(mysql_error());
echo "<br><br><br><center>suppression effectuée!</center>";
}
}
?>

mais j'ai pas résolu le problème, réponse:

Notice: Undefined variable: c in d:\www\exya.ch\htdocs\Web\supArticles.php on line 11

Warning: Invalid argument supplied for foreach() in d:\www\exya.ch\htdocs\Web\supArticles.php on line 11

Re: suppression d'articles

par surfeur2 » 23 avr. 2010, 21:26

J'ai coché la case 7 et 9 voici le résultat:

Array DELETE FROM articles WHERE Reference=7 Array DELETE FROM articles WHERE Reference=9

mais là sur le coup ça march :-), je sais pas ce que javais écris de faux....

merci !!!!

Re: suppression d'articles

par telnes » 23 avr. 2010, 21:14

hello

ajout des echo pour voir ce qu'il ce passe, et il a pas de honte a tester ces requetes directe dans phpmyadmin :)



foreach ($c as $value){

echo $c.' <br />';
$query = "DELETE FROM articles WHERE Reference=".$value;
echo $query.' <br />';
$result = mysql_query($query) or die(mysql_error());

}

Re: suppression d'articles

par surfeur2 » 23 avr. 2010, 17:45

J'ai essayé avec ce code mais pas encore bon :-(

foreach ($c as $value){

$query = "DELETE FROM articles WHERE Reference=".$value;
$result = mysql_query($query);

}
?>

Re: suppression d'articles

par telnes » 23 avr. 2010, 17:16

hello

il faut que tu utilise foreach (http://fr2.php.net/manual/fr/control-st ... oreach.php) pour parcourir ton tableau
il faut que tu test tes valeurs via is_numeric (http://fr2.php.net/manual/fr/function.is-numeric.php) pour filtrer les valeurs à passer dans ta requet

Ensuite il faut que tu fasse ta requet SQL soit en une fois (concaténation . ) soit en faisant autant de requet que de checkbox coché

++

Re: suppression d'articles

par surfeur2 » 23 avr. 2010, 16:22

Oui j'ai changé le nom car check est un mot clé et ça posai des problèmes.....

j'ai aujouté les [] et maintenant j'ai l'affichage suivant si je coche 5,7,9,10:

Array ( [c] => Array ( [0] => 5 [1] => 7 [2] => 9 [3] => 10 ) [Submit] => Supprimer les articles sélectionnés )

et la suite maintenant... (j'ai l'habitude de programmer en asp, et là je me sens un peu perdu, peux tu me montrer un exemple de code pour pouvoir supprimer les articles qui ont les références sélectionnés?

Re: suppression d'articles

par telnes » 23 avr. 2010, 15:10

hello

dans ton code tu met ca
<input type="checkbox" value="<?php echo $val2["Reference"] ?>" name="check">

et la tu nous parle de "c" et ca devrait être "check"

apres il faut mettre

<input type="checkbox" value="<?php echo $val2["Reference"] ?>" name="check[]">

pour que ce soit un tableau

++

Re: suppression d'articles

par surfeur2 » 23 avr. 2010, 14:32

j'ai ce résultat:

Array ( [c] => 9 [Submit] => Supprimer les articles sélectionnés )

Re: suppression d'articles

par telnes » 23 avr. 2010, 13:57

hello

fait un print_r($_POST);



++

Re: suppression d'articles

par surfeur2 » 23 avr. 2010, 13:20

Dans la page supArticles, j'ai inséré ce code:

$c = $_POST['c'];

echo "c: ".$c;


Pour voir les valeur des éléments cochés mais il ne montre pas tout les éléments cochés il montre uniquement la dernière valeur.