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

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    février 2019
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : février 2019
    Messages : 5
    Points : 3
    Points
    3

    Par défaut Insertion données sql dans un tableau sur un fichier index.ejs

    Bonjour à tous,

    Je m'excuse en avance si je me suis trompé de section.

    Je suis actuellement en contrat de professionnalisation et j'aurais besoin d'aide pour un projet. En effet, je dois créer un site web contenant un tableau avec les données d'une base de données. Je travaille avec un serveur NodeJS et différent fichier TS/JS et ejs

    Voici mon fichier index.ejs :

    Code html : 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
    <!DOCTYPE html>
    <html>
     <table class="table td-align-middle">
     
        <head runat="server">
     
            <tr>
                <meta charset="utf-8" />
                <link href= "./entite.css" rel="stylesheet" type="text/css" />
     
     
     
                <title>Titre</title>
     
                <style>
                    div.block {
                      display: inline-block;
                      width: 100px; 
                      border: 1px solid #000;
                      margin:5px;
                    }
                   </style>
     
     
     
     
     
     
           <script type="text/javascript" src="./bdd.js"></script>
     
     
     
     
     
     
        </head>       
     
     
     
     
     
     
        <body>
     
            <h1>Titre h1</h1>
     
     
     
     
     
     
     
            <table id="idTable" border="1">
     
                    <thead>
                            <tr>
     
                                <th> Last name </th>
                                <th> First name </th>
     
     
                            </tr>
                    </thead>
     
                    <tbody>
     
                            <tr>
     
                                <th  id="Nom"></td>
                                <th  id="Prenom"></td>
     
                            </tr>
                    </tbody>
     
            </table>
     
            <script language="JavaScript">
     
                document.getElementById("Nom").innerHTML= "TEST"
                document.getElementById("Prenom").innerHTML = 'TEST'
     
                </script>
     
     
     
        </body>
    </html>

    Et voici mon fichier : bdd.ts

    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
    import Server from "./server";
     
    // Connexion sur la Base de donnée
    ...
    ...
    ...
     
     
    var connection = new Connection(config);  
        connection.on('connect', function(err: Error) {  
        // If no error, then good to proceed.  
     
            console.log("Connected");  
            executeStatement(() => "");
        }); 
     
        var Request = require('tedious').Request;  
        var TYPES = require('tedious').TYPES;  
     
        function executeStatement(request:any) {  
            request = new Request("SELECT [Lastname],[Name] FROM ... ", function(err: Error) {  
                if(err) {
                    console.log(err);} 
     
                });  
     
            var result = ""; 
     
            request.on('row', function(columns:any) { 
                columns.forEach(function(column:any) {  
                  if (column.value === null) {   
                    console.log('NULL');   
                  } else {  
     
                    result+= column.value + " "; 
     
     
     
                  }  
                });  
     
                console.log(result);  
                result=""; 
     
     
                }
     
            )
     
     
     
     
            request.on('done', function(rowCount:any, more:any) { 
                console.log(rowCount + 'rows returned');
     
            });
            connection.execSql(request);
     
     
        }
    Quand je lance le code compilé .js à l'aide de la commande :"node bdd.js", je vois dans la console log les données 'Lastname' et 'Name' de ma base de données.

    Par contre, maintenant, je souhaite que ces données soit envoyez dans mon fichier .ejs pour me permettre de voir les données dans le tableau.

    Je vous remercie pour votre aide, je galère sur cette partie depuis maintenant plusieurs semaines.

  2. #2
    Modérateur
    Avatar de Marco46
    Homme Profil pro
    Développeur informatique
    Inscrit en
    août 2005
    Messages
    3 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : août 2005
    Messages : 3 904
    Points : 15 546
    Points
    15 546

    Par défaut

    J'ai déplacé dans la section Node.js, cette question n'a pas de rapport avec TypeScript.

    Pour ton problème, il faut que ton backend expose une API REST et que ton frontend (ton fichier html en est la base) requête cette API pour obtenir les données. Le frontend devra ensuite modifier le DOM pour les afficher.

    Tu as donc 2 applications différentes, le frontend d'un côté qui tourne dans le navigateur du client, et le backend de l'autre qui tourne sur ton serveur et qui est connecté directement à ta base de données.

    Petit point en passant, pourquoi utiliser le mot clef var dans ton code source alors que tu es en TypeScript ? Il faut utiliser const par défaut et let quand on est obligé de faire de la réassignation de variable. Le mot clef var est à bannir en TypeScript et plus généralement dans le JavaScript moderne.
    "Toute personne croyant qu'une croissance exponentielle peut durer indéfiniment dans un monde fini est soit un fou, soit un économiste."
    Kenneth E. Boulding

    "Les richesses naturelles sont inépuisables, car, sans cela, nous ne les obtiendrions pas gratuitement. Ne pouvant être ni multipliées ni épuisées, elles ne sont pas l’objet des sciences économiques."
    Jean-Baptiste Say, Traité d'économie politique, 1803.

    "/home/earth is 102% full ... please delete anyone you can."
    Inconnu

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    février 2019
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : février 2019
    Messages : 5
    Points : 3
    Points
    3

    Par défaut

    Bonjour Marco !

    Je te remercie tout d'abord pour ta réponse

    Je viens de comprendre un peu mieux se que je dois réaliser avec API REST et le modifier avec le DOM.

    Concernant les mots clefs, j'ai du surement m'embrouiller entre les deux languages car avant je travaillez sur du JavaScript mais on m'a dit de partir sur du Typescript car plus facile à utiliser. Du coup j'ai modifié mon fichier TS avec les bons mots clefs !

    Si j'ai d'autres soucis concernant les API, je posterai ici le problème.

  4. #4
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    février 2019
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : février 2019
    Messages : 5
    Points : 3
    Points
    3

    Par défaut

    Rebonjour,

    J'ai essayez de réfléchir, regardez API REST sur le net (étant donnée que je ne connaissais pas). Pour le coup, je vais devoir partir sur un fichier "json" ? Si c'est le cas, je vais devoir envoyer les données de la base de donnée sur le json puis ensuite les récupérer avec le fichier frontend ?

    Je me sens un peu perdu car en effet, je n'ai pas vu de programmation Web auparavant car je viens d'un cursus réseaux et non programmation.

    Je vous remercie

  5. #5
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    février 2019
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : février 2019
    Messages : 5
    Points : 3
    Points
    3

    Par défaut

    Bonjour,

    Quelqu'un peut-il m'expliquer comment faire pour les API Rest svp? Je regarde divers tuto sur le net mais je ne trouve pas celui qui me convient. En effet, je vois des tutos sur MongoDB car j'utilise NodeJS (Mais on m'a dit de ne pas l'utilisez), ensuite je vois des fichiers JSON et beaucoup beaucoup de PHP (Mais comme j'utilise NodeJS, je n'ai pas besoin de PHP) et pour finir je vois du Sequelize... Etant pas du tout développeur, je me perd dans tout ce monde de programmation

    Je vous remercie pour votre aide

  6. #6
    Modérateur
    Avatar de Marco46
    Homme Profil pro
    Développeur informatique
    Inscrit en
    août 2005
    Messages
    3 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : août 2005
    Messages : 3 904
    Points : 15 546
    Points
    15 546

    Par défaut

    Regarde du côté de Express.
    "Toute personne croyant qu'une croissance exponentielle peut durer indéfiniment dans un monde fini est soit un fou, soit un économiste."
    Kenneth E. Boulding

    "Les richesses naturelles sont inépuisables, car, sans cela, nous ne les obtiendrions pas gratuitement. Ne pouvant être ni multipliées ni épuisées, elles ne sont pas l’objet des sciences économiques."
    Jean-Baptiste Say, Traité d'économie politique, 1803.

    "/home/earth is 102% full ... please delete anyone you can."
    Inconnu

Discussions similaires

  1. copier données SQL dans un tableau
    Par tazegue dans le forum VB.NET
    Réponses: 3
    Dernier message: 05/08/2015, 22h52
  2. Stockage de données sql dans un tableau en visual basic 6.0
    Par moirs555 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 02/10/2011, 06h10
  3. Réponses: 5
    Dernier message: 09/10/2008, 14h28
  4. Données SQL dans un tableau pas comme les autres
    Par Jeoffrey54 dans le forum PHP & MySQL
    Réponses: 5
    Dernier message: 29/06/2008, 11h32
  5. Réponses: 9
    Dernier message: 04/04/2007, 11h16

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