|
Trouver une ressource
Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !
CLASS ABSTRACTION MYSQL (ORM)
Information sur la source
Description
surcouche pdo, abstraction de la syntaxe des requetes sql et des tables ça ressemble un petit peu (mais de loin) à un orm Php5 est donc requis, fonctionne avec mysql uniquement ... pour le moment ... tout est dans le zip
Source
- <?php
- # initialisation bdd
- $Db=SqlDb::connect($Db_Conf['id'],$Db_Conf['host'], $Db_Conf['User'] , $Db_Conf['pass'], $Db_Conf['base']);
-
- // dossier contenant la config des tables
- $Table = new SqlTable('./default/');
-
- // ------------------------------------------------
- // exemple d'un module de news
-
- class actualite extends Module {
- private $Table;
-
- public function __construct() {
- $this->Table = new Sql('module.actualite');
- }
-
- public function ajouter($user,$categorie,$sujet,$texte,$image) {
- $values=array(':id',':user',':date',':categorie',':sujet',':texte',':image');
- $insert=$this->Table->insert();
- $insert->values($values);
-
- $query = $insert->prepare();
- $query->bindValue(':id','');
- $query->bindValue(':user',$user);
- $query->bindValue(':date',time());
- $query->bindValue(':categorie',$categorie);
- $query->bindValue(':sujet',$sujet);
- $query->bindValue(':texte',$texte);
- $query->bindValue(':image',$image);
- $query->execute();
- return $query->rowCount();
- }
-
- public function modifier($id,$user,$time,$categorie,$sujet,$texte,$image) {
-
- $update=$this->Table->update();
- $update->where('id',':where','=');
- $update->set('id',':id');
- $update->set('user',':user');
- $update->set('date',':date');
- $update->set('categorie',':categorie');
- $update->set('sujet',':sujet');
- $update->set('texte',':texte');
- $update->set('image',':image');
- $query=$update->prepare();
-
- $query->bindValue(':where',$id);
- $query->bindValue(':id',$id);
- $query->bindValue(':user',$user);
- $query->bindValue(':date',$time);
- $query->bindValue(':categorie',$categorie);
- $query->bindValue(':sujet',$sujet);
- $query->bindValue(':texte',$texte);
- $query->bindValue(':image',$image);
- $query->execute();
- return $query->rowCount();
- }
- public function supprimer($id) {
- $delete=$this->Table->delete();
- $delete->where('id',':id','=');
-
- $query=$delete->prepare();
- $query->bindValue(':id',$id);
- $query->execute();
- return $query->rowCount();
- }
-
- public function afficher($begin='0',$end='2') {
- $select = $this->Table->select('id,user,sujet,texte,categorie');
- $select->where(1);
- $select->limit($begin,$end);
-
- $query=$select->prepare();
- $query->execute();
- $nb_item = $this->nb_actualite();
- $this->pagination($begin,$end,$nb_item);
-
- while ($mfa= $query->fetch() ) {
- $r['ACTUALITE'][]=$mfa;
- }
- return $r;
- }
- ...
- // autre exemple sans utiliser les méthodes objets
-
- class Account {
- private $Table;
- public function __construct() {
- $this->Table = new Sql('core.User');
- }
- public function userExist($user) {
- if ( isPseudo($user) ) {
- $q=$this->Table->query("SELECT id,user,mail,pass FROM ".$this->Table->name." WHERE user = '$user' limit 0,1");
- return $q->fetchAssoc();
- }
- return false;
- }
-
- public function userInfo($user) {
- $q=$this->Table->query("SELECT * FROM ".$this->Table->name." WHERE user='$user' limit 0,1");
- return $q->fetchAssoc();
- }
- ...
- ?>
<?php
# initialisation bdd
$Db=SqlDb::connect($Db_Conf['id'],$Db_Conf['host'], $Db_Conf['User'] , $Db_Conf['pass'], $Db_Conf['base']);
// dossier contenant la config des tables
$Table = new SqlTable('./default/');
// ------------------------------------------------
// exemple d'un module de news
class actualite extends Module {
private $Table;
public function __construct() {
$this->Table = new Sql('module.actualite');
}
public function ajouter($user,$categorie,$sujet,$texte,$image) {
$values=array(':id',':user',':date',':categorie',':sujet',':texte',':image');
$insert=$this->Table->insert();
$insert->values($values);
$query = $insert->prepare();
$query->bindValue(':id','');
$query->bindValue(':user',$user);
$query->bindValue(':date',time());
$query->bindValue(':categorie',$categorie);
$query->bindValue(':sujet',$sujet);
$query->bindValue(':texte',$texte);
$query->bindValue(':image',$image);
$query->execute();
return $query->rowCount();
}
public function modifier($id,$user,$time,$categorie,$sujet,$texte,$image) {
$update=$this->Table->update();
$update->where('id',':where','=');
$update->set('id',':id');
$update->set('user',':user');
$update->set('date',':date');
$update->set('categorie',':categorie');
$update->set('sujet',':sujet');
$update->set('texte',':texte');
$update->set('image',':image');
$query=$update->prepare();
$query->bindValue(':where',$id);
$query->bindValue(':id',$id);
$query->bindValue(':user',$user);
$query->bindValue(':date',$time);
$query->bindValue(':categorie',$categorie);
$query->bindValue(':sujet',$sujet);
$query->bindValue(':texte',$texte);
$query->bindValue(':image',$image);
$query->execute();
return $query->rowCount();
}
public function supprimer($id) {
$delete=$this->Table->delete();
$delete->where('id',':id','=');
$query=$delete->prepare();
$query->bindValue(':id',$id);
$query->execute();
return $query->rowCount();
}
public function afficher($begin='0',$end='2') {
$select = $this->Table->select('id,user,sujet,texte,categorie');
$select->where(1);
$select->limit($begin,$end);
$query=$select->prepare();
$query->execute();
$nb_item = $this->nb_actualite();
$this->pagination($begin,$end,$nb_item);
while ($mfa= $query->fetch() ) {
$r['ACTUALITE'][]=$mfa;
}
return $r;
}
...
// autre exemple sans utiliser les méthodes objets
class Account {
private $Table;
public function __construct() {
$this->Table = new Sql('core.User');
}
public function userExist($user) {
if ( isPseudo($user) ) {
$q=$this->Table->query("SELECT id,user,mail,pass FROM ".$this->Table->name." WHERE user = '$user' limit 0,1");
return $q->fetchAssoc();
}
return false;
}
public function userInfo($user) {
$q=$this->Table->query("SELECT * FROM ".$this->Table->name." WHERE user='$user' limit 0,1");
return $q->fetchAssoc();
}
...
?>
Conclusion
La source n'est pas finis, mais exploitable je la partage, pour donner des idées, avoir des retours et l'améliorer
Historique
- 09 août 2008 21:26:49 :
- précision sur la source
- 10 août 2008 20:02:44 :
- précision sur la source
- 10 août 2008 23:39:13 :
- correction
Sources du même auteur
Sources de la même categorie
Sources en rapport avec celle ci
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
PDO : Use ?; [ par codefalse ]
Bonjour à tous !Voila j'aimerai effectuer une requête sur mon serveur mysql pour lui indiquer quelle base de donnée utiliser, donc pour ce faire je fa
Utilisation de pdo a la place de l'api mysql [ par sws2007 ]
Bonjour tout le monde Est ce que l'utilisation pdo ;pour l'accées aux données de ma base mysql;evite l'utilsation des fonctions qui sécurise les donn
extraction date [ par papiona ]
Bjrje veux extraire la date d'inscription apartir de ma table pour détirminer le jour,mois et l'année de cette date,voila mon codemais ca marche pas$s
calcule automatisé [ par papiona ]
Salut a tousje vais vous expliquer mon pbléme :je développe un exemple en php qui permet un client d'inscrire et au moment de cette inscription il doi
import BDD access-mysql [ par cisfra ]
Bonjour, je suis entrain de travailler sur l'export de BDD Access vers Mysql en utilisant DSN-less(connexion sans DSN), le problème c'est que j'arriv
Conseils pour etre bon devoloppeur php/mysql [ par rmx_dj ]
Bonjour, je suis développeur web, je fais du php/mysql . jusqu'ici j'ai encore tendance à mélanger mes codes avec mes pages web, dès fois je parvien
probleme d'insertion dans une table mysql [ par boythioune ]
j'ai ecrit un source pr une insertion dans une table mais le navigateur me dit ke le champ revenir est inconnu dans la list field je pige mm pas le me
menu php/mysql [ par sej080 ]
bonjour, suite à une recherche sur google et votre site, je n'ai pas trouvé de réponses à mes questions. Cela vient peut etre du fait que je ne sais p
Apllication web en ligne [ par aabou ]
Bonjour,J'ai instllé easyphp et j'ai crée la base de mon apllication avec mysql "minformatique" avec 4 tables mais en exécutant le script voici le mes
Définir un nombre de colonnes pour un tableau affichant des données d'une requête SQL [ par stark_2097 ]
Salut,Je suppose que c'est un rpoblème "récurant" mais j'arrive pas à trouver la réponse à mon problème...J'ai une base SQL avec des données, je souha
|
Téléchargements
Logiciels à télécharger sur le même thème :
|