Ok je vois plus le problème.
Et bien déjà il faut partir du modèle c'est à dire la façon dont tu stockes et demandes tes données.
Je part du principe que:
Voilà pour la description qui est simpliste mais qui doit résumer à peu prés le trucs.
Concernant les fonction là haut
Bon ensuite sur ta vue (donc ton affichage, ta page html en somme), il faut que tu indique de faire une des actions.
Pour construire un bâtiment ton affichage va devoir lancer une page avec les infos nécessaire supplémentaire indiquant l'action à faire(ici construire), ainsi que les paramètre (ici le type de batiment).
Pour çà tu peux par exemple faire un formulaire en méthode POST pointant vers la page action="index.php?act=construire_batiment" et dans lequel tu aurais un <select name="type_du_batiment"> avec comme option les différent bâtiment possible. L'affichage pourrait les obtenir en demandant à une fonction batiment_possible la liste des batiment afin de les afficher.
Il faut aussi y mettre un bouton "construire" afin d'envoyer le formulaire (ou un lien lançant le formulaire grace à sa propriètè onClick)
Ainsi tu aura fait la première étape permetre à l'utilisateur de dire ce qu'il veut faire.
Sur ta page index.php tu récupère l'action à faire grâce à $_GET['act'] après avoir vérifié que l'action est valide tu lance donc l'action correspondante ici construire_bat($_SESSION['id_joueur'],$_POST['type_du_batiment']);
Éventuellement tu enregistres un message dans SESSION ('construction réussit/ vous n'avez pas assez pour cette construction')
Tu redirige avec header('location: http://.../index.php?act=affichage");
Et dans affichage tu affiche la page bâtiment avec en prime le message.
NB: la redirection est importante afin d'éviter que si le joueur actualise la page l'action soit fait de nouveau. Si je me trompe pas cette méthode porte le nom de "design pattern RPC", mais comme beaucoup je la pratiquais sans lui donner de petit nom
En effet quand on actualise on renvoie aussi les données attachés c'est à dire les donnée GEt et les données POST!
J'espère que çà t'aide, çà décrit précisément comment partir du bon pied en évitant de mélanger toute les parties code c'est à dire en mettant des requête SQL avec des echo html par exemple...
NB2:je peux te donner des exemples pour lancer un formulaire via un lien au lieu d'un bouton, c'est souvent mieux pour la sécurité. Je pense au faille CSRF
Et bien déjà il faut partir du modèle c'est à dire la façon dont tu stockes et demandes tes données.
Je part du principe que:
- tu as une table type de batiment. type_batiment(#nom=>String,description=>string,cout=>Numerique)
- tu as une table bâtiment décrivant les bâtiments qu'un joueur à construit:
batiment(#id=>Numerique,proprietaire=>joueur,type=>type_batiment,niveau=>Numerique)
Voilà pour la description qui est simpliste mais qui doit résumer à peu prés le trucs.
Concernant les fonction là haut
- ajouter_batiment($nom,$description,$cout,...)
Ajoute un enregistrement(tuple) dans type_batiment
- supprimer_batiment($nom)
Supprime l'enregistrement ayant pour clef primaire $nom dans type_batiment
- editer_batiment($nom,$description,$cout,...)
Fais un Update de l'enregistrement ayant pour clef primaire $nom avec les infos mis en paramètre
- creer_batiment($proprietaire,$nom)
Creer un enregistrement dans la table batiment
- augmenter_batiment($id)
Augmente l'enregistrement $id de niveau
- detruire_batiment($id)
Supprime l'enregistrement $id dans batiment
- etc...
Bon ensuite sur ta vue (donc ton affichage, ta page html en somme), il faut que tu indique de faire une des actions.
Pour construire un bâtiment ton affichage va devoir lancer une page avec les infos nécessaire supplémentaire indiquant l'action à faire(ici construire), ainsi que les paramètre (ici le type de batiment).
Pour çà tu peux par exemple faire un formulaire en méthode POST pointant vers la page action="index.php?act=construire_batiment" et dans lequel tu aurais un <select name="type_du_batiment"> avec comme option les différent bâtiment possible. L'affichage pourrait les obtenir en demandant à une fonction batiment_possible la liste des batiment afin de les afficher.
Il faut aussi y mettre un bouton "construire" afin d'envoyer le formulaire (ou un lien lançant le formulaire grace à sa propriètè onClick)
Ainsi tu aura fait la première étape permetre à l'utilisateur de dire ce qu'il veut faire.
Sur ta page index.php tu récupère l'action à faire grâce à $_GET['act'] après avoir vérifié que l'action est valide tu lance donc l'action correspondante ici construire_bat($_SESSION['id_joueur'],$_POST['type_du_batiment']);
Éventuellement tu enregistres un message dans SESSION ('construction réussit/ vous n'avez pas assez pour cette construction')
Tu redirige avec header('location: http://.../index.php?act=affichage");
Et dans affichage tu affiche la page bâtiment avec en prime le message.
NB: la redirection est importante afin d'éviter que si le joueur actualise la page l'action soit fait de nouveau. Si je me trompe pas cette méthode porte le nom de "design pattern RPC", mais comme beaucoup je la pratiquais sans lui donner de petit nom
En effet quand on actualise on renvoie aussi les données attachés c'est à dire les donnée GEt et les données POST!
J'espère que çà t'aide, çà décrit précisément comment partir du bon pied en évitant de mélanger toute les parties code c'est à dire en mettant des requête SQL avec des echo html par exemple...
NB2:je peux te donner des exemples pour lancer un formulaire via un lien au lieu d'un bouton, c'est souvent mieux pour la sécurité. Je pense au faille CSRF