Précédent   Forum des professionnels en informatique > PHP > Langage > Contribuez
Contribuez Proposez vos articles, cours, tutoriels, FAQ, sources, etc. pour PHP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 09/08/2007, 16h20   #1
Candidat au titre de Membre du Club
 
Étudiant
Inscription : mai 2007
Messages : 63
Détails du profil
Informations personnelles :
Âge : 25
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mai 2007
Messages : 63
Points : 11
Points : 11
Envoyer un message via MSN à Munkey74
Par défaut Classe de gestion de base de données SQLITE

Voici une classe qui permet de faciliter les gestion des bases de données SQLITE. Si il y a une amélioration/optimisation possible je suis prenneur

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
<?php
/////////////////////////////////////////////////////////////////////////////////////////////
//----------------------------------CLASSE REQUETE VERSION SQLITE-----------------------------------------//
/////////////////////////////////////////////////////////////////////////////////////////////  
 
// Classe requete gêrant le connection à la base de données et l'envoi des requêtes
 
///////////////////////////////////////////////////////////////////////////////////////////// 
 
// Cette classe permet d'exécuter des requêtes sur la base de données
Class request {	
 
    var $db; //base de données
 
    function request ($database)
    {
		// création/ouverture de la base de données
		$this->db = sqlite_open($database, 0666, $mon_message_erreur);	   		
    } 
 
	function execut_insert($table,$liste_attribut,$liste_value){
	  // méthode insèrant les valeurs $liste_value correspondans aux attributs $liste_attribut dans la table
	  // $table
	  // liste des attributs sous la forme att1,att2,att3 ....
	  // liste des valeurs sous la forme val1,val2,val3 ....
	  if (!empty($table) && !empty($liste_attribut) && !empty($liste_value)) {
	    $sql = 'INSERT INTO '.$table.'('.$liste_attribut.') VALUES ('.$liste_value.');'; 
		return sqlite_query ($this->db,$sql);
	  }
	}
 
    function execut_request ($requete)	
	// méthode exécutant une requête dans la base de données
    {
        if (!empty($requete)) {
            return sqlite_query ($this->db,$requete);
        } 
    } 
 
    function get_all ($table){
	// méthode renvoyant tous les éléments de la table passée en paramètres
        if (!empty($table)) {
            return sqlite_query ($this->db,'Select * from '.$table.';');
        } 	  
	}
 
	function get_all_sort($table,$column){
	// méthode renvoyant tous les éléments de la table $table trié sur l'attribut $column
        if (!empty($table) && !empty($column)) {
            return sqlite_query ($this->db,'Select * from '.$table.' order by '.$column.' desc;');
        } 	
	}
 
    function nb_result ($resultat)
	// méthode renvoyant le nombre de résultats d'une requête
    {
        return sqlite_num_rows($resultat);
    } 								  
 
    function get_result($resultat)	  
	// méthode permettant de renvoyer le résultat d'une
	// requête sous forme d'un tableau
    {
        return sqlite_fetch_object($resultat);
    }
 
	function get_by_num ($table, $num)
	// méthode renvoyant le(les) élément(s) d'identifiant $num
	// de la table $table	
	{												  
	  if ((!empty($table)) && (!empty($num))) {	   
	   	$result = sqlite_query ($this->db,'Select * From '.$table.' Where num_'.$table.'='.$num.';');	  
		return $this->get_result($result);
	  }
	}	
 
	function execut_update($table,$num,$liste_update){
	// méthode mettant à jour des élément $liste_update de l'enregistrement d'identifiant $num de la table $table
	// liste des attributs att1=val1,att2=val2 ...
	  if (!empty($table) && !empty($num) && !empty($liste_update)) {
	    $sql = 'UPDATE '.$table.' SET '.$liste_update.' WHERE num_'.$table.'='.$num.';'; 
		return sqlite_query ($this->db,$sql);
	  }	
	}
 
	function execut_delete($table,$num){
	// méthode supprimant l'élément d'identifiant $num de la table $table
	  if (!empty($table) && !empty($num)) {
	    $sql = 'DELETE FROM '.$table.' WHERE num_'.$table.'='.$num.';'; 
		return sqlite_query ($this->db,$sql);	    
      }	
	}
 
	function close(){
	// méthode fermant la connection avec la base de données
	  return sqlite_close($this->db);
	}
}  
/////////////////////////////////////////////////////////////////////////////////////////////
//-----------------------------------------------------------------------------------------//
/////////////////////////////////////////////////////////////////////////////////////////////
?>
Munkey74 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/08/2007, 16h50   #2
Rédacteur
 
Avatar de Yogui
 
Homme Guillaume Rossolini
Directeur technique
Inscription : février 2004
Messages : 13 720
Détails du profil
Informations personnelles :
Nom : Homme Guillaume Rossolini
Localisation : France

Informations professionnelles :
Activité : Directeur technique

Informations forums :
Inscription : février 2004
Messages : 13 720
Points : 17 355
Points : 17 355
Salut

Juste pour information, les solutions d'ORM font la même chose aussi, et c'est souvent bien plus abouti que les solutions perso.

Exemples :
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework)
Ressources PHP - Ressources Zend Framework
Yogui est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h56.


 
 
 
 
Partenaires

Hébergement Web