IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Contribuez / Téléchargez Sources et Outils PHP Discussion :

Classe de gestion de base de données SQLITE [Sources]


Sujet :

Contribuez / Téléchargez Sources et Outils PHP

  1. #1
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    63
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 63
    Points : 33
    Points
    33
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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);
    	}
    }  
    /////////////////////////////////////////////////////////////////////////////////////////////
    //-----------------------------------------------------------------------------------------//
    /////////////////////////////////////////////////////////////////////////////////////////////
    ?>

  2. #2
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Points : 29 985
    Points
    29 985
    Par défaut
    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 :

Discussions similaires

  1. [Python 3.X] Python et sqlite : gestion des bases de données
    Par mfanfan dans le forum Général Python
    Réponses: 1
    Dernier message: 09/02/2015, 02h58
  2. Gestion Base de données SQLite
    Par AnonymZZ dans le forum Android
    Réponses: 6
    Dernier message: 27/11/2013, 17h41
  3. Réponses: 6
    Dernier message: 08/10/2013, 20h31
  4. Gestion Base de données SQLITE
    Par Thethros dans le forum Débuter avec Java
    Réponses: 6
    Dernier message: 25/06/2011, 04h23
  5. Réponses: 2
    Dernier message: 31/05/2006, 14h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo