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

Langage PHP Discussion :

Structure d'enregistrement en PHP


Sujet :

Langage PHP

  1. #1
    Débutant Avatar de ETVigan
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Avril 2010
    Messages
    660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2010
    Messages : 660
    Points : 170
    Points
    170
    Par défaut Structure d'enregistrement en PHP
    Bonjour;

    Y a t'il un moyen de définir - comme en C++, PL/I Cobol... etc, des structures d'enregistrements - DB par exemple - du style:

    01 toto,
    04 T1 char(5)
    04 T2 char(20)


    Je sais bien que PHP est un langage non typé et que cela réduit fortement la possibilité de trouver une facilité de ce genre sauf peut être une astuce de derrière les fagôts !

    Ce qui réduirait le nombre d'erreurs pottentielles en se créyant une librairie de copybool

    Merci pour vos astuces....

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    La structures d'enregistrements c'est celle des tables MySQL que peut gérer PHP, que veux tu demander

  3. #3
    Débutant Avatar de ETVigan
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Avril 2010
    Messages
    660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2010
    Messages : 660
    Points : 170
    Points
    170
    Par défaut
    Je ne comprends pas ta question: que veux tu demander il mesemble que ma question initiale était claire......

  4. #4
    Modérateur
    Avatar de Vil'Coyote
    Homme Profil pro
    Développeur adélia & Web
    Inscrit en
    Février 2008
    Messages
    4 583
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur adélia & Web
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2008
    Messages : 4 583
    Points : 7 503
    Points
    7 503
    Par défaut
    tu a la fonction settype mais bon voilà je pense pas que ce soit suffisant vus ta demande.

    donc, non on peut pas.

  5. #5
    Débutant Avatar de ETVigan
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Avril 2010
    Messages
    660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2010
    Messages : 660
    Points : 170
    Points
    170
    Par défaut Type de variable
    Tu as déjà donné une partie de solution.
    Mauriser semblait dire que MYsql autorisait des enregistrements pré-définis...
    Là, j'ai pas compris car même si je pratique un peu MYsql, je n'ai jamais rencontré cette facilitié, d'ou ma question complémentaire, sans réponse apparement.....
    Merci à tous

  6. #6
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par ETVigan Voir le message
    Tu as déjà donné une partie de solution.
    Mauriser semblait dire que MYsql autorisait des enregistrements pré-définis...
    Non soyons clairs, settype Affecte un type à une variable en PHP,
    Tu vois demandes toi pourquoi ils ont inventé cette usine a gaz
    Pour la simple raison que les variables PHP sont (quoi qu'on en dise) non typées .
    Bien sur nous savons typer avec settype, mais il sagit d'un artifice !

    J'ais donc répondu a ta question par Mysql, car la , au contraire chaque champ d'une table est typé et même de façon trés pointu !
    Lorsque nous enregistrons des données dans la table
    ETVigan ayant pour champs
    index int(8) auto incremente
    nom varchar(40)

    je peux y mettre


    01 toto,
    04 T1 puisque char(5) tient dans (20)
    ETC...

    Je savais que je n'était pas bonne sur ce coup la , mais bon

  7. #7
    Débutant Avatar de ETVigan
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Avril 2010
    Messages
    660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2010
    Messages : 660
    Points : 170
    Points
    170
    Par défaut Champ mySQL Typé au contraire de PHP
    mauriser,

    Voyons voir si tu es bonne sur ce coup là

    J'ai un enregistrement mySQL qui est:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    CREATE TABLE IF NOT EXISTS `log` (
      `timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
      `event` enum('login','logout') NOT NULL DEFAULT 'login',
      `client` varchar(30) NOT NULL DEFAULT '',
      `ip` varchar(20) NOT NULL DEFAULT '',
      `origin` varchar(50) NOT NULL DEFAULT '',
      `page` varchar(12) NOT NULL DEFAULT '',
      `email` text NOT NULL,
      `method` tinytext NOT NULL,
      `deleted` enum('non','oui') NOT NULL DEFAULT 'non',
      PRIMARY KEY (`timestamp`)
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
    Qu'elle est la correspondance PHP, je ne suis même pas sur que ce soit possible, je sais je te provoque un peu mais tu semblais dire que PHP comprenait MYSQL.....
    Et je ne tiens pas compte des NULL, DEFAULT.....


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
      `log` (
      `timestamp` timestamp  
      `event`    enum('login','logout')  
      `client`    varchar(30)  
      `ip`         varchar(20) NOT NULL DEFAULT '',
      `origin`    varchar(50) NOT NULL DEFAULT '',
      `page`    varchar(12) NOT NULL DEFAULT '',
      `email`    text NOT NULL,
      `method` tinytext NOT NULL,
      `deleted` enum('non','oui')  'non',
    )
    Voilà, j'ai réduit ma requête et je repose ma question, PHP comprent'il une syntaxe de ce genre ?
    Je serais assez étonné !

  8. #8
    Invité
    Invité(e)
    Par défaut
    Bien sur que OUI
    Bon je réponds a ta provocation ... comme les enfants qui disent oui et font non de la tête.

    Ton code prends un tout autre sens si tu le mets dans une variable tu sais un peut le prepare du PDO,

    D'autre part, tu sais qu'on peut modifier "a la volée" le dessin d' une table

    de la a concevoir en OO des models que nous appliquerions a des "class"
    bien pensées il n'y a qu'un pas, mais bon OK ça tourne autour de ta question sans y répondre

  9. #9
    Débutant Avatar de ETVigan
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Avril 2010
    Messages
    660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2010
    Messages : 660
    Points : 170
    Points
    170
    Par défaut Structure d'enregistrement en PHP
    Non effectivement et dsl si j'ai j'ai répondu à la provoc par de la provoc....
    Si en effet définir une classe pour "contourner", cela ne répond qu'à moitié à la question initale....
    Et la classe sera du PHP qui ne répond pas au pb, mais si souci il y a - on sait que celui-ci est localisé dans cette fameuse classe....

    Merci quand même, je crois qu'on peut fermer le post, non ?


  10. #10
    Invité
    Invité(e)
    Par défaut
    Oui dommage, je pensais provoquer d'autres interventions, car j'ais
    toujours soif d'apprendre et là, j'étais séche
    Merci pour ta question , mais STP ne fermes pas le sujet, au moins un jour au cas oû .
    A++

  11. #11
    Modérateur
    Avatar de Vil'Coyote
    Homme Profil pro
    Développeur adélia & Web
    Inscrit en
    Février 2008
    Messages
    4 583
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur adélia & Web
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2008
    Messages : 4 583
    Points : 7 503
    Points
    7 503
    Par défaut
    d'un autre côté je vois pas l'intéret de typé une variable en php cependant tu peux vérifier sont contenu à l'aide des fonction is_int etc .... mais bon c'est clair que l'on ne peut pas forcer un type de varible tout au long de l'exécution du script.

  12. #12
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    97
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 97
    Points : 119
    Points
    119
    Par défaut
    Bonjour ETVigan,

    Je n'ai pas bien compris l'intérêt que tu portes à typer tes variables.
    Est-ce pour effectuer les tests d'intégrité de données avant leur insertion en base ?
    Car si tel est le cas, le cheminement peut être différent. Prenons l'exemple d'une chaine trop longue pour rentrer dans un champ mysql.

    Lorsque tu alimentes ta variables en php, si c'est une chaine trop grande, tu la soumet quand même dans une requête à mysql et c'est mysql lui même qui remontra l'erreur que tu pourras intercepter en php et fournir au client final ou procéder à une action choisi (comme tronquer la chaine).

    C'est a ça que servent les try {} catch {} et à mon sens, la vérification des types de données côté mysql enlève le degrés de complexité poussant à avoir un schéma de données identique à deux endroits différents.

    Maintenant, j'ai peut-être mal compris l'objet du problème car cela ne me parait pas très clair.

  13. #13
    Débutant Avatar de ETVigan
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Avril 2010
    Messages
    660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2010
    Messages : 660
    Points : 170
    Points
    170
    Par défaut Structure de données et copybook
    Non, dsl, vous avez tous un mauvais points.....
    Il s'agit seulement du problème de la maintenance et de la portabilité lorsqu'un "enregistrement" est utilisé dans plusieurs pages.
    La structure serait appelé par include/require et l'adaptation d'un des éléments seraient automatiquement impacté dans tous les autres pages.

    Aussi simple que cela..... expérience mainfraime.......

    Esteban

  14. #14
    Modérateur
    Avatar de Vil'Coyote
    Homme Profil pro
    Développeur adélia & Web
    Inscrit en
    Février 2008
    Messages
    4 583
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur adélia & Web
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2008
    Messages : 4 583
    Points : 7 503
    Points
    7 503
    Par défaut
    donc j'en reviens à ce que j'ai dis ça sert à rien en php.

  15. #15
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par ETVigan Voir le message
    Non, dsl, vous avez tous un mauvais points.....
    Bonjour,
    Je pense a force de voir comme tu tourne en rond sur nos réponses, que tu n'as pas les connaissances requises , indispensable pour comparer une méthode globale , aux méthodes offertes par un couple comme PHP/MySql

    Ce qui est évident c'est que tu sera agréablement surpris lorsque tu auras intégré les fondamentaux du langage.

    lorsque tu parles d'un data visible dans plusieurs pages PHP je comprends ou tu en es ... Bon courage , et je serais contente en retour de voir ton avis quand tu aura intégré cela.

  16. #16
    Débutant Avatar de ETVigan
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Avril 2010
    Messages
    660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2010
    Messages : 660
    Points : 170
    Points
    170
    Par défaut Structure de données et copybook
    Je ne pense pas que Vil'Coyote aie raison de dire que cela ne sert à rien.
    Il y a tjs plus dans 3 têtes que dans 2 !
    Les ficelles qu'il m'a donné sont une partie du chemin, le reste, je ne sais qui la fera.
    Mais je pense avoir les fondamentaux du langage.... et je pose des questions dues au fait que je suis d'une informatique + ancienne et mainframe et que je connais bien d'autres langages que je ne peux évidement que comparer entre eux!

    Voilà, PHP existe, c bien mais ce n'est la panacée ni la solution miracle sauf peut être dans un contexte, mais c déjà très restrictif de dire cela....

    Sur ce..... @+ et merci à tous

Discussions similaires

  1. [MySQL] Enregistrement en PHP
    Par fati.zara dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 24/10/2008, 07h05
  2. Choix de structure de page en PHP
    Par steam_o_roll dans le forum Langage
    Réponses: 4
    Dernier message: 25/02/2008, 11h01
  3. Structure d'un script php
    Par jmjmjm dans le forum Langage
    Réponses: 15
    Dernier message: 11/02/2008, 08h44
  4. [TP] La structure d'enregistrement en Turbo Pascal
    Par Iheb Design dans le forum Turbo Pascal
    Réponses: 1
    Dernier message: 08/10/2007, 17h48
  5. structuration de la partie php
    Par kamga dans le forum Langage
    Réponses: 2
    Dernier message: 04/05/2006, 13h35

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