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] comment réafficher donnée dans zone de texte


Sujet :

PHP & Base de données

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 87
    Points : 39
    Points
    39
    Par défaut [Conception] comment réafficher donnée dans zone de texte
    Bonsoir, voila une question importante:

    j'ai un formulaire en php qui genere en pdf quatres documents differents: un contrat de livraison, de reprise, de facture et un avoir, mon souci est le suivant:
    admettont que je saisisse les infos dans mon formulaire pour generer mon contrat de livraison, ces infos sont stockées dans une base de donnée mysql et sont auto incrémentées et que je veuille créer le contrat de reprise en reprenant les info du premier document car certaines infos sont identique alors je n'y arrive pas car je ne sais comment faire, je precise que le contrat de reprise est fait plusieurs jours ou mois après celui de livraison et que entre temps j'en ai fais d'autres aussi j'arrive à récuperer la totalité d'un document grace à un numero d'indexage que je rentre dans mon formulaire mais je ne peux pas modifier les infos, j'avais penser grace à ce numero d'indexage pouvoir réafficher les infos directement dans les zone texte par exemple:

    dans mon contrat de livraison je dois entrer le nom du client "robert dupond"dans une zone texte, j'aimerais pouvoir réafficher ce meme nom mais plusieurs jours après dans le meme formulaire dans la zone texte grace à mon numero d'indexage"idx_contrat" voici mon code pour l'indexage
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WHERE idcontact='".$_SESSION['idcontact']."' ORDER BY idx_contrat");
    en gros pour résumer je voudrais réafficher des données provenant d'une base de donnée dans une zone texte grace à un numero d'indexage que l'on tape nous même, merci pour vos réponse.

  2. #2
    Membre éprouvé
    Avatar de viviboss
    Profil pro
    Inscrit en
    Août 2006
    Messages
    943
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Août 2006
    Messages : 943
    Points : 1 248
    Points
    1 248
    Par défaut
    Heu.... Ceci n'est pas le principe de la BDD ???

    Imaginons que tu ais 2 tables : 1 client, et l'autre contrat

    Le contrat est lié au client, et un client peut avoir plusieurs contrats, donc la table contrat aura en clé étrangère l'ID client....

    Donc pour retrouver tout les contrats de ton client (indépendamment de lancienneté, je parle de la TOTALITé des contrats....), je ferais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $query="SELECT * FROM contrats WHERE id_client=".$id_client
    //Si j'ai l'ID 6, je trouverais tous les contrats dont le champs contrats.id_client est égal à 6..
    Donc je ne comprend pas tellement ta question, les bases de données sont justement là pour ca, ou du moin designé pour ca, si ce n'est pas le cas c'est que ta BDD est plutot mal designé.....

    Si tu veux récupérer d'anciennes données liées à un client pour les reprendre afin de créer de nouvelles données, et bien ma foi, récupère les en fonction des clés primaire/clés étrangères !!!!
    Veni Vidi Vici
    -------------------------
    Mes articles : developpez.com ou bien vbview.net
    -------------------------
    Et SURTOUT ne pas oublier la bible PHP : --> php_manual_fr.chm!!!
    Et aussi : --> pear_manual_fr.chm!!!

    Ou encore : --> Les tutoriaux & cours PHP de Développez.com
    -------------------------

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 87
    Points : 39
    Points
    39
    Par défaut
    merci pour ta réponse mais je fais comment pour les récuperer en fonction de clé primaire?

  4. #4
    Membre éprouvé
    Avatar de viviboss
    Profil pro
    Inscrit en
    Août 2006
    Messages
    943
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Août 2006
    Messages : 943
    Points : 1 248
    Points
    1 248
    Par défaut
    Tu fais des SELECT en cascade (enfin moi c'est ce que fais, d'autres te sortirons peut-etre des requetes plus complexes pour tout sortir en une seule, moi j'aime la simplicité !!!!)

    Exemple : Si tu as l'ID du client , et 4 tables dépendantes :

    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
     
    //Dans cette requette, je récupère tout y compris l'ID_contrat....
    $query1="SELECT * FROM contrats WHERE id_client=".$ID;
    //....REste du code pour executer la requete : résutat dans $rowquery1
     
    //Dans cette requete, je récupère par exemple l'historique du ou des contrats du client :
    While($rowquery1=mysql_fetch_assoc($result)){
    $query2="SELECT * FROM historique_contrats WHERE id_contrat=".$rowquery1['id_contrat'];
     
        While($rowquery2=mysql_fetch_assoc($result2){
       //......
        }
     
    }
    ///....Et ainsi de suite....J'ai pas détaillé les appelles BDD,etc...
    Et voilà, tu as fais des requetes en cascade.... En générale, si tu as des liaisons complexes de tables, ce que tu fais c'est que tu cherche la table contenant les infos qui t'intéressent, et tu remonte de table en table jusqu'à celle dont tu as les infos de départ...

    Ainsi, si tu as l'ID_Client et qu'il te faut le jour ou il est venu signé le dernier contrat, tu feras :
    déterminer le chemin de table grace aux liaisons clé primaire/étrangère,
    on a, pour l'exemple, 3 tables : clients, contrats, date signature
    contrats est lié à client par l'id client

    Donc, première requete :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT id_contrat FROM contrats WHERE id_client=$id_client
    date dignature est lié à contrats par id_contrat,
    Donc, deuxième requete :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT * FROM date_signature WHERE id_contrat=$idcontrat //isssue de la première requete
    Voilà, pour faire ca le plus naturellement possible, essaye de faire le chemin inverse : tu part de ce que tu veux avoir, pour remonter à ce que tu as à l'origine, et les requete apparaitront toute seules, car OBLIGATOIRE pour obtenir ce que tu veux...
    Veni Vidi Vici
    -------------------------
    Mes articles : developpez.com ou bien vbview.net
    -------------------------
    Et SURTOUT ne pas oublier la bible PHP : --> php_manual_fr.chm!!!
    Et aussi : --> pear_manual_fr.chm!!!

    Ou encore : --> Les tutoriaux & cours PHP de Développez.com
    -------------------------

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 87
    Points : 39
    Points
    39
    Par défaut
    merci ca merite d'être clair, mais j'ai mal créé ma base de donnée dès le début car j'ai tout mis dans une table du coup j'ai qu'un champs qui est indexé, par un "order by" enfaite ce champ c'est moi meme qui lui rentre une valeur par exemple je mets la date du jour, et grace à cette date que je retape dans la meme zone de texte je retrouve mes infos mais je suis dans l'impossibilité de modifié les données qu'il y a dedans, je pensais donc qu'il y avait un petit moyen tout bete pour pouvoir faire ca, sans que je modifie ma table, mais merci pour ta réponse mais certaine notion m'échappe désolé

Discussions similaires

  1. [AC-2003] Format de données dans zone de texte
    Par stargates01 dans le forum VBA Access
    Réponses: 4
    Dernier message: 01/02/2012, 16h52
  2. récupération données dans zone texte
    Par meldja dans le forum IHM
    Réponses: 5
    Dernier message: 15/03/2009, 14h37
  3. [Word] Comment rechercher un texte dans zone de texte ?
    Par vedge2000 dans le forum API, COM et SDKs
    Réponses: 0
    Dernier message: 28/11/2007, 11h11
  4. Comment suprimer une donnée dans un fichier texte ?
    Par mamou30 dans le forum Langage
    Réponses: 8
    Dernier message: 30/10/2007, 11h12
  5. Comment savoir si une zone de texte existe dans un formulaire ?
    Par jejeman dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 28/06/2007, 11h55

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