IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

effacer des annonces


Sujet :

Langage PHP

  1. #1
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 830
    Points
    5 830
    Billets dans le blog
    1
    Par défaut effacer des annonces
    Bonjour,

    j'ai un système qui permet de saisir des annonces (du texte et des images) ; tout ceci est stocké dans une table MySQL, ce qui permet de les afficher quand on veut ; mais je voudrais aussi donner la possibilité d'en effacer. Pour faire ça, j'ai fait un formulaire html qui liste toutes les annonces, avec des checkbox pour sélectionner celles qu'on veut effacer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    	echo '<form method="post" action="../../telepamedia/action/effacer.php" enctype="application/x-www-form-urlencoded">';
    	$sql="select date,text,cat,id_annonce from annonce where pseudo='".$pseudo."' AND langue='fr'";
    	$result = mysql_query($sql) or die(mysql_error());
    	echo '<table>';
         while ($ligne=mysql_fetch_array($result,MYSQL_NUM))
         { 
    	     echo '<tr><td><input type="checkbox" name="annonce[] value="'.$ligne[3].'""></td><td>'; echo $ligne[2].' '.$ligne[0].'  '.$ligne[1];
    	     echo '</td></tr>';
    		 echo '<tr><td></td><td><hr></td></tr>';
    	 }
    	echo '</table>';
    	echo '<tr><td><input type="submit" value="Effacer annonce"></td><td></td></tr></form>';
    et voici l'action du formulaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    	$annonce=$_POST['annonce'];
    	if (isset($_POST['annonce'])) {
     
    	foreach($annonce as $ann)
    	    {
    		$sql="delete from `annonce` where id_annonce='".$ann."'";
    		echo 'sql='.$sql.'<br>';
    		$result = mysql_query($sql) or die(mysql_error());
     
    		}
    	echo 'Les annonces ont été effac&eacute;es<br>';
    	}
    Le problème, c'est que je pensais que $ann vaudrait le numéro de l'id de l'annonce, mais qu'il vaut "on" quelque soit l'annonce sélectionnée : où me suis-je trompé ?

  2. #2
    Membre habitué Avatar de Pahcixam
    Profil pro
    Développeur Web
    Inscrit en
    Avril 2006
    Messages
    289
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2006
    Messages : 289
    Points : 191
    Points
    191
    Par défaut
    Bonjour.

    Avez-vous essayé d'afficher l'intégralité du retour de la variable POST ? J'ai un doute sur les valeurs renvoyés à cause du:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    enctype="application/x-www-form-urlencoded"
    Que donne un:

    ?

  3. #3
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 830
    Points
    5 830
    Billets dans le blog
    1
    Par défaut
    print_r :
    Array ( [annonce] => Array ( [0] => on ) )
    Pas fameux et pour voir, j'ai essayé de supprimer
    enctype="application/x-www-form-urlencoded"
    mais pareil...

  4. #4
    Membre habitué Avatar de Pahcixam
    Profil pro
    Développeur Web
    Inscrit en
    Avril 2006
    Messages
    289
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2006
    Messages : 289
    Points : 191
    Points
    191
    Par défaut
    Autre question, lors de la génération de la page les attributs "value" des champs "checkbox" sont ils bien renseignées ? La requête SQL renvoie-t-elle bien les infos ?

    Normalement un checkbox retourne "on" lorsqu'il possède un nom unique. C'est comme si les crochets n'étais pas pris en compte.

  5. #5
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 830
    Points
    5 830
    Billets dans le blog
    1
    Par défaut
    Bien vu : du coup, j'ai regardé le source de la page, et ça m'a montré un bug du PHP : il manquait un " au niveau du name du checkbox (car ça a beau être du html, je fais le formulaire avec des echo). Et maintenant, ça marche.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [VB.Net] Comment effacer des traits sur un graphique ?
    Par bert24 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 27/09/2005, 14h20
  2. (EXCEL) Effacer des images gif insérées sur une feuille ?
    Par romo3 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 27/08/2005, 21h31
  3. afficher/effacer des <tr> sous Firefox
    Par Macintoc dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 29/06/2005, 10h10
  4. Effacer des doublons
    Par ben53 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 12/07/2004, 17h56
  5. Comment effacer des Items d'un TListView ?
    Par boyerf dans le forum Composants VCL
    Réponses: 4
    Dernier message: 11/11/2002, 10h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo