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

PHP & Base de données Discussion :

[Conception] Question: Gestion Incrementation via SQL ou VIA Code PHP ???


Sujet :

PHP & Base de données

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2004
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 41
    Points : 30
    Points
    30
    Par défaut [Conception] Question: Gestion Incrementation via SQL ou VIA Code PHP ???
    Ba voila,

    Je suis en phase de conception,
    et je me pause la question si je dois pas realiser une table 'CATEGORIES'
    qui prend en compte les enregistrements des tables et donc de gerer moi meme l'incrementation des enregistrement direct dans une CLASSE dediée.

    Ou alors je defini direct en BDD un " auto_increment " sur mes ID.

    J'espere que ce n'est pas une question inutile... car pour moi elle ne l'est pas.

    Jvous remercie de me repondre d'avance :)

    Ronio

  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

    Pour moi, la question ne se pose pas : je laisse le SGBD gérer tout ce qu'il peut de manière automatique.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2004
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 41
    Points : 30
    Points
    30
    Par défaut
    mais alors le system de gestion qui permet de le faire via classe.

    Il servirai plutot pour statistiques etc.. non ?

  4. #4
    Membre actif
    Avatar de Wormus
    Inscrit en
    Septembre 2005
    Messages
    262
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 262
    Points : 276
    Points
    276
    Par défaut
    Moi je vote pour le auto_increment

    Premièrement le SGBD est plus apte à gérer ça, j'entend par là que si l'auto_increment existe il vaut mieux l'utiliser plutot que de faire son propre système qui va surment te faire perdre un peu de temps à la conception (dépend de ton système) et en plus risque d'erreur (que l'on ne voit pas forcément au premier abord mais qd on utilise vraiment le produit et là c très embétant)

    Deuxièmement je pense que le SGBD gère ça extrèmement plus rapidement !! maintenant c une histoire de centième de seconde ^^

    Bien sur tout ce que je te dis est très relatif suivant ce que tu souhaite faire

    Maintenant ya peut être un intérêt pour toi de le faire dans ta classe ??? je connais pas assez ton projet pour t'en dire plus

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2004
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 41
    Points : 30
    Points
    30
    Par défaut
    Je pense avoir trouvé une bonne solution avec PEAR :)


    Introduction - Séquences
    Introduction - Séquences -- Séquences et auto-incrémentation
    Description

    Les séquences sont une façon d'offrir des identifiants uniques pour les enregistrements. Si vous travaillez principalement avec MySQL, pensez que les séquences sont une autre façon de réaliser la tâche d'AUTO_INCREMENT.

    C'est relativement simple, d'abord vous demandez un identifiant et vous insérez sa valeur dans le champ ID du nouvel enregistrement que vous créez. Vous pouvez avoir plus d'une séquence pour toutes vos tables, soyez juste sûrs de toujours utiliser la même séquence pour une table donnée. Pour obtenir la valeur de l'identifiant unique utilisez nextId(), si une séquence n'existe pas elle sera créée automatiquement.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Exemple 26-1. Utiliser une séquence
    <?php
    // On suppose que vous avec un objet DB valide nomm&eacute; $db
    $id = $db->nextId('mySequence');
    if (DB::isError($id)) {
        die($id->getMessage());
    }
    // Utilisez l'identifiant dans votre requete
    $res =& $db->query("INSERT INTO myTable (id, text) VALUES ($id, 'foo')");
    ?>
    Note

    Si vous avez besoin d'accéder manuellement aux objets base de données que PEAR DB utilise pour stocker les informations d'une séquence, sachez que les objets sont nommés en passant l'argument $seq_name que vous fournissez aux méthode de séquences PEAR DB via la fonction PHP sprintf() en utilisant la valeur de l'option seqname_format en tant qu'argument de format de sprintf().

    Le seqname_format par défaut est %s_seq, qui peut être changé lors de la connexion avec connect() ou via setOption().

  6. #6
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 228
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 228
    Points : 8 487
    Points
    8 487
    Billets dans le blog
    17
    Par défaut
    C'est vrai que tu ne donnes pas bcp d'infos, mais à priori tu devrais laisser faire ta BdD autrement tu risques d'avoir des problèmes de concurrence et des collisions d'ID.

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2004
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 41
    Points : 30
    Points
    30
    Par défaut
    Ben avec les sequences de la librairie PEAR, jpeux gerer cela non ?

  8. #8
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 228
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 228
    Points : 8 487
    Points
    8 487
    Billets dans le blog
    17
    Par défaut
    Citation Envoyé par ronio
    Ben avec les sequences de la librairie PEAR
    Tu parles de cela http://pear.php.net/manual/en/package.database.db.db-common.nextid.php ?

    jpeux gerer cela non ?
    J'ai consulté la source PEAR, on dirait que la lib crée une table par séquence pour gérer le truc. Ça me semble bien lourd...
    Franchement, quel est l'intérêt de la chose ? Si ton SGBD gère l'AUTO_INCREMENT en natif autant en profiter, ce sera toujours plus rapide et surtout plus sûr. Et ce dernier point est très important dans ce domaine, la moindre erreur peut complètement fausser ta BdD.

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2004
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 41
    Points : 30
    Points
    30
    Par défaut
    Ok Seb ^^

    En effet ct le bon lien que tu as mis.

    Et oui en natif c bcp mieux. Jvé moins me prendre la tete. :)

    En tout cas jregrette pas d'avoir pausé ma question hein ? ^^

    +++ all

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. datetime via SQL server et traitement PHP different selon les versions
    Par Centrallatice dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 03/01/2014, 10h48
  2. gestion d'accès au document via sql
    Par Erwy dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 21/08/2010, 12h47
  3. Connexion à SQL Server via SQL Server Management Studio
    Par Goupo dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 20/05/2010, 17h20
  4. Gestion des objets SQL Server via Visual source Safe
    Par battl14 dans le forum MS SQL Server
    Réponses: 0
    Dernier message: 18/03/2009, 16h27
  5. [SQL] Erreur dans code PHP
    Par Mans91 dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 27/06/2007, 10h08

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