JeuWeb - Crée ton jeu par navigateur

Version complète : Briques élementaires
Vous consultez actuellement la version basse qualité d'un document. Voir la version complète avec le bon formatage.
Pages : 1 2
Si, on appelle ça un mur. Il utilise plusieurs briques 2 en ajoutant des prossibilités d'action (crochets pour les cadres, fenêtre)...
n'oublions pas les modules paypall et allopass, meme si le code est deja fourni on peut les considerer comme brique je pense.
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...
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...
On utilise son cerveau. 2

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 :
$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 2
Sephi-Chan a écrit :
Code 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 :
            $_SESSION['id_compte'],
            
1,
            

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 :
$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 :
$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
Pages : 1 2
URLs de référence