Affichage simplifié
Si votre hébergeur ne vous propose qu’une seule base de données vous avez très certainement utiliser des préfixes à vos noms de tables pour vous y retrouver (toutes les bases de Joomla commencent par joom_, toutes les bases de wordpress commencent par wp_). Avec cette méthode , il devient difficile de s’y retrouver, voilà pourquoi phpMyAdmin propose de regrouper toutes ces bases par des préfixes dans la colonne de gauche. Pour cela, dans votre fichier config.inc.php, ajoutez la ligne suivante :
$cfg['LeftFrameTableSeparator']= '_'; //permet d'indiquer le caractère entre le préfixe et le nom de la table
$cfg['LeftFrameTableLevel']=1; //permet d'indiquer le nombre de niveau d'imbrications
Insertions d’enregistrements
$cfg['InsertRows'] permet de définir le nombre d'enregistrements à insérer par défaut dans une table.
$cfg['InsertRows']=5; //par défaut, 5 enregistrements seront possibles lors du clic sur le bouton insertion d'une table.
Accélerer le temps de chargement
$cfg['LightTabs']=true : permet de simplifier l'aspect graphique des onglets en haut de page
error_reporting(E_ALL);
define('JAVASCRIPT',false);
define('REP_IMAGE','./icones/');
/**
* classe Element utilisee par la classe Formulaire
*
*/
class Element{
protected $type;
protected $name;
protected $label;
protected $labelScreen;
protected $attributs;
protected $notnull;
/** Constructeur
* @param string $type balise de l'element (input, select, textarea, ...)
* @param string $name
* @param string $label chaine affiché avant le champ
* @param tab $attributs tableau associatif des attibuts
* @return none
*/
function __construct($type,$name,$label,$attributs){
$this->type=$type;
$this->name=$name;
$this->label=$label;
if($this->label==''){
$this->labelScreen='';
}else{
$this->labelScreen=$this->label.' : ';
}
$this->attributs=$attributs;
$this->attributs['notnull']=false;
}
/**
* @param string $pre code HTML a afficher avant l'element
* @param string $post code HTML a afficher apres l'element
* @return string
*/
protected function toHTMLField($pre='',$post=''){
$html='';
//traitement particulier pour l'attribut class
if(isset($this->attributs['class'])){
$this->attributs['class']=str_replace(';',' ',$this->attributs['class']);
}
switch($this->type){
case 'input':
$html.='
attributs).' >';
break;
case 'textarea':
if(isset($this->attributs['value'])){
$value=$this->attributs['value'];
unset($this->attributs['value']);
}else{
$value='';
}
$html.='';
break;
case 'select':
$list=$this->attributs['list'];
unset($this->attributs['list']);
if(isset($this->attributs['selected'])){
$selected=$this->attributs['selected'];
unset($this->attributs['selected']);
}else{
$selected=null;
}
$html.='
';
break;
case 'checkbox':
case 'radio':
$list=$this->attributs['list'];
unset($this->attributs['list']);
$disposition=$this->attributs['disposition'];
unset($this->attributs['disposition']);
if(isset($this->attributs['checked'])){
$checked=$this->attributs['checked'];
unset($this->attributs['checked']);
}else{
$checked=array();
}
//parcours de la liste
foreach($list as $key=>$value){
//selection de l'element
if(in_array($key,$checked)){
$checkedHTML=' checked="checked"';
}else{
$checkedHTML='';
}
$html.='
attributs).'>';
$html.='';
if($disposition){
$html.='';
}
}
break;
default:
exit('Error : field type "'.$this->type.'" unknown');
}
if($this->attributs['notnull']){
$html.='*';
}
return $pre.$html.$post;
}
/** renvoie l'element HTML en ligne de tableau
* @return string
*/
function toHTML(){
if(!($this->type=='input' and $this->attributs['type']=='hidden')){
$html=''.$this->toHTMLField();
}else{
$html=$this->toHTMLField();
}
$html.='';
return $html;
}
/**
* @return unknown
*/
function toHTMLTableau(){
if(!($this->type=='input' and $this->attributs['type']=='hidden')){
$html='
'.$this->labelScreen.'
'.$this->toHTMLField().'
';
}else{
$html=$this->toHTMLField();
}
return $html;
}
function __set($key,$value){
if(isset($this->attributs[$key])){
if(substr($this->attributs[$key],-1)!=';'){
$this->attributs[$key].=';';
}
$this->attributs[$key].=$value;
}else{
$this->attributs[$key]=$value;
}
}
function __isset($key){
return isset($this->attributs[$key]);
}
function __unset($key){
unset($this->attributs[$key]);
}
function getName(){
return $this->name;
}
}
class Formulaire{
private $name;
private $attributs;
private $action;
private $method;
private $elements;
private $javascript;
private $boutons;
function __construct($name){
$this->name=$name;
$this->elements=array();
$this->method='POST';
$this->action=$_SERVER['PHP_SELF'];
$this->javascript=JAVASCRIPT;
$this->boutons=true;
}
/**
* renvoie un tableau associatif sous la forme dune chaine
* @author Erwan Gallenne
* @param $tab Tableau associatif a convertir
* @since 0.9
* @return une chaine representant le tableau
*/
function tab2html($tab){
$html='';
foreach($tab as $key=>$value){
$html.=' '.$key.'="'.$value.'"';
}
return $html;
}
function javascript(){
$this->javascript=true;
}
protected function addElement($element){
if(!isset($this->elements[$element->getName()])){
$this->elements[$element->getName()]=$element;
}else{
exit('Error : name "'.$element->getName().'" used before');
}
}
public function entete(){
$html='
';
if($this->javascript){
$html.='';
}
return $html;
}
private function boutons(){
$html='
';
$html.='
';
return $html;
}
public function setAction($action){
$this->action=$action;
}
public function toHTML(){
$html=$this->entete();
foreach($this->elements as $name=>$element){
$html.=$element->toHTML();
}
if($this->boutons){
$html.=$this->boutons();
}
$html.=$this->pied();
return $html;
}
public function toHTMLTableau($attributs=array()){
$this->boutons();
$html=$this->entete();
$html.='
| '; $html.=$this->boutons(); $html.=' |
Une extension (Add to Search bar) permet d’ajouter n’importe quel champ de recherche à la barre de recherche de Firefox, très pratique pour les sites web qui ne sont pas compatibles par défaut.
La page sur le site Mozilla Adds-ons.
Lorsque vous tapez une adresse incomplète dans la barre d’adresse de Firefox, une recherche est effectuée sur un moteur de recherche (Google par défaut).
Pour modifier cette recherche, saisissez about:config dans la barre d’adresse, un message d’avertissement s’affiche, cliquez sur « continuer ».
Dans le filtre : saisissez keyword.url, double cliquez sur la ligne qui apparaît (donc la valeur de la première colonne est keyword.url) et choisissez votre nouveau moteur de recherche par défaut :
- Bing :
http://www.bing.com/search?go=&form=QBLH&filt=all&q= - Exalead :
http://www.exalead.fr/search/web/results/?q= - Yahoo :
http://fr.search.yahoo.com/search?p= - Google (pages en français, 50 résultats par page, filtre safesearch) :
http://www.google.fr/search?hl=fr&num=50&btnG=Recherche+Google&as_epq=&as_oq=&as_eq=&lr=lang_fr&cr=&as_ft=i&as_filetype=&as_qdr=all&as_occt=any&as_dt=i&as_sitesearch=&as_rights=&safe=active&as_q=
Pour utiliser XDebug avec WampServer :
- Télécharger XDebug
- Copier le fichier téléchargé dans le dossier
c:\wamp\bin\php\phpx.x.x\selon votre version de PHP - Ouvrir le fichier
php.inien utilisant le clic droit sur l’icone WampServer - A la fin du fichier, ajoutez les lignes suivantes :
zend_extension="c:/wamp/bin/php/phpx.x.x/php_xdebug-2.0.5-5.2.dll" xdebug.var_display_max_depth = 5
- Il reste à redémarrer tous les services et à vérifier que XDebug apparaît dans le phpinfo
La bibliothèque javascript jQuery vient de sortir en version 1.4.
Cette version amène son lot de nouvelles fonctions et améliorations.
Je vous présente ici les nouvelles fonction, si vous souhaitez découvrir les fonctions modifiées, c’est ici.
L’outil de gestion de bases de données phpMyAdmin permet d’avoir une vision globale de la base de données. Cette fonctionnalité n’est pas activée par défaut, il faut l’installer « à la main ».
1ère étape : créer la base de données phpmyadmin
Dans phpMyAdmin, cliquer sur l’onglet « Importer » puis sélectionner le fichier « create_tables.sql » qui se trouve dans le dossier « scripts » de phpMyAdmin ou en le prenant directement ici : create_table.sql.
2ème étape : modifier le fichier de configuration
Ouvrir le fichier « config.inc.php » et y ajouter les lignes suivantes.
Attention à bien modifier les deux dernières lignes avec votre nom d’utilisateur et votre mot de passe.
/* concepteur */ $cfg['Servers'][$i]['pmadb'] = 'phpmyadmin'; $cfg['Servers'][$i]['bookmarktable'] = 'pma_bookmark'; $cfg['Servers'][$i]['relation'] = 'pma_relation'; $cfg['Servers'][$i]['table_info'] = 'pma_table_info'; $cfg['Servers'][$i]['table_coords'] = 'pma_table_coords'; $cfg['Servers'][$i]['pdf_pages'] = 'pma_pdf_pages'; $cfg['Servers'][$i]['column_info'] = 'pma_column_info'; $cfg['Servers'][$i]['history'] = 'pma_history'; $cfg['Servers'][$i]['designer_coords'] = 'pma_designer_coords'; $cfg['Servers'][$i]['controluser'] = 'utilisateur_a_modifier'; $cfg['Servers'][$i]['controlpass'] = 'motdepasse_a_modifier';
Pensez à redémarrer votre navigateur pour que l’onglet « Concepteur » apparaisse sur la page de votre base de données, vous pouvez maintenant avoir une vision graphique de votre base de données.