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 :

tableau html et affichage des données issues d'une requête PostgreSQL [PostgreSQL]


Sujet :

PHP & Base de données

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    191
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 191
    Points : 78
    Points
    78
    Par défaut tableau html et affichage des données issues d'une requête PostgreSQL
    Bonjour,

    Je souhaite afficher les données d'une requête dans un tableau html, jusque là tout va bien.
    Si la première ligne de données se place bien sous la ligne des entêtes de colonnes, le reste des données est sur une ligne tout à la queue leu leu, a côté de la première ligne.
    Je ne trouve pas le moyen de fair een sorte que les valeurs s'empilent correctement dans le tableau...

    Voici le code et le résultat en pj:
    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
     
    <?php
     
    if (!isset($marequete)) 
    	{
    		echo "le code tranche n'existe pas" ;
    }
    ELSE
    	{$ligne = pg_fetch_array($marequete) ;
    	} 
     
    //affichage des champs de la table nb_fait_operation
     
    if (isset($_POST['submit']))
    		echo "" ;
     
    ?>					
    <div name='tableau'>
    	<table name="tableau_nbfaitop" >
    	 <thead>
    	  <tr>
    		<th>code_tranche</th>
    		<th>nom_operation</th>
    		<th>interpretation</th>
    		<th>nombre</th>
    	  </tr>
    	 </thead>
    	<?php while ($ligne = pg_fetch_array($marequete))
    	{
    	?>
    	 <tbody>
    	  <tr>
    		<td><?php echo $ligne["code_tranche"] ;?></td>
    		<td><?php echo $ligne["nomope"] ;?></td> 
    		<td><?php echo $ligne["interpret"] ; ?></td>
    		<td><?php echo $ligne["nombre"] ;?></td>
    	  </tr>
    	 </tbody>
    	</table>
    </div>
    <?php					
    	}	
    ?>
    Merci
    Images attachées Images attachées  

  2. #2
    Membre averti
    Avatar de Sparky95
    Homme Profil pro
    Full Stack (web) developer
    Inscrit en
    Décembre 2016
    Messages
    379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : Belgique

    Informations professionnelles :
    Activité : Full Stack (web) developer
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2016
    Messages : 379
    Points : 358
    Points
    358
    Par défaut
    Salut,
    Ta fermeture de boucle est mauvaise.
    Essaye d'inspecter ta page ou d'en voir le code source. Cela pourrait t'aider à voir l'erreur que tu as fais

  3. #3
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 496
    Points : 12 596
    Points
    12 596
    Par défaut
    Essaye avec un code organisé pour voir :

    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
     
    <!doctype html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport"
              content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>Document</title>
    </head>
    <body>
    <?php if (!isset($marequete)): ?>
        <b>le code tranche n'existe pas</b>
    <?php else: ?>
        <div name='tableau'>
            <table name="tableau_nbfaitop">
                <thead>
                <tr>
                    <th>code_tranche</th>
                    <th>nom_operation</th>
                    <th>interpretation</th>
                    <th>nombre</th>
                </tr>
                </thead>
                <tbody>
                <?php while ($ligne = pg_fetch_array($marequete)): ?>
     
                    <tr>
                        <td><?php echo $ligne["code_tranche"]; ?></td>
                        <td><?php echo $ligne["nomope"]; ?></td>
                        <td><?php echo $ligne["interpret"]; ?></td>
                        <td><?php echo $ligne["nombre"]; ?></td>
                    </tr>
     
                <?php endwhile; ?>
                </tbody>
            </table>
        </div>
    <?php endif ?>
     
    </body>
    </html>

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    191
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 191
    Points : 78
    Points
    78
    Par défaut
    Merci pour les réponses.
    Je mets le code en entier avec les corrections indiquées.
    J'ai une erreur
    Parse error: syntax error, unexpected 'endwhile' (T_ENDWHILE)
    je continue à chercher.

    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
     
    html>
    	<head>
    	<title>nombre et type de vestiges par opération</title>
    	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
    <!-- Latest compiled and minified CSS -->
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
     
    <!-- jQuery library -->
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
     
    <!-- Latest compiled JavaScript -->
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
     
    <link rel="stylesheet" type="text/css" href=".\styles_md.css" media="screen" />
    	</head>
     
    	<body class="imagemenu">
    <?php
     
    //prolongation session
    session_start() ;
    //importation config.php
    require('./require/config.php');
     
    /*requête pour rechercher l'opération dans la table nb_fait_opération*/
    $sql = "select * from tables_psi.nb_fait_operation where code_tranche = '$_POST[code_tranche]' ";
     
    //ok ci-dessous ca fonctionne
    $marequete = pg_query(pg_connect("host=$serveur port=$port dbname=$base user=$_SESSION[identifiant] password=$_SESSION[mot_de_passe]") 
    , $sql) ;
     
    if (!isset($marequete)) 
    	{
    		echo "le code tranche n'existe pas" ;
    }
    ELSE
     
    //affichage des champs de la table nb_fait_operation
     
    if (isset($_POST['submit']))
    	{		
    ?>					
    <div name='tableau'>
    	<table name="tableau_nbfaitop" >
    	 <thead>
    	  <tr>
    		<th>code_tranche</th>
    		<th>nom_operation</th>
    		<th>interpretation</th>
    		<th>nombre</th>
    	  </tr>
    	 </thead>
    	<?php while ($ligne = pg_fetch_array($marequete)) :
    		{
    	?>
    	 <tbody>
    	  <tr>
    		<td><?php echo $ligne["code_tranche"] ;?></td>
    		<td><?php echo $ligne["nomope"] ;?></td> 
    		<td><?php echo $ligne["interpret"] ; ?></td>
    		<td><?php echo $ligne["nombre"] ;?></td>
    	  </tr>
    	  <?php endwhile ;?>
    	 </tbody>
    	</table>
    </div>
    <?php					
    		}
    	}	
    ?>
     
    <div class="doc">
    <form action="nbfaitop1.php" method="POST" >
    	<h4>nombre et type de vestiges par opération</h4>
    	<h5 class = "alert alert-warning">Saisir le code tranche de l'opération</h5>
    	<p class="psga">code tranche:</p><input type="text" name="code_tranche" class = "alert alert-info">
    	<input type="submit" class = "alert alert-info" name="submit" value="rechercher"></p>
     
    </form>
    </div>
     
    	</body>
    </html>

  5. #5
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 496
    Points : 12 596
    Points
    12 596
    Par défaut
    code pas propre :

    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
     
    <html>
    <head>
        <title>nombre et type de vestiges par opération</title>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
     
        <!-- Latest compiled and minified CSS -->
        <link rel="stylesheet"
              href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
     
        <!-- jQuery library -->
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
     
        <!-- Latest compiled JavaScript -->
        <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
     
        <link rel="stylesheet" type="text/css" href=".\styles_md.css" media="screen"/>
    </head>
     
    <body class="imagemenu">
    <?php
     
    //prolongation session
    session_start();
    //importation config.php
    require('./require/config.php');
     
    /*requête pour rechercher l'opération dans la table nb_fait_opération*/
    $sql = "select * from tables_psi.nb_fait_operation where code_tranche = '$_POST[code_tranche]' ";
     
    //ok ci-dessous ca fonctionne
    $marequete = pg_query(pg_connect("host=$serveur port=$port dbname=$base user=$_SESSION[identifiant] password=$_SESSION[mot_de_passe]")
        , $sql);
    ?>
    <?php if (!isset($marequete)): ?>
        le code tranche n'existe pas
    <?php else : ?>
        <?php if (isset($_POST['submit'])): ?>
            <div name='tableau'>
                <table name="tableau_nbfaitop">
                    <thead>
                    <tr>
                        <th>code_tranche</th>
                        <th>nom_operation</th>
                        <th>interpretation</th>
                        <th>nombre</th>
                    </tr>
                    </thead>
                    <?php while ($ligne = pg_fetch_array($marequete)): ?>
                    <tbody>
                    <tr>
                        <td><?php echo $ligne["code_tranche"]; ?></td>
                        <td><?php echo $ligne["nomope"]; ?></td>
                        <td><?php echo $ligne["interpret"]; ?></td>
                        <td><?php echo $ligne["nombre"]; ?></td>
                    </tr>
                    <?php endwhile; ?>
                    </tbody>
                </table>
            </div>
        <?php endif; ?>
    <?php endif; ?>
     
    <div class="doc">
        <form action="nbfaitop1.php" method="POST">
            <h4>nombre et type de vestiges par opération</h4>
            <h5 class="alert alert-warning">Saisir le code tranche de l'opération</h5>
            <p class="psga">code tranche:</p><input type="text" name="code_tranche"
                                                    class="alert alert-info">
            <input type="submit" class="alert alert-info" name="submit" value="rechercher"></p>
     
        </form>
    </div>
     
    </body>
    </html>
     
     
    //affichage des champs de la table nb_fait_operation
     
    if (isset($_POST['submit']))
    echo "";
     
    //while ($ligne = pg_fetch_array($marequete))
    //{
    ?>

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    191
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 191
    Points : 78
    Points
    78
    Par défaut
    oui je voyais ça : faut que je reprenne, y'a des { en trop...entre autres...
    je nettoie donc...

  7. #7
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 496
    Points : 12 596
    Points
    12 596
    Par défaut
    c'est ce que j'ai fais

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    191
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 191
    Points : 78
    Points
    78
    Par défaut
    comment j'ai pu oublié le endwhile...

    Il n'a pas voulu des
    <?php endif ;?>
    Une fois effacés et code nettoyé, j'ai un tableau correct.
    Merci

    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
     
    *sans le début de la page*
     
    if (!isset($marequete)) 
    	{
    		echo "le code tranche n'existe pas" ;
    }
    ELSE
     
    //affichage des champs de la table nb_fait_operation
     
    if (isset($_POST['submit']))
     
    ?>					
    <div name='tableau'>
    	<table name="tableau_nbfaitop" >
    	 <thead>
    	  <tr>
    		<th>code_tranche</th>
    		<th>nom_operation</th>
    		<th>interpretation</th>
    		<th>nombre</th>
    	  </tr>
    	  </thead>
    	  <?php while ($ligne = pg_fetch_array($marequete)) : ?>
    	 <tbody>
    	  <tr>
    		<td><?php echo $ligne["code_tranche"] ;?></td>
    		<td><?php echo $ligne["nomope"] ;?></td> 
    		<td><?php echo $ligne["interpret"] ; ?></td>
    		<td><?php echo $ligne["nombre"] ;?></td>
    	  </tr>
    	  <?php endwhile; ?>
    	 </tbody>
    	</table>
    </div>
     
     
    <div class="doc">
    <form action="nbfaitop1.php" method="POST" >
    	<h4>nombre et type de vestiges par opération</h4>
    	<h5 class = "alert alert-warning">Saisir le code tranche de l'opération</h5>
    	<p class="psga">code tranche:</p><input type="text" name="code_tranche" class = "alert alert-info">
    	<input type="submit" class = "alert alert-info" name="submit" value="rechercher"></p>
     
    </form>
    </div>
     
    	</body>
    </html>

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

Discussions similaires

  1. Récupérer des données issues d'une requête
    Par flavors dans le forum Langage
    Réponses: 8
    Dernier message: 22/07/2015, 17h07
  2. Réponses: 2
    Dernier message: 20/03/2015, 16h51
  3. Récupération des données issues d'une requête
    Par TeoSitran dans le forum Requêtes et SQL.
    Réponses: 8
    Dernier message: 29/04/2014, 09h36
  4. [PHP 5.3] Récupérer des données issues d'une requête http GET
    Par Pierrea4564 dans le forum Langage
    Réponses: 2
    Dernier message: 24/09/2013, 08h15
  5. [FPDF] Mettre des données issues d'une requête dans l'entête
    Par zoom61 dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 30/03/2007, 10h10

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