Tom's Guide > Forum > Programmation > Cases à cocher (PHP)
Mot :    Pseudo :           
 

Bonjour!
J'ai un système de messagerie privée dans mon site, et tous les messages du membre sont listés dans une même page. Je voudrais que le membre puisse supprimer les messages qu'il coche, mais à ce que j'ai compris dans le site du zero, il est impossible d'attribuer une variable autre que "on" et "NULL" à des cases à cocher... Je voudrais que l'ID des messages cochés soit retransmit dans la page pour effacer les messages...
Je sais que c'est un peu flou comme question... mais est-ce que quelqun peut m'aider?

Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.

Ce que tu peut faire, c'est de mettre une valeur (comme 999) connue dans le programme qui ignore la donnée quand celle-ci a la valeur 999.

Répondre à Mdy@IDN

Ben oui. Quand tu refais la liste des adresse disponbles, tout ceux qui n'ont pas la valeur 999, sont a mettre dans la fameuse liste.

Je dis 999, mais tu peut mettre une autre valeur (conventionnelle à toute ta prgramation). Comme tu veux, à ta guise.

Répondre à Mdy@IDN

http://siteduzero.com/php/formulaires.php#elements

En gros, il faut que tu génères le code des cases à cocher avec du PHP :

Citation :

Source 3.3.6 : les cases à cocher

<input type="checkbox" name="case" /> Ma case à cocher

Là encore, on donne un nom à la case à cocher (ici : "case" ). Ce nom va générer une variable dans la page cible, par exemple $_POST['case'].

* Si la case est cochée, alors $_POST['case'] aura pour valeur "on".
* Si elle n'est pas cochée, alors $_POST['case'] ne contiendra rien (NULL).



L'idée c'est que quand tu affiches un message avec la case à cocher à coter, à ce moment là tu connais l'id du message. Tu vas le stocker dans le champ "name" du formulaire.
Je suppose que l'id est contenue dans le resultat d'une requete mysql, et que donc au moment de l'affichage de la checkbox la variable valant l'id est $resultat['id']. (on est dans une boucle du type while($resultat = mysql_fetch_array($query))...

Code :
  1. echo '<input type="checkbox" name="' . $resultat['id'] . '">;


Ensuite, à la page de réception du formulaire, il suffit de lister tous les id de messages (requete mysql, pareil)

Code :
  1. $requete = "SELECT id FROM messages";
  2. $query = mysql_query($requete);
  3. while($resultat = mysql_fetch_array($query)) //on liste toutes les id possibles
  4. {
  5.   $id = $resultat['id'];
  6.   if (isset($_POST[$id]) && $_POST[$id] == 'on')) //si la case est cochee, on supprime
  7.     mysql_query("DELETE FROM messages WHERE id=$id" );
  8. }



Est-ce plus clair ?

Répondre à bluedylc
Tom's Guide > Forum > Programmation > Cases à cocher (PHP)
Aller à :

Il y a 1272 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Attention

Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois.
Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.

Répondre Annuler
Liens