IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Demande de conseil [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Autre
    Inscrit en
    Mai 2016
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : Mai 2016
    Messages : 64
    Points : 26
    Points
    26
    Par défaut Demande de conseil
    Bonjour,

    Je viens à nouveau vers vous car j'ai besoin d'un renseignement technique sur le Php et la façon dont je pourrais faire cette partie.
    Je suis en train de créer un système de quête avec des actions et réponses.

    Le principe est simple:

    J'envoie un personnage, 20 minutes s'écoule puis je reçois un texte avec une image et plusieurs réponses pouvant aller de 1 à 5 voir 6 choix possibles.

    je sélectionne un choix puis j'attends 20 minutes, ce choix me conduit à un autre texte avec de nouveaux choix. Je valide à nouveau et cela recommence jusqu'à la fin de la mission.

    Il y aura des centaines de missions différentes. Alors je voulais savoir comment faire?

    Car là j'ai essayé en Php sur un essai, en stockant quelques infos (id de la mission par exemple ) et en une mission avec seulement 2 choix et 2 tours je me retrouve dans un sacré bordel niveau fichiers Php ^^( Un total de 10 fichiers découpé en parties M1part1,M1part2 etc...) je pense qu'il existe un moyen moins encombrant et je voulais avoir vos avis, conseils etc...

    PS: Il y a longtemps un ami à moi m'avait codé un système où je remplissais des colonnes et cela créer un fichier XML qu'on lançait. Je ne sais pas s'il est adapté à la situation et si oui comment je peux l'utiliser?

    Cordialement

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Classiquement, on utilise une base de données avec une table "etape" et une table "choix".

    La table "etape" contient
    etape_id, etape_texte, etape_image

    La table "choix" contient
    choix_id, etape_id, choix_texte, etape_nextid

    Tu as donc un seul fichier PHP qui affiche les étapes et les choix.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Autre
    Inscrit en
    Mai 2016
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : Mai 2016
    Messages : 64
    Points : 26
    Points
    26
    Par défaut
    Okay je vais essayer de cette façon alors en mettant plus d'infos en BDD, merci bien je vous tiens au courant

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Autre
    Inscrit en
    Mai 2016
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : Mai 2016
    Messages : 64
    Points : 26
    Points
    26
    Par défaut
    Alors j'ai essayé, cette méthode mais je n'y arrive pas. Car un soucis majeur qui se pose est que le choix des missions est aléatoire, je n'arrive pas à faire quelque chose qui tourne en rond. Je me retrouve bloquer après un choix. Et je crois que je me perd avec tout les id lol.

  5. #5
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Comment ça "bloqué après un choix" ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Autre
    Inscrit en
    Mai 2016
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : Mai 2016
    Messages : 64
    Points : 26
    Points
    26
    Par défaut
    Alors, c'est bon j'ai réussi à tout faire comme je veux : p et grace à tes conseils. J'ai par contre une nouvelle question.
    À la fin de la mission, le joueur a une récompense. Cette récompense varie, je les ai donc inscrites en BDD.

    J'ai fait:

    numéro_gain - Texte Gain - gain

    Je mets donc dans le gain la requête de ce que gagne le joueur, problème est que je ne sais pas comment faire pour lire la requête inscrite dans la bdd et je ne sais même pas si cela est possible.

    Si tu as la réponse je suis preneur en attendant je cherche :p

    Merci

  7. #7
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Je n'ai pas bien compris ta difficulté.
    C'est une requête normale SELECT
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  8. #8
    Nouveau membre du Club
    Homme Profil pro
    Autre
    Inscrit en
    Mai 2016
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : Mai 2016
    Messages : 64
    Points : 26
    Points
    26
    Par défaut
    Enfaite j'ai enregistré la requete dans un champ de la BDD car ils seront different en fonction du resultat de la mission.je les ai enregistré sous forme de requete.

    Est ce que je peux les lires en php? et si oui comment? j'ai essayé en appelant la variable mais ca ne marche pas^^

  9. #9
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    tu parles de quete, de requete... ce n'est pas clair.

    Citation Envoyé par malibx Voir le message
    ...Je mets donc dans le gain la requête de ce que gagne le joueur...
    ???

    Montre un extrait de ta TABLE.

    Et un peu de code ne ferait pas de mal.

  10. #10
    Nouveau membre du Club
    Homme Profil pro
    Autre
    Inscrit en
    Mai 2016
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : Mai 2016
    Messages : 64
    Points : 26
    Points
    26
    Par défaut
    Oui, je parle de quêtes et de requêtes. En ce qui concerne les quêtes c'est réglé. Le système que je voulais faire est fonctionnel.

    La ce dont je parle, c'est le gain. Un joueur fait des missions, il gagne ou il perd. Si il gagne il obtient X choses.

    Le X choses est donc aléatoire en fonction du résultat de la mission. Cela peut être des ressources, des troupes etc... Donc quand la mission s'achève elle envoie vers un numero. Le numéro correspond lui à un numéro dans une table qui donne donc la ligne demandé. Dans cette ligne j'ai un champ gain ou je souhaite mettre une REQUÊTE php (tout du moins un UPDATE) pour donner au joueur la récompense.

    Je voulais donc savoir comment executer cette UPDATE? Savoir si cela est possible.

    Je ne peux pas mettre de code étant donné qu'il n'y en a pas. En ce qui concerne le champs de la BDD je le mets ici, pas de problème et c'est un UPDATE test. La requête est bonne


    $up=$bdd->prepare('UPDATE population SET population=population+? WHERE id_planete = ?');
    $up->execute(array(5000,$planete_utilise));

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    --
    -- Structure de la table `mission_resultat`
    --
     
    CREATE TABLE IF NOT EXISTS `mission_resultat` (
      `id` int(11) NOT NULL AUTO_INCREMENT,
      `texte_fin` varchar(255) NOT NULL,
      `numero_fin` int(11) NOT NULL,
      `gain` text NOT NULL,
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ;
     
    --
    -- Contenu de la table `mission_resultat`
    --
     
    INSERT INTO `mission_resultat` (`id`, `texte_fin`, `numero_fin`, `gain`) VALUES
    (1, 'Mission terminé.Test 5000 Pop', 5, '$up=$bdd->prepare(''UPDATE population SET population=population+? WHERE id_planete = ?'');\n$up->execute(array(5000,$planete_utilise));');

  11. #11
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Houla non ne met pas du code SQL ou PHP dans ta table.
    Met simplement une colonne pour le type de ressource et une colonne pour la valeur.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  12. #12
    Nouveau membre du Club
    Homme Profil pro
    Autre
    Inscrit en
    Mai 2016
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : Mai 2016
    Messages : 64
    Points : 26
    Points
    26
    Par défaut
    hum okay mais comment faire pour les requetes alors? car il va y avoir une soixantaines de requete differentes.

  13. #13
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Ca fait une seule requête avec 3 variables :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UPDATE population SET la_ressource = la_ressource + la_valeur WHERE id_planete = la_planete
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  14. #14
    Nouveau membre du Club
    Homme Profil pro
    Autre
    Inscrit en
    Mai 2016
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : Mai 2016
    Messages : 64
    Points : 26
    Points
    26
    Par défaut
    Oui j'avais bien compris comme ça ^^ ça m'arrange pas mais je vais devoirs trouver un système comme ça.

    merci en tout cas

  15. #15
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    c'est extrêmement simple à mettre en place pourtant.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  16. #16
    Nouveau membre du Club
    Homme Profil pro
    Autre
    Inscrit en
    Mai 2016
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : Mai 2016
    Messages : 64
    Points : 26
    Points
    26
    Par défaut
    Oui mais je voulais directement créer toute al requête et la lire. Je ne savais pas si c'était possible. J'ai fait donc d'une autre façon et tout fonctionne Merci pour votre aide en tout cas.

    Sans doute à la prochaine :p

    Cordialement

  17. #17
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    une solution : tu peux mettre 2 champs dans la table
    • gain_requete
    • gain_params



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (1, 'Mission terminé.Test 5000 Pop', 5, 'UPDATE population SET population=population+5000 WHERE id_planete = ?', 'planete_utilise' );

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?php
    $gain_requete = $row['gain_requete'];
    $gain_params = array();
    $gain_params[] = $$row['gain_params']; // 2 $$ -> $planete_utilise (variable)
     
    $up=$bdd->prepare( $gain_requete );
    $up->execute( $gain_params );

  18. #18
    Nouveau membre du Club
    Homme Profil pro
    Autre
    Inscrit en
    Mai 2016
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : Mai 2016
    Messages : 64
    Points : 26
    Points
    26
    Par défaut
    Oui j'aurais pu mais la j'ai fait de la façon suivante.


    Dans gain j'ai mis un mot qui récapitule ce qu'on gagne et dans un fichier requête je fais une requête pour le mot utilisé. ^^

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Demande de conseil pour migration de lignes vers colonnes
    Par ririd dans le forum Administration
    Réponses: 6
    Dernier message: 04/11/2004, 18h02
  2. [Struts_Tiles VS CSS] Demande de Conseils
    Par sylvain_neus dans le forum Struts 1
    Réponses: 4
    Dernier message: 16/04/2004, 11h12
  3. [sqlbaseserver]demande de conseils/aides pour requêtes
    Par GéniuS77 dans le forum Langage SQL
    Réponses: 14
    Dernier message: 18/03/2004, 18h27
  4. demande de conseil
    Par stephane eyskens dans le forum EDI/Outils
    Réponses: 2
    Dernier message: 25/09/2003, 15h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo