Deux fichiers ajout�s dans PMB/doc
les voici en PJ, � respecter scrupuleusement ;-)
Eric
R�gles de requetage SQL :
INSERT :
pr�f�rer la forme insert into TABLE (COL1, COL2, ...) values (VAL1, VAL2, ...)
� la forme insert into TABLE set COL1=VAL1, COL2=VAL2, ...
La seconde forme vous interdit radicalement de fixer la colonne �ventuelle en
id auto_increment
D'une mani�re g�n�rale, on ne fixe jamais la valeur d'une colonne
auto_increment, c'est le serveur qui va la g�rer
On ne met donc pas cette colonne auto_increment dans la rqt insert
Si on veut la mettre : on met ZERO pour la valeur
UPDATE :
On n'update jamais la cl� primaire d'une table, partez du principe que c'est
une colonne
g�r�e par le serveur, elle ne vous appartient pas.
Si update d'un enregistrement complet, inutile de regarder quelles colonnes
ont �t� modifi�es
pour savoir quoi mettre dans le SET COL=VAL, y mettre tout sans se
poser de question,
meilleur pour la performance.
; � la fin des requetes :
Pas de ; � la fin de vos requetes SQL en PHP, c'est la parser qui envoie
lui-m�me le
s�parateur de requetes.
LOCK TABLES :
A proscrire, en principe vous n'avez pas � vous en servir*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
Ce fichier aborde deux points importants de programmation :
Inlude/require
Minimum n�cessaire
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
Probl�me des inlude/require :
include g�n�re un warning si fichier inaccessible
require g�n�re une erreur
IL FAUT DONC UTILISER require.
------------------------------
require inclus et parse le fichier
require_once inclus et parse si �a n'a pas encore �t� fait, autrement dit :
require_once ("fichier avec fonctions ou classes dedans.php");
require_once ("fichier avec fonctions ou classes dedans.php");
ne posera aucun probl�me
l� o� :
require ("fichier avec fonctions ou classes dedans.php");
require ("fichier avec fonctions ou classes dedans.php");
va vous faire une erreur de cannot redeclare ....
IL FAUT DONC UTILISER require_once
----------------------------------
Les chemins sont param�tr�s dans includes/config.inc.php
Vous devez donc �crire en d�but de chacun de vos fichiers racines (celui que vous
voyez dans l'url) :
// d�finition du minimum n�c�ssaire
include ("./includes/error_report.inc.php") ;
include ("./includes/global_vars.inc.php") ;
include ("./includes/config.inc.php");
Si vous n'�tes pas � la racine de PMB/ :
Adapter les chemins :
// d�finition du minimum n�c�ssaire
include ("../../includes/error_report.inc.php") ;
include ("../../includes/global_vars.inc.php") ;
include ("../../includes/config.inc.php");
Ajouter :
$include_path = "../../".$include_path;
$class_path = "../../".$class_path;
$javascript_path = "../../".$javascript_path;
$styles_path = "../../".$styles_path;
Avec cette fa�on d'inclure :
Vous n'avez plus � vous soucier du chemin d'acc�s, faites simplement :
require_once("$class_path/ma_classe.inc.php");
Vos classes ainsi d�velopp�es deviendront accessible en dehors de la racine !
Si, par le truchement des inclusions, il y a plusieurs require_once au m�me
fichier, vous ne sortirez pas en carafe !
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
Le minimum n�cessaire :
include ("./includes/error_report.inc.php") ;
limite les affichages d'erreur et warnings, compatibilit� avec easyPHP
1.7 (=versions r�centes de PHP)
include ("./includes/global_vars.inc.php") ;
r�sout le pb de register_globals = Off, compatibilit� avec easyPHP 1.7
(=versions r�centes de PHP)
include ("./includes/config.inc.php");
Propre � PMB, d�finit un paquet de constantes, dont notamment les
chemins :
$include_path = 'includes'; // includes
$class_path = 'classes'; // classes
$javascript_path = 'javascript'; // scripts
$styles_path = 'styles'; // styles