Modifier du texte avec des checkbox
RésoluJe souhaiterais savoir comment faire, en php, ou xHTML si c'est possible, mais pas en JavaScript, comment faire pour que lorsque je coche une ou plusieurs cases et que je clique sur un bouton envoyer, cela mette la ligne attribuer à la case en "barrer" (<del></del>) ?
Je m'explique, voila j'ai fait une page pour un jeux sur mon serveur.
J'ai une quête à faire sur ce jeux et je dois rayer les choses que j'ai déjà faites, sauf que la liste est un peu longue.
Donc au lieu de m'amuser à écrire "<del>" et "</del>" autour de chaque chose qui est faite à chaque fois que je viens de la finir, je voudrais savoir si il n'y à pas plus simple comme expliquer en haut.
Sachant que ma liste de choses à faire est faite en tableau *<table><tr><td> etc....*
--
Cordialement,
Petit Raptor
Configuration: Windows Vista Mozilla Firefox 3.5.6
28 réponses
Problème posé : réaliser en PHP (ou XHTML) l’affichage d’une liste de tâches où chaque élément est barré via <del> lorsque la case est cochée, sans utiliser JavaScript. Plusieurs répondants recommandent d’utiliser une base de données avec un champ booléen terminee et, dans une boucle PHP, d’afficher le texte avec <del> lorsque ce champ vaut true, sinon sans balise. D’autres discussions évoquent des approches XML, mais la solution directe reste d’utiliser une colonne realisée et un affichage conditionnel côté PHP pour insérer ou non la balise <del>.</del></del></del>
-
Oui j'avais oublier ^^
Merci encore =) -
Si ton problème est résolu d'abord pense à cocher le bouton en haut ...
-
Oops les codes n'ont pas marcher ^^" et je me suis trompé dans le "é" en plus lowl.
Quoi qu'il en soit le problème est résolu =)
En fait je ne sais pas pourquoi ça ne marcher pas :s
Dans mes pages etape1/2/3 et 4.xml, tout les "é", "è", "î", "â" etc ... avaient été complètement déformer ^^ soit en un carrer tout blanc, soit en un carrer avec des F partout dedans x'D soit par un "A" bizarre avec un "~" dessus.
J'ai seulement modifier et remis les lettres exactes et ça marche.
Merci beaucoup de votre aide et surtout à toi Avion-f16 =) -
Bah .. le tuto m'aide pas tellement en fait :s
Ah et au passage je me suis tropé hier, même l'étape une n'est pas marquer comme il faut et j'ai tester en remplacant les "é" par "&ecute;" et les "è" par "è" etc dans le fichier .xml mais ça marche pas non plus ça me marque carrément un message d'erreur.
Je sais plus trop quoi faire la ^^" -
Regarde dans mon exemple : http://fighter-aircraft.com/liste.zip
Tu as aussi ce tutoriel : https://www.grafikart.fr/tutoriels/parser-xml-php-65 -
Oui j'veux bien mais comment dire au serveur de ne récupérer que les nom des taches à partir d'une certaine id jusqu'à une autre ?
Parce-que si je met les 4 étapes en 1 .xml, il va m'afficher tout en un seul cadre alors que je veux 4 cadres bien définis. -
Par contre pourquoi as-tu créé un .xml pour chaque étape ?
Comme je te l'ai déjà dit, le XML peut "remplacer" les bases de données pour les choses simples, donc tu peux mettre toutes les tâches dans le même fichier (tu ne crées pas une base de données par membre ? là c'est pareil ...). -
Oui, pour vérifier j'ai même étais dans le menu encodage et tester de "convertir" en "UTF-8" dans Notepad++.
Non ça c'est sur ils sont tous en "UTF-8" mais j'ai l'impression qu'on ne peut pas insere plus de deux pages qui soient du même encodage :s -
T'es sûr d'avoir correctement encodé tes fichiers en UTF-8 ?
-
Non bah c'est bon j'ai réussis à le faire avec les xml en modifiant un tout petit peu ^^
Par contre je rencontre un problème :s
Pour faire les 4 étapes j'ai voulu créer 4 fichier donc: etape1.xml"", "etape2.xml", "etape3.xml et" "etape4.xml".
Tout fonctionne correctement que ce soit du coté de l'affichage ou de la gestion des cases coché et du formulaire.
Seulement voilà, j'ai donc encoder ma page index.php en UTF-8 donc mis la balise meta associer en UTF-8.
Sur les 4 pages: etape1/2/3/4.xml"" que j'ai aussi encoder en UTF-8 et donc mis dans la première ligne de ces pages: UTF-8.
Mais le seul problème c'est que quand la page est générer sur mon server"index.php" "ur, l'étape une est correct mais les 3 autres étapes sont de ce style:"entr�e map hdv mineur astrub" ou "Rose D�moniaque" ou encore "�le de Moon".
EDIT: ah bah non ça marche pas sur le message donc pour voir bah .. go sur le lien en dessous ^^"
Je ne sais pas si ça marquera comme sur ma page quand j'enverrais ce message donc pour être sur, je le met en code et si ça marche toujours pas comme ça, ma page est ici: http://www.Petit-Raptor.fr
Voilà, j'espère que vous pourrez me dire pourquoi l'encodage bug comme ça :s -
Faudra bien ... le serveur ne va pas deviner ce qu'il faut afficher ...
-
Non mais les quêtes sont beaucoup plus longues qu ça et en plus ... attend attend t'es en train de me dire que dans ma table SQL je vais devoir ajouter .....
Souris Grise - Tofu Maléfique (Cimetiere Amakna, cryptes) Moskito - Arakné - Larve Bleue - Tofu (Amakna, Astrub,..) Boufton Blanc - Boufton Noir (Amakna, Astrub, Tainéla) Arakne Malade (Souterrains d'Astrub "entrée map hdv mineur astrub") Piou Bleu - Piou Jaune - Piou Rouge - Piou Vert - Piou Violet - Piou Rose (Amakna, Astrub, Bonta, Sufokia) Flameche Air - Flameche Eau - Flameche Feu - Flameche Terre (Plaine des Scarafeuilles, Nids des Kwaks) Crabe (Port de Madrestam, Rivages de Sufokia)
X5 ? -
Dans PhpMyAdmin.
Ou avec une requête SQL : INSERT INTO taches VALUES("creer_design","Créer le design",false); -
Heu ... oui mais les quêtes je les insère comment ?
-
Avec une simple requête SQL ...
Dans la boucle, il suffit de verifier la valeur du champ 'terminee' et de générer tel code si ça vaut true (donc case cochée et ligne barrée) ou tel code si ce champ vaut false (avec rien de spécial).<?php $pdo = new PDO('mysql:host=localhost;dbname=tabase','user','password'); $sql = 'SELECT * FROM taches'; $req = $pdo->query($sql); $req->setFetchMode(PDO::FETCH_OBJ); while($tache = $req->fetch()) { if($tache->terminee == false) echo '<input type="checkbox" name="'.$tache->id.'" id="'.$tache->id.'" /> <label for="'.$tache->id.'">'.$tache->quete.'</label><br/>'."\n"; else echo '<input type="checkbox" name="'.$tache->id.'" id="'.$tache->id.'" checked="checked" /> <label for="'.$tache->id.'"><del>'.$tache->quete.'</del></label><br/>'."\n"; } ?> -
00H40: Pour l'instant je vais d'abord essayer de créer la table qu'il faut ...
00H43: Table faites, j'ai préféré nommer les champs de cette manière: id, quete, terminer.
00H44: "Ensuite, tu fais une requête SQL et dans la boucle, tu génères tel code HTML si le champ "terminer" = true et un autre si "terminer" = false"
Comment je fait ça ? -
http://fighter-aircraft.com/liste.zip
Pour le faire en PHP avec MySQL, c'est très simple.
Il te faut une table "taches" avec cette structure :
- id (tinytext) : ce que tu mettrais dans l'attribut "name" de ta checkbox
- description (tinytext) : le texte qui s'affichera à côté de la checkbox
- realisee (boolean) : vaudra true sur la tache est réalisée.
Ensuite, tu fais une requête SQL et dans la boucle, tu génères tel code HTML si le champ "realisee" = true et un autre si "realisee" = false
Fais déjà l'affichage de la liste avant de faire le système pour enregistrer. -
Je veux bien voir ce que ça donne quand même et je le mettrais bien ligne pour l'instant mais je voudrais quand même savoir le faire en php =)
Merci. -
J'ai quand même code ce script pour m'entraîner avec DOM, si tu le veux, fais moi signe.
-
XML permet de ne pas sortir la base de données pour des petits scripts du style.
Mais si tu veux utiliser la base de données, pas de problème.
Seulement, je ne vois pas où tu bloques pour faire ça avec du SQL.
- 1
- 2