Magix cjQuery, une bibliothèque php pour intégrer jQuery - Mot-clé - PDO
Magix cjQuery est une bibliothèque écrite en PHP 5.
Elle permet d’effectuer le contrôle de vos données échangé dans les champs de formulaire.
Elle peut être intégrée dans tout type de conception, et est compatible avec différents framework.
2017-02-18T14:52:11+01:00
gerits aurelien
urn:md5:fc9a43498ab43d68ba6c26764a7e06ac
Dotclear
Prise en charge encodage utf8 avec PHP et PDO MYSQL
urn:md5:dc4c64560120df6bb2c806ef31736349
2011-12-22T23:15:00+01:00
2011-12-23T00:04:37+01:00
aurelien gerits
tutoriel PHP
encodage UTF-8PDOPDO MYSQL
<p>La création d'une application ou site internet avec un encodage UTF-8 peut se révéler assez difficile si le travail n'est pas entièrement identifié.<br />
J'ai analysé la problématique de l'encodage UTF-8 lors de la création d'application avec PHP, MYSQL et PDO qui peut dans pas mal de cas être très problématique.</p> <p>Pour être certain que tous les éléments sont en UTF-8, il faut vérifier les paramètres suivants:</p>
<h2>Page HTML ou PHP</h2>
<pre>[HTML]
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</pre>
<p>Content Type</p>
<pre>[CODE]
Content-Type text/html; charset=utf-8
</pre>
<h2>MYSQL</h2>
<p>Pour avoir vos tables SQL au format UTF-8, il faut choisir un interclassement ou collation.<br />
Je vous recommande d'utiliser utf8_general_ci ou utf8_unicode_ci pour être certain d'avoir le bon encodage et préparer convenablement votre base de données.<br /><br />
Une fois votre base de données prête,
il faut vous connectez à celle-ci depuis votre application ou site internet en utilisant le driver PDO.<br />
Dans certains cas, MYSQL ne supportera pas convenablement l'UTF-8 et insérera du contenu avec des caractères ASCII ce qui peut dans l'évolution de votre site internet poser pas mal de problèmes.<br /><br />
Imaginons que votre base de données contient des champs titres avec des caractères accentués, vous souhaitez faire un moteur de recherche avec LIKE mais les caractères accentués ressemblent à "é".<br /><br />
Vous vous dites ce n'est pas grave, mon navigateur les interprète convenablement !!!<br />
Vous mettez en place une requête SQL avec LIKE et vous testez la recherche avec et sans accent, le problème se révèle enfin car suivant la recherche le résultat est dans pas mal de cas NULL.<br /><br />
Pourquoi les résultats ne sont pas corrects ?<br />
Une recherche sur le mot "<ins>catégorie</ins>" et "<ins>catégorie</ins>" n'est pas du tout la même chose pourtant LIKE est insensible à la casse et supporte très bien les caractères accentués !<br />
Quelle solution pour que mes insertions soient réalisées avec de véritable accent ?<br /></p>
<ol>
<li>Je modifie chaque ligne à la main dans la base de données pour y insérer des accents (ce n'est vraiment pas conseillé)</li>
<li>Je modifie le comportement de la connexion entre PHP et MYSQL par l'intermédiaire de PDO</li>
</ol>
<h3>Comment modifier l'encodage de la connexion ?</h3>
<p>Avec MYSQL sans PDO:</p>
<pre>[PHP]
mysql_query("SET NAMES 'utf8'");
</pre>
<p>Pour rappel on se connecte à PDO de cette manière :<br /></p>
<pre>[PHP]
$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
</pre>
<p>Il existe deux méthodes pour forcer l'encodage de PDO, la première fonctionne aussi bien avec MYSQL que POSTGRESQL.<br /></p>
<pre>[PHP]
$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
$dbh->exec("SET CHARACTER SET utf8");
</pre>
<p>La deuxième méthode est uniquement disponible avec MYSQL:</p>
<pre>[PHP]
$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass, array(
PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8")
);
</pre>
https://magix-cjquery.com/post/2011/12/22/Prise-en-charge-encodage-utf8-avec-PHP-et-PDO-MYSQL#comment-form
https://magix-cjquery.com/feed/atom/comments/129
Compatibilité magix cjquery avec php5.3
urn:md5:a9eddbc87ae0b8112d02aff3f9fdd28c
2010-12-20T00:53:00+01:00
2010-12-20T01:09:19+01:00
aurelien gerits
magixcjQuery
abstractiondebogue-phpmagix cjQuerymagix dbPDO
<p><img src="https://magix-cjquery.com/public/noel/present.png" alt="present.png" style="float:right; margin: 0 0 1em 1em;" title="present.png, déc. 2010" /><br />
Pour noël, je vous réserve un très beau cadeau.<br />
La librairie est désormais compatible PHP 5.3 et intègre de nouvelle fonctionnalité.<br />
Une nouvelle archive sera publiée cette semaine (version 3.2) avec la correction/adaptation de la documentation.<br />
<em>La version du SVN est déjà compatible !</em>
MagixDB est désormais plus riche, plus souple, plus simple, on peut désormais choisir si le curseur de la requête reste ouvert ou pas.<br />
Les erreurs sont également plus précise dans le gestionnaire des logs.<br /></p> <h3>Les nouveaux paramètres de requête select:</h3>
<pre>[PHP]
select($sql,$execute=false,$mode='assoc',$closeCursor=true,$debugParams=false)
</pre>
<h3>Exemple de requête select simple:</h3>
<pre>[PHP]
public function s_mytable($test){
$layer = magixcjquery_magixdb_layer();
$sql = 'SELECT * FROM mytable WHERE test = :test';
$layer->select($sql,array(':test'=>$test),'assoc',true,false);
}
</pre>
<h3>Quelques Helpers supplémentaire sont disponible:</h3>
<p>Tester un champs pour les valeurs numérique.<br /></p>
<pre>[PHP]
magixcjquery_form_helpersforms::inputNumeric($str);
</pre>
<p>Nettoyer une URL , ne pas confondre avec la fonction pour convertir en URL.<br />
///<a href="https://magix-cjquery.com/post/2010/12/20/PHP" title="PHP">PHP</a>
magixcjquery_url_clean::tidyMakeClean($str,$keep_slashes=true,$keep_spaces=false);
///
Et bien d'autres.<br />
Je travail sur une version parallèle avec une refonte de l'autoload, des classes pour être plus proche d'un framework style design pattern.<br />
Cette version ne sera pas disponible avant des semaines, mais je publierai des versions bêta.</p>
https://magix-cjquery.com/post/2010/12/20/Compatibilit%C3%A9-magix-cjquery-avec-php5.3#comment-form
https://magix-cjquery.com/feed/atom/comments/111
optimize table le nettoyage de votre base de donnee
urn:md5:95cdda2e1afd5cc6b322582e986924b0
2009-06-23T22:07:00+02:00
2009-06-23T22:07:00+02:00
aurelien gerits
abstraction de base de donnee
abstractionmagix dbmagix layeroptimize tablePDO
<p><img src="https://magix-cjquery.com/public/presentation/sgbd-relationnel.png" alt="sgbd-relationnel.png" style="float:left; margin: 0 1em 1em 0;" title="sgbd-relationnel.png, fév. 2009" /><br />
<strong>Optimize table</strong> est utilisé si une grande partie de la base a été effacée, ou si vous avez fait de nombreuses modifications dans une table à format de ligne dynamique.<br />
Très pratique pour optimiser une base de donnée régulièrement mise à jour.<br />
Cette fonction très particulière est intégrer dans la librairie pour une utilisation très simple. <br />
Une base de donnée optimisé améliore les performances mais des requêtes "bien construite" accélère l'exécution.<br /></p> <h2>Deux méthodes sont possible avec la librairie :</h2>
<ul>
<li>OPTIMIZE TABLE simple</li>
<li>OPTIMIZE TABLE multiple</li>
</ul>
<p>Un exemple d'optimisation d'une table simple :</p>
<pre>[php]
function simpleOpt(){
$sql = 'matable';
return $this->layer->singleOptimize($sql);
}
</pre>
<p>On peu également faire une optimisation multiple :</p>
<pre>[php]
function multipleOpt(){
$sql = array(
'matable',
'matable2',
'matable3'
);
return $this->layer->multipleOptimize($sql);
}
</pre>
https://magix-cjquery.com/post/2009/06/23/optimize-table-le-nettoyage-de-votre-base-de-donnee#comment-form
https://magix-cjquery.com/feed/atom/comments/56
premier test de performance sur l abstraction
urn:md5:dea5fe6f848f691aed844643a3a13ff7
2009-03-05T20:45:00+01:00
2009-03-16T23:12:28+01:00
aurelien gerits
abstraction de base de donnee
abstractionmagix dbmagix layermysqlPDOpostgresql
<p><img src="https://magix-cjquery.com/public/presentation/les-performances.png" alt="les-performances.png" style="float:left; margin: 0 1em 1em 0;" title="les-performances.png, mar. 2009" />Après plusieurs test, <br />
le <a href="https://magix-cjquery.com/pages/systeme-de-gestion-de-base-de-donnee" hreflang="fr">système de gestion de base de donnée</a> fonctionne à merveille, il ronronne d'efficacité.<br />
Les performances atteigne des chiffres de bonne qualité sur la connexion, la sélection, l'insertion dans la base de donnée et qui plus est la facilité avec lequel on exécute une requête.<br />
Une seule ligne de code pour faire tous le travail habituel avec la <a href="https://magix-cjquery.com/pages/gerer-les-erreurs-avec-les-logs" hreflang="fr">gestion des erreurs</a> complète .<br />
Sans oublier l'<a href="https://magix-cjquery.com/pages/initialisation-de-firephp" hreflang="fr">initialisation de FirePHP</a> pour le mode de développement.<br />
Les outils pour rédiger la documentation sont disponible afin de permettre aux contributeurs d'ajouter des articles ou simplement des astuces.</p>
https://magix-cjquery.com/post/2009/03/05/premier-test-de-performance-sur-l-abstraction#comment-form
https://magix-cjquery.com/feed/atom/comments/23