Question sur les requettes
*takka*
-
le père -
le père -
Bonjour,
je créé un jeu de gestion en php, et j'utilise les bases de données avec Mysql.
Lorsque le joueur ouvre sa session, sur la page de son personnage il y aura son pseudo de joueur, son argent, ses compétences, son poids...
Pour cela, je suis conscient qu'il faut faire des tas de requettes, mais pourtant, je me pose une question.
Lorsqu'on se connecte sur une base de donnée en tant que joueur avec un certain pseudo, n'y a t'il pas une solution pour qu'on puisse ecrire des valeurs en $pseudo, $argent, $poids sans à chaques fois faire des requettes pour tous les mots ?
je créé un jeu de gestion en php, et j'utilise les bases de données avec Mysql.
Lorsque le joueur ouvre sa session, sur la page de son personnage il y aura son pseudo de joueur, son argent, ses compétences, son poids...
Pour cela, je suis conscient qu'il faut faire des tas de requettes, mais pourtant, je me pose une question.
Lorsqu'on se connecte sur une base de donnée en tant que joueur avec un certain pseudo, n'y a t'il pas une solution pour qu'on puisse ecrire des valeurs en $pseudo, $argent, $poids sans à chaques fois faire des requettes pour tous les mots ?
A voir également:
- Question sur les requettes
- Quelle requête écrire pour demander au moteur de recherche de présenter de préférence les pages web traitant de tennis mais pas de tennis de table ? ✓ - Forum Access
- Probleme de requête - Forum Access
- Tennis : pb machine à corder ✓ - Forum Loisirs / Divertissements
- Requête sql pour afficher uniquement les fleurs dont le prix est strictement inférieur à 10 euros - Forum calculatrices
- Cherche des haricot vendez les moi ✓ - Forum DS
9 réponses
Bonjour
Je ne comprends pas ta question. Quand on se connecte à une base de données, c'est en principe pour y faire des requêtes et rien d'autre.
La seule économie de requête que tu peux faire (c'est peut-être de ça que tu voulais parler) c'est d'utiliser les sessions qui te permettent de conserver des variables d'une page à l'autre et donc de ne pas ré-interroger ta base de données pour ce qui ne change pas à chaque appel de page.
Je ne comprends pas ta question. Quand on se connecte à une base de données, c'est en principe pour y faire des requêtes et rien d'autre.
La seule économie de requête que tu peux faire (c'est peut-être de ça que tu voulais parler) c'est d'utiliser les sessions qui te permettent de conserver des variables d'une page à l'autre et donc de ne pas ré-interroger ta base de données pour ce qui ne change pas à chaque appel de page.
oui c'est à ça que je pense !
J'arrive à creer les sessions, mais que faut il faire dans la premiere page pour que nous ayons les variables dans toutes les autres pages sans refaire de requetes ?
J'arrive à creer les sessions, mais que faut il faire dans la premiere page pour que nous ayons les variables dans toutes les autres pages sans refaire de requetes ?
pour créer les variables de session en les initialisant, dans la première page :,
$_SESSION['pseudo']=$pseudo;
$_SESSION['argent']=$argent;
$_SESSION['poids']=$poids;
pour les récupérer dans les pages suivantes :
$pseudo=$_SESSION['pseudo'];
$argent=$_SESSION['argent'];
$poids=$_SESSION['poids'];
Une question. Tu dis que tu arrives à créer les sessions, mais tu en fais quoi, si tu ne fais pas ça ?
$_SESSION['pseudo']=$pseudo;
$_SESSION['argent']=$argent;
$_SESSION['poids']=$poids;
pour les récupérer dans les pages suivantes :
$pseudo=$_SESSION['pseudo'];
$argent=$_SESSION['argent'];
$poids=$_SESSION['poids'];
Une question. Tu dis que tu arrives à créer les sessions, mais tu en fais quoi, si tu ne fais pas ça ?
c'est pour qu'un joueur puisse se connecter à sa session, j'ai juste fait l'espace membre pour le moment.
Ce que je me demande, c'est que lors de l'authentification, le joueur ne rentre que son pseudo et son mot de passe, ce qui veut dire que parmis
$_SESSION['pseudo']=$pseudo;
$_SESSION['argent']=$argent;
$_SESSION['poids']=$poids;
il n'y a que le pseudo qui est trouvé non ?
En sachant que chacun a des variables donc differentes, comment faire pour afficher l'argent du joueur connecté ?
car on ne peut pas mettre $_SESSION['500']=$argent;
:/
Ce que je me demande, c'est que lors de l'authentification, le joueur ne rentre que son pseudo et son mot de passe, ce qui veut dire que parmis
$_SESSION['pseudo']=$pseudo;
$_SESSION['argent']=$argent;
$_SESSION['poids']=$poids;
il n'y a que le pseudo qui est trouvé non ?
En sachant que chacun a des variables donc differentes, comment faire pour afficher l'argent du joueur connecté ?
car on ne peut pas mettre $_SESSION['500']=$argent;
:/
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Salut ,
je vais peut etre dire n'importe quoi mais juste apres l'authentification reussi tu pourrais afficher une page chargement qui initialise toutes les requetes par rapport au pseudo comme sa tu auras
/* REQUETES SQL */
$_SESSION['argent'] = $requete['argent'];
$_SESSION['poids'] = $requete['poids'];
et apres tu fais une redirection vers la page normal.... et recuperer les infos par
$argent=$_SESSION['argent'];
$poids=$_SESSION['poids'];
je vais peut etre dire n'importe quoi mais juste apres l'authentification reussi tu pourrais afficher une page chargement qui initialise toutes les requetes par rapport au pseudo comme sa tu auras
/* REQUETES SQL */
$_SESSION['argent'] = $requete['argent'];
$_SESSION['poids'] = $requete['poids'];
et apres tu fais une redirection vers la page normal.... et recuperer les infos par
$argent=$_SESSION['argent'];
$poids=$_SESSION['poids'];
Bonjour *takka*
Bien sûr que lors de la connexion, tu n'as au départ que le login et le mot de passe. Il te faut une première requête pour vérifier ce login et ce mot de passe et une deuxième pour récupérer les autres infos de poids, argent, etc... Suivant la façon dont ta base est organisée, tu peux peut-être tout avoir en une seule requête.
Ta question portait sur le besoin de transmettre les variables de page en page sans avoir à refaire les requêtes à chaque fois. Les sessions te le permettent comme indiqué dans le message n°3. Elles ne te dispensent pas de faire une requête la première fois, il faut bien que tes variables sortent de quelque part avant de pouvoir être transmises...
Bien sûr que lors de la connexion, tu n'as au départ que le login et le mot de passe. Il te faut une première requête pour vérifier ce login et ce mot de passe et une deuxième pour récupérer les autres infos de poids, argent, etc... Suivant la façon dont ta base est organisée, tu peux peut-être tout avoir en une seule requête.
Ta question portait sur le besoin de transmettre les variables de page en page sans avoir à refaire les requêtes à chaque fois. Les sessions te le permettent comme indiqué dans le message n°3. Elles ne te dispensent pas de faire une requête la première fois, il faut bien que tes variables sortent de quelque part avant de pouvoir être transmises...
@le père
Quand j'ai dis :
/* REQUETES SQL */
$_SESSION['argent'] = $requete['argent'];
$_SESSION['poids'] =$requete['poids'];
/* REQUETE SQL */ signifie les requetes a placé :
$req = mysql_query("SELECT argent,poids FROM table WHERE name='$name' ");
while ($requete = mysql_fetch_array($req))
{
$_SESSION['argent'] = $requete['argent'];
$_SESSION['poids'] =$requete['poids'];
}
c'est sa que je voulais dire .
Quand j'ai dis :
/* REQUETES SQL */
$_SESSION['argent'] = $requete['argent'];
$_SESSION['poids'] =$requete['poids'];
/* REQUETE SQL */ signifie les requetes a placé :
$req = mysql_query("SELECT argent,poids FROM table WHERE name='$name' ");
while ($requete = mysql_fetch_array($req))
{
$_SESSION['argent'] = $requete['argent'];
$_SESSION['poids'] =$requete['poids'];
}
c'est sa que je voulais dire .
Je m'en doutais un peu...
Sauf que le while me semble inutile. Il ne devrait pas y avoir plusieurs fois le même $name, et si c'est le cas, pourquoi faire un while pour aller chercher le dernier au lieu de prendre le premier ?
D'autre part, le résultat d'un mysql_fetch_array étant un résultat de requête mais pas uen requête, l'appeler $requete risque de tromper les débutants qui nous lisent et qui vont se mettre à tout confondre. Il vaut mieux l'appeler $resultat...
Sauf que le while me semble inutile. Il ne devrait pas y avoir plusieurs fois le même $name, et si c'est le cas, pourquoi faire un while pour aller chercher le dernier au lieu de prendre le premier ?
D'autre part, le résultat d'un mysql_fetch_array étant un résultat de requête mais pas uen requête, l'appeler $requete risque de tromper les débutants qui nous lisent et qui vont se mettre à tout confondre. Il vaut mieux l'appeler $resultat...
Bonjour ego
On peut utiliser les cookies, ou loger les valeurs dans les URLs des liens qui vont appeler les autres pages...
Mais les sessions me semblent à la fois plus simples à utiliser, moins limitées s'il y a beaucoup de variables, et aussi plus fiables. Trop facile avec quelques connaissances d'envoyer des cookies ou des URL bidonnés.
On peut utiliser les cookies, ou loger les valeurs dans les URLs des liens qui vont appeler les autres pages...
Mais les sessions me semblent à la fois plus simples à utiliser, moins limitées s'il y a beaucoup de variables, et aussi plus fiables. Trop facile avec quelques connaissances d'envoyer des cookies ou des URL bidonnés.