8721 sujets

Développement web côté serveur, CMS

Bonsoir.
Je bloque sur le traitement par lot des messages envoyés par les visiteurs de mon site en construction.

Ces messages recueillis par formulaires sont enregistrés dans une BDD (j'ai construit une table visiteurs et une table messages : Chaque visiteur est unique, il peut envoyer 1 à n messages).
Tout cela fonctionne très bien, j'enrichis mes bases en passant par le formulaire, mais je peux aussi utiliser phpadmin...

En qualité de webmaster, je pensais pouvoir traiter ces messages par lot, quand bon me semble : J'ouvre la table des messages et je les traite séquentiellement ; j'arrête quand je veux, ou quand j'ai exploité tout le lot, voire toute la table s'il y peu de messages...

J'ai donc besoin d'une transaction "mère", qui se connecte à la base, puis sélectionne un lot (SQL paramètre LIMIT), pour ensuite exécuter un traitement en boucle ( LECTURE, AFFICHAGE, REPONSE, SUPPRESSION DU MESSAGE) et ce jusqu'à ce que le lot soit épuisé ou la fin de table atteinte.

La transaction "fille" correspond donc à la phase REPONSE, qui nécessite l'ouverture d'une page ou fenêtre me permettant de taper du texte, et d'envoyer un mail, pour enfin retourner dans la transaction mère au bon endroit.

J'ai parcouru les forums, et je n'ai rien de trouvé de tel, m'interrogeant même si c'est la bonne façon de faire.

En d'autres mots, je veux lancer un programme qui me donne accès à mes messages, et me permette l'équivalent d'un "CALL" à une routine externe, et ce bien entendu avec la qualité intrinsèque du "call" c'est à dire revenir d'où l'on est parti et au bon endroit...

En principe, après avoir répondu au 1er message, j'aurais immédiatement l'affichage du
2nd afin d'y répondre, et ainsi de suite...

D'avance merci de m'aiguiller sur la bonne piste.
Salut, je ne suis absolument pas sûr de bien avoir compris, mais est-ce que tu ne peux pas ajouter une colonne toute bête "répondu" que tu renseignes lorsque tu envoies ta réponse et qui te permet donc dans ton script après avoir répondu au message d'ouvrir le suivant ?

- Appel dernier message
- Réponse au message
- Marquage message actuel "répondu"
- Affichage message suivant
- Etc etc...
Bonjour et merci de votre réponse.

Effectivement, je crois que je n'ai pas été suffisamment clair (bcp d'alsanautes ont lu mon problème, mais l'ont probablement trouvé obscur, surtout si je n'utilise pas une bonne méthodologie...)

Actuellement j'ai écrit un algorithme qui doit me permettre d'exploiter mes messages un par un.
Il est cohérent sur le papier, mais je n'arrive pas à le coder.

Il me faut en effet un moyen d'interrompre ma transaction "parent", pour répondre au message "n" avant d'afficher le message "n+1". Cette interruption (transaction "enfant") me permet de taper mon texte, de le corriger, pour enfin le soumettre.

En d'autres termes, bien que j'ai requis : mysqli_query( $link, " SELECT * FROM messages LIMIT 10 " ) je veux accéder à mes messages un par un, et ce jusqu'au 10ème ou à la fin de table s'il y en a moins. J'ai donc une boucle qui s'interrompt à chaque message pour que je puisse physiquement répondre.

Donc, après mon $row = mysqli_fetch_assoc() qui me délivre mon message, il me faut quelquechose qui me permette de répondre, et qui redonne la main en séquence à la transaction "mère" pour poursuivre le traitement (envoi du mail, suppression du message en cours, et retour lecture au mysqli_fetch_assoc pour le message suivant).

Je ne sais pas quoi utiliser pour cette phase "répondre" : Iframe, Form, Require, Object... Ni comment mettre cela en place...

Cordialement
Bonjour.
Effectivement, comme je le pressentais, ma méthodologie n'était pas bonne.
Toutes mex excuses pour avoir encombré inutillement le forum, et bon courage à tous les développeurs.
Cdlt.