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 :

Affichage d'une requête dans un tableau HTML


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Inscrit en
    Décembre 2010
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 10
    Points : 6
    Points
    6
    Par défaut Affichage d'une requête dans un tableau HTML
    Bonjour,

    Je débute en PHP et je dois créer une page HTML qui affiche les données du table sous Access dans un tableau.

    Dans un même fichier, j'ai fait :

    Pour la connexio :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    //connexion à une base de données ACCESS
    $bdd = 'TEST'; // identifiant DSN
    $user = 'ADMIN'; // login
    $password = ''; // password
    $cnx = odbc_connect($bdd , $user, $password ) or die('La connexion a échouée !<br />'.odbc_error()); // connexion
    $query = 'SELECT MRQIDAPP, MRQNOM, MRQLIB, MRQFORMAT, MRQACTIF FROM OC_DATMARQUEUR'; //requête
    $reponse = odbc_exec($cnx, $query) or die('Erreur SQL !<br />'.$query.'<br />'.odbc_error());
    Voici maintenant le parcours de ma requête et la construction de mon tableau :
    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
     
    <table>
    	<caption>Liste des marqueurs</caption>
    		<thead>
    			<tr>
    			   <th>NOM</th>
    			   <th>LIBELLE</th>
    			   <th>FORMAT</th>
    			   <th>ACTIF</th>
    			</tr>
    		</thead>
    		<tfoot>
    			<tr>
    			   <td></td>
    			   <td></td>
    			   <td></td>
    			   <td></td>
    			</tr>		   
    		</tfoot>
    		<?php
    			// On affiche chaque entrée une à une
    			while (odbc_fetch_array($reponse))
    			{
    		?>
    		<tbody>
    		   <tr>
    			   <td><?php odbc_result($reponse, 2); ?></td>
    			   <td><?php odbc_result($reponse, 3); ?></td>
    			   <td><?php odbc_result($reponse, 4); ?></td>
    			   <td><?php odbc_result($reponse, 5); ?></td>
    		   </tr>
    		</tbody>
    	</table>
    	<?php
    	}
    	odbc_close($cnx); // ferme la connexion
    Malheureusement, je n'arrive pas à afficher mon tableau

    Le message d'erreur n'est pas très explicite puisque ma page affiche mon code tel quel.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    '.odbc_error()); // connexion $query = 'SELECT MRQIDAPP, MRQNOM, MRQLIB, MRQFORMAT, MRQACTIF FROM OC_DATMARQUEUR'; //requête echo '
    '.$query.'
    '; $reponse = odbc_exec($cnx, $query) or die('Erreur SQL !
    '.$query.'
    '.odbc_error()); ?>
    Liste des marqueurs NOM 	LIBELLE 	FORMAT 	ACTIF
     
     
    getMessage()); } ?>
    Une âme charritable peut-elle me venir en aide ?

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Est-ce que ton fichier porte bien l'extension .php ?
    Est-ce que ton code commence bien par <?php

  3. #3
    Futur Membre du Club
    Inscrit en
    Décembre 2010
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 10
    Points : 6
    Points
    6
    Par défaut
    Mon fichier se nomme ListeMarqueurs.php.

    Voici le fichier complet :

    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
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
       <head>
           <title>Liste des marqueurs</title>
           <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
       </head>
       <body>
    		<?php
    			try
    			{
    				//connexion à une base de données ACCESS
    				$bdd = 'TEST'; // identifiant DSN
    				$user = 'ADMIN'; // login
    				$password = ''; // password
    				$cnx = odbc_connect($bdd , $user, $password ) or die('La connexion a échouée !<br />'.odbc_error()); // connexion
    				$query = 'SELECT MRQIDAPP, MRQNOM, MRQLIB, MRQFORMAT, MRQACTIF FROM OC_DATMARQUEUR'; //requête
    				echo '<br />'.$query.'<br />';
    				$reponse = odbc_exec($cnx, $query) or die('Erreur SQL !<br />'.$query.'<br />'.odbc_error()); 
    				?>
    				<table>
    				<caption>Liste des marqueurs</caption>
    				<thead>
    					<tr>
    					   <th>NOM</th>
    					   <th>LIBELLE</th>
    					   <th>FORMAT</th>
    					   <th>ACTIF</th>
    					</tr>
    				</thead>
    				<tfoot>
    					<tr>
    					   <td></td>
    					   <td></td>
    					   <td></td>
    					   <td></td>
    					</tr>		   
    				</tfoot>
    				<?php
    				// On affiche chaque entrée une à une
    				while (odbc_fetch_array($reponse))
    				{
    					$nom    = odbc_result($reponse, 2);
    					$lib    = odbc_result($reponse, 3);
    					$format = odbc_result($reponse, 4);
    					$actif  = odbc_result($reponse, 5);
     
    					echo 'Nom : '.$nom;
    				?>
    					<tbody>
    					   <tr>
    						   <td><?php odbc_result($reponse, 2); ?></td>
    						   <td><?php odbc_result($reponse, 3); ?></td>
    						   <td><?php odbc_result($reponse, 4); ?></td>
    						   <td><?php odbc_result($reponse, 5); ?></td>
    					   </tr>
    					</tbody>
    				</table>
    				<?php
    				}
    				odbc_close($cnx); // ferme la connexion
    			}
    			catch(Exception $e)
    			{
    				// En cas d'erreur précédemment, on affiche un message et on arrête tout
    				die('Erreur : '.$e->getMessage());
    			}
    		 ?> 		
       </body>
    </html>
    Ce fichier est appelé à partir d'une autre page grâce à un lien hypertexte :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <li><a href="ListeMarqueurs.php">Liste des marqueurs</a></li>

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Est ce que tu arrives a faire du php sur ton serveur en dehors de ce cas ?

  5. #5
    Futur Membre du Club
    Inscrit en
    Décembre 2010
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 10
    Points : 6
    Points
    6
    Par défaut
    Apparemment non !!!

    J'ai testé cette page :

    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
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
        <head>
            <title>Notre première instruction : echo</title>
            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
        </head>
        <body>
            <h2>Affichage de texte avec PHP</h2>
     
            <p>
                Cette ligne a été écrite entièrement en (x)HTML.<br />
                <?php echo "Celle-ci a été écrite entièrement en PHP."; ?>
            </p>
        </body>
    </html>
    La ligne de PHP ne s'affiche pas !

    J'utilise EasyPHP et je suis sous windows XP. A terme, mon application sera développée à l'ai de du ZendFramework.

    Voici un extrait de ma configuration Apache :
    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
     
    ServerRoot "${path}/apache"
    Listen 80 
     
    LoadModule php5_module "${path}/php/php5apache2_2.dll"
     
    DocumentRoot "D:/Dev/ZEND"
     
    <Directory "D:/Dev/ZEND">
        Options Indexes FollowSymLinks
        AllowOverride None
        Order allow,deny
        Allow from all
    </Directory>
     
    # J'ai 2 virtualHost
    <VirtualHost *:80>
       DocumentRoot "D:/Dev/ZEND/completude/public"
       ServerName .local
     
       # This should be omitted in the production environment
       SetEnv APPLICATION_ENV development
     
       <Directory "D:/Dev/ZEND/completude/public">
           Options Indexes MultiViews FollowSymLinks
           AllowOverride All
           Order allow,deny
           Allow from all
       </Directory>
     
    </VirtualHost>
     
    <VirtualHost *:80>
       DocumentRoot "D:/Dev/ZEND/interface"
       ServerName .local
     
       # This should be omitted in the production environment
       SetEnv APPLICATION_ENV development
     
       <Directory "D:/Dev/ZEND/interface">
           Options Indexes MultiViews FollowSymLinks
           AllowOverride All
           Order allow,deny
           Allow from all
       </Directory>
     
    </VirtualHost>
    Le 1er VirtualHost sert pour le projet sous ZF (manipulation des données8).
    J'ai ajouté le second afin de créer mes fichiers PHP pour apprendre les rudiments du langage.

    Je ne souhaitais pas que ces fichiers soient mélangés à ceux sous Zend.

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Controle ton log apache pour voir s'il y a des erreurs.

  7. #7
    Futur Membre du Club
    Inscrit en
    Décembre 2010
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 10
    Points : 6
    Points
    6
    Par défaut
    Voici un extrait du log apache :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    [Wed Mar 23 11:29:06 2011] [notice] Apache/2.2.17 (Win32) PHP/5.3.5 configured -- resuming normal operations
    [Wed Mar 23 11:29:06 2011] [notice] Server built: Oct 18 2010 01:58:12
    [Wed Mar 23 11:29:06 2011] [notice] Parent: Created child process 4108
    [Wed Mar 23 11:29:06 2011] [warn] _default_ VirtualHost overlap on port 80, the first has precedence
    [Wed Mar 23 11:29:06 2011] [warn] _default_ VirtualHost overlap on port 80, the first has precedence
    [Wed Mar 23 11:29:07 2011] [notice] Child 4108: Child process is running
    [Wed Mar 23 11:29:07 2011] [notice] Child 4108: Acquired the start mutex.
    [Wed Mar 23 11:29:07 2011] [notice] Child 4108: Starting 64 worker threads.
    [Wed Mar 23 11:29:07 2011] [notice] Child 4108: Starting thread to listen on port 80.
    [Wed Mar 23 11:29:07 2011] [notice] Child 3120: All worker threads have exited.
    [Wed Mar 23 11:29:07 2011] [notice] Child 3120: Child process is exiting
    J'ai sans doute mal paramétré mon serveur

Discussions similaires

  1. MySQL : Affichage du résultat d'une requête dans un tableau
    Par mathieu dans le forum Contribuez / Téléchargez Sources et Outils
    Réponses: 7
    Dernier message: 22/09/2017, 16h51
  2. [SQL] Résultat d'une requête dans un tableau HTML
    Par Aizen64 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 19/09/2007, 20h55
  3. Affichage d'un tableau provenant d'une requete dans un tableau HTML
    Par w0lf dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 06/06/2006, 19h05
  4. JSP : Suppression d'une entrée dans un tableau html
    Par ze veritable farf dans le forum Servlets/JSP
    Réponses: 34
    Dernier message: 11/04/2006, 16h17
  5. [MySQL] Lister le contenu d'une table dans un tableau HTML
    Par carmen256 dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 03/04/2006, 19h40

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