Boucle for-où la placer ?Messagerie privée - Version imprimable +- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org) +-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38) +--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51) +--- Sujet : Boucle for-où la placer ?Messagerie privée (/showthread.php?tid=3002) Pages :
1
2
|
Boucle for-où la placer ?Messagerie privée - biboum - 03-09-2008 Bonjour.Je reviens avec mes histoires :p Je viens de finir ma messagerie privée, avec un tas de fonctionnalité, un code à moi tout beau (surement illisible^^) Mais j'aimerai permettre d'envoyer un message à plusieurs personne en même temps. Pour cela j'ai crée un formulaire html de <select multiple> Mais là maintenant je suis completement perdu...A force de mettre des conditions et d'autres boucles pour le traitement des données, je ne sais pas où mettre (ni vraiment si c'est comme ca qu'il faut faire) ma boucle for pour que chaque $_POST['destinataire'] recoivent un mail/et le message dans leur boite(les actions du traitement quoi...). Code PHP :
Je vous remercie d'avance si vous pouviez me donner une petite piste...de où placer "for($i = 0; $i < count($destinataire); $i++)" Enfin si déjà c'est la bonne façon de faire que de faire un for au lieu d'un while ou d'un foreach... RE: Boucle for-où la placer ?Messagerie privée - Kassak - 03-09-2008 Euh, la boucle for tu l'a met quand tu traites la réponse du formulaire, tu fais sûrement une requête d'insertion non? Moi je n'utilise que des boucles while, donc ça doit donner quelque chose comme ça : Code PHP :
Je piges pas la difficulté dans ta question? RE: Boucle for-où la placer ?Messagerie privée - biboum - 03-09-2008 La difficulté...arrivé à dire de faire la même chose pour toutes les valeurs que contient $_post['destinataire'] Code PHP :
RE: Boucle for-où la placer ?Messagerie privée - Ter Rowan - 03-09-2008 je peux me tromper mais n'essaie pas ce code en effet si $destinataire vaut autre chose que 0 alors tu as une boucle infinie il faut que tu modifies le $destinataire dans le while pour pouvoir sortir je pense que le message de kassak était une illustration pas un code qui fonctionne RE: Boucle for-où la placer ?Messagerie privée - Kassak - 03-09-2008 Oula oui, c'est juste une démonstration, à toi de l'adapter RE: Boucle for-où la placer ?Messagerie privée - keke - 03-09-2008 Est-ce que tu sais qu'il est possible de faire des insert multiple (dans une seule table à la fois par contre) La syntaxe est proche de : INSERT INTO table ( champs1, champs2, champs3) VALUES (x, y z), (toto, tata, truc), (pipi, caca, crote) (Ref = http://dev.mysql.com/doc/refman/5.0/fr/insert.html) Peut-être que ça peut t'aider. Il me semble aussi qu'au niveau mail, il est possible d'envoyer à une liste de gens... Pour répondre à ta question et indépendament de ce que je viens de dire, je verrais bien ta boucle ici : Code : if($donnees['destinataire'] == $destinataire AND $donnees['sujet'] == $sujet AND $donnees['message'] == $message) RE: Boucle for-où la placer ?Messagerie privée - biboum - 03-09-2008 Il semblerait que j'ai un problème au niveau de mon formulaire en fait. Je pensais que c'était ma boucle, mais c'est mon formulaire. Si je ne met pas les [] à name="destinataire" il ne me renvoie qu'une seule valeur, peu importe combien j'en selectionne...la premiere. Si je met les [] alors il ne me reconnait plus rien du tout et ne m'affiche aucune valeur. Donc forcement il ne peux pas faire de boucle. Pour info, je n'ai pas essayer la boucle de kassak J'essayais juste de savoir ou il voulait en venir parce que je patauge un peu... RE: Boucle for-où la placer ?Messagerie privée - jo_link_noir - 03-09-2008 RE: Boucle for-où la placer ?Messagerie privée - khiguard - 03-09-2008 Escusez moi, je me permet de dévier sensiblement de la question demandée mais j'aimerais juste faire une remarque: biboum, je vois dans ton code que tu ouvre et ferme fréquement les balises php (<?php ?>). Si je peut me permettre un conseil ne fait pas comme cela. Plus tard tu le regretera. Cette façon de faire alourdis innutilement le temps de traitement d'une page. Je te conseil de mettre tout ton code HTML (ou autre) dans une variable et d'imprimer cette variable à la fin du document seulement. Idéalement voila comment ca devrait se passer: Connexion base de donnée $VARIABLE='CODE'; ... traitement divers... $VARIABLE.='encore du code ou le résultat de tes echo'; Deconnexion de la base echo $VARIABLE; Ne pas faire d'impression entre la connexions à la base de donnée, et stocker tout dans une variable que l'on imprime après la fermeture. Je peut t'assurer que cette façon de faire te fera gagner pas mal de temps sur tes pages. Car si tu a beaucoup de joueur sur ton jeu, et que tu a besoin d'accélerer le traitement de tes pages, tu devra toute les refaires. Bonne chance. @+ RE: Boucle for-où la placer ?Messagerie privée - biboum - 04-09-2008 J'abbandonne pour cette partie là du site. Je voulais faire en sorte de faire des envoie à plusieurs personnes en même temps. Mais il ne voulait pas m'envoyer ma requête aux différents destinataire. Même quand il me reconaissait tous mes destinataire, il ne me l'envoyait qu'au premier, et dans ma base de donnée, il ne m'en reconaissait aucun... Trop compliqué pour un débutant comme moi ? Surement, je le met de coté et j'y reviendrais une autre fois. merci à vous de m'avoir "soutenu" et de m'avoir proposé des pistes, que je n'ai pas su exploiter...Mais ca m'a malgré tout permis de m'habituer au code PHP dans son ensemble...on apprend tout doucement. Je note aussi Khiguard pour la façon de faire pour le code. Je vais tenter de faire au mieux de cette façon. D'habitude je sépare chaque élement dans une autre page, mais là il était plus simple de tout mettre sur la même page. Et à force d'y rajouter des élements (bbcode, présentation, nombre de message, boite de reception globale, message anonyme, destinataire=pays et non le pseudo comme ce le fut au début, zone de saisi et d'insertion en javascript des messages ...etc...bah le code s'est alourdit fortement. Mais je prend bonne note et ferais au mieux. Il y aura surement bientôt un exemple pour les curieux qui souhaiteront venir voir. P.S : pour la balise option, on dirait d'après ce que j'ai vu qu'il y a deux script d'écriture possible. Certains la ferme, d'autres non. |