Affichage des éléments extraits d'une BD

aurelien237 Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   -  
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

Je souhaite extraire des éléments d'une base de données et les afficher de la manière suivante:



Le problème c'est que mes données s'affichent de la manière suivante:




Voici mon code:

<?php
			try

            {

            // On se connecte à MySQL

            $bdd = new PDO('mysql:host=localhost;dbname=alcool_pas_cher;charset=utf8', 'root', '');
			}

            catch(Exception $e)

            {

            // En cas d'erreur, on affiche un message et on arrête tout

            die('Erreur : '.$e->getMessage());

            }
            // On récupère tout le contenu de la table spiritieux
            $reponse = $bdd->query('SELECT * FROM spiritieux');
			
			?>
			
			<table>
			
			
			<?php
			//On affiche les lignes du tableau une à une à l'aide d'une boucle
            while ($donnees = $reponse->fetch()) 
            {
            ?>
			   
                
                    
                    
					<td><tr><img src="<?php echo $donnees['Photo']; ?>" alt="image" /></tr>
					<tr><?php echo $donnees['nom']; ?></tr>
					<tr><strong><?php echo $donnees['tarif']; ?></strong></tr></td>
					
					
					

			   
            <?php
            } //fin de la boucle, le tableau contient toute la BDD
            $reponse->closeCursor(); // Termine le traitement de la requête
            ?>
            </table>



Quelqu’un peut il m'aider s'il vous plait?

1 réponse

jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Bonjour,

Déjà, vu que tu es en PDO, je t'invite fortement à lire et à appliquer ce qui est indiqué ici :
https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs

Ensuite, tu as des balises mal placées dans ton code.... tu sembles avoir inversé les td et les tr ....
Revérifies la syntaxe d'un tableau html.. tu devrais comprendre....

Et enfin, évite donc d'utiliser des tableaux...;
A la place, utilises des DIV et joue avec le CSS pour les placer correctement (après tout.. c'est dans le forum CSS que tu as posté ta question.. mais il n'y en a aucun dans le code que tu nous présentes....)

Par exemple :
  div.produit{
    min-width:150px;
    min-height:180px;
    max-width:150px;
    max-height:180px;
    border-style: solid;
    border-width: 1px;
    border-color: lightgrey;
    text-align:center;
  }
  
  .produit > .produit-img{
    width:100%;
    min-height:80px;
    max-height:80px;
    background-color: lightgrey;
  }
  
  .produit > .produit-tarif{
    width:100%;
    padding : 4px 8px;
  }
  

<div class="produit">
  <div class="produit-img">
  <img src="<?php echo $donnees['Photo']; ?>" alt="<?php echo $donnees['nom']; ?>" />
  </div>
  <div class="produit-title">
  <?php echo $donnees['nom']; ?>
  </div>
  <div class= "produit-tarif">
  <strong><?php echo $donnees['tarif']; ?></strong>
  </div>
</div>




0