JeuWeb - Crée ton jeu par navigateur
Briques élementaires - 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 : Briques élementaires (/showthread.php?tid=861)

Pages : 1 2


RE: Briques élementaires - denisc - 26-02-2007

Si, on appelle ça un mur. Il utilise plusieurs briques Smile en ajoutant des prossibilités d'action (crochets pour les cadres, fenêtre)...


RE: Briques élementaires - Bastard - 14-04-2007

n'oublions pas les modules paypall et allopass, meme si le code est deja fourni on peut les considerer comme brique je pense.


RE: Briques élementaires - Globe - 14-04-2007

On parle pour tous les jeux, tous les jeux n'utilisent pas des systèmes de micro-paiement...

Un save auto de la Base de Données soit via un cron soit directement dans l'administration...


RE: Briques élementaires - Prizor - 08-06-2007

barst a écrit :j'ai un script qui me fait de l'administrationn de DB rapide (nom des tables => nombre enregistrements / besoin d'optimiser avec la possibilité de lancer la requete)

Comment on fait ça ?
Ca m'intéresse de pouvoir optimiser rapidement (et manuellement) toutes les tables qui en ont besoin...


RE: Briques élementaires - Sephi-Chan - 08-06-2007

On utilise son cerveau. Smile

L'optimisation d'une table passe par des tests de performances (sur un grand nombre de requêtes), un bon choix des types de colonnes, etc.

Ensuite la grosse partie de l'optimisation se fait dans les requêtes. Par une clause SELECT efficace (qui prend seulement ce dont elle à besoin), dans l'utilisation de jointures, de sous-requêtes, de variables utilisateurs, de fonctions spéciales.

Ensuite il faut choisir ce qui sera fait par SQL ou par PHP :

Par exemple, on voit souvent des gens utiliser une colonne de type BIGINT pour stocker un timestamp (issu de la fonction time() de PHP) dans une table au moment de l'INSERT. Puis qui passent par les fonctions de PHP pour formater une date à partir de ce timestamp. Le mieux étant de faire une colonne de type TIMESTAMP et de lui donner la constante CURRENT_TIMESTAMP, de manière à attribuer par défaut (sans rien faire) et à tout nouvel enregistrement le timestamp actuel (au format SQL), qui ressemble à 2007-05-30 22:21:02.

Il faut connaître les fonctions SQL, comme DATE_FORMAT(), qui s'utilise dans la clause SELECT et qui permet de faire les choses proprement en formatant la date dans un champ aliasé.

Exemple :
Code PHP :
<?php 
$s_requete
= sprintf("
SELECT id, nom, DATE_FORMAT(date_inscription, '%%e.%%m.%%Y') AS date_inscription FROM comptes
WHERE id=%d AND confirmation=%d AND administration=%d"
,
$_SESSION['id_compte'],
1,
1
);

Qui me renvoie (entre autre) une date au format : 30.05.2007

Il ne faut pas avoir peur de faire travailler SQL, c'est souvent plus rapide que PHP, et surtout bien plus propre, et c'est alors la performance globale de votre application qui progressera.

Pour un aperçu des fonctions SQL : Developpez.com - Les fonctions dans SQL


Sephi-Chan, voila, ça peut toujours servir de le rappeler Smile


RE: Briques élementaires - Prizor - 08-06-2007

Sephi-Chan a écrit :
Code PHP :
<?php 
$s_requete
= sprintf("
SELECT id, nom, DATE_FORMAT(date_inscription, '%%e.%%m.%%Y') AS date_inscription FROM comptes
WHERE id=%d AND confirmation=%d AND administration=%d"
,
$_SESSION['id_compte'],
1,
1
);


Euh... Je m'y connais pas trop, niveau requètes... C'est quoi ça :
Code PHP :
<?php 
$_SESSION
['id_compte'],
1,
1



RE: Briques élementaires - Sephi-Chan - 08-06-2007

Sprintf() est une fonction PHP qui permet de renvoyer une chaîne après formattage.

Le formattage dont il est question est en fait un remplacement des variables passés en paramètre dans leur ordre d'apparition dans la chaîne. Voici un exemple d'utilisation (basique et peu utile).

Code PHP :
<?php 
$nom
= 'Scott';
$race = 'Pointer';
$age = 9;
$chaine = sprintf("J'ai nommé mon chien %s, c'est un %s de %d ans.", $nom, $race, $age);
echo
$chaine; // Renvoie J'ai nommé mon chien Scott, c'est un Pointer qui a 9 ans.

Dans mon cas :
Code PHP :
<?php 
$s_requete
= sprintf("
SELECT id, nom, DATE_FORMAT(date_inscription, '%%e.%%m.%%Y') AS date_inscription FROM comptes
WHERE id=%d AND confirmation=%d AND administration=%d;"
,
$_SESSION['id_compte'],
1,
1
);
echo
$s_requete;
/* Renvoie
SELECT id, nom, DATE_FORMAT(date_inscription, '%%e.%%m.%%Y') AS date_inscription
FROM comptes
WHERE id=237 AND confirmation=1 AND administration=1;
si bien sur $_SESSION['id_compte'] vaut 237 */

Tu cernes ?


Sephi-Chan