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 :

Mettre donnée de la BDD sous forme de colonne


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    commercante
    Inscrit en
    Septembre 2014
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : commercante
    Secteur : Alimentation

    Informations forums :
    Inscription : Septembre 2014
    Messages : 19
    Par défaut Mettre donnée de la BDD sous forme de colonne
    Bonjour,

    J'ai une page PHP pour afficher des données de ma base de données.
    Ces données (images + textes) s'affichent sous forme de liste et j'aimerais qu'elles se mettent sous 3 colonnes mais je ne sais comment faire. (je ne suis pas une pro...)

    Voici en image:

    Pièce jointe 170222

    Et ce que j'aimerais: (image retouchée avec PSD)
    Pièce jointe 170223

    Et voici mon code:
    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
    <?php 
    include "include/connexion.inc.php" ; 
    ?>
     
    <p class="titre_coordonnees" align="center"><legend>Nos Faire-part de naissance<br /><br /></p></legend><br /><br />
    <ul>
    <?php 
     
    $sql = "SELECT * FROM tblfpnaissance";
    	$rs = mysql_query($sql) or die ("Erreur de requête:$sql");
     
    	$i=1 ;
    	while($row=mysql_fetch_array($rs)) {
    		extract($row) ;
    	$url = "images/naissance/" . $photo1 . ".jpg" ;
    	?>
     
    <table>    
    		<tr>
           		<td><a href="index.php?page=31&id_news=<?php print $row['id']; ?>"><img src="<?php print $url ;?>" class="photo_affichage" /></a></td></tr>
                <tr>
                <td valign="top" width="350px"><span class="nomfp"><?php print $nomfp;?><br /></span>
    			Prix: àpd <?php print $prix;?>€</span><br />
     
    	</td>
    </tr>
     
     
    </table>
     
     
     
    	 <?php
    	 $i++ ; 
    	}
      	?>
    Merci :-)

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <p...><legend>...<br /><br /></p></legend><br /><br />
    <ul>
    ...<table>
    Euhh... tu n'as pas l'impression d'utiliser les balises au petit bonheur la chance ??

    N.B. Il existe une autre solution, sans <table> :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <div id="3cols">
      <div class="col3">...(tes données)...</div>
    ...
      </div>
    </div>
    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    #3cols { display:table;  }
    .col3 { display:table-cell; width:33.3%; float:left; }
    Dernière modification par Invité ; 26/02/2015 à 21h44.

  3. #3
    Membre averti
    Femme Profil pro
    commercante
    Inscrit en
    Septembre 2014
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : commercante
    Secteur : Alimentation

    Informations forums :
    Inscription : Septembre 2014
    Messages : 19
    Par défaut
    Merci pour la réponse ;-)

    J'ai adapté le code à ma base de données. Je voulais également afficher une image, j'ai donc utilisé "extract" mais elle ne s'affiche pas, à la place j'ai le lien en texte qui s'écrit.

    Voici mon code:

    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
    <?php 
     
     
     
    // $NbrLigne : le nombre de lignes
    // $NbrCol : calcul automatique
    // --------------------------------
    // (exemple)
    $NbrLigne = 4;
     
    $query = "SELECT * FROM tblfpnaissance;";
    $result = mysql_query($query);
     
     
     
    // --------------------------------
    // nombre de cellules a remplir
    $NbreData = mysql_num_rows($result);
    // -------------------------------- 
    // creation d'un tableau array() par donnees
    $k=0;
    while ($val = mysql_fetch_array($result)) {
    	extract($val) ;
    	$tableau1[$k] = "images/naissance/" . $photo1 . ".jpg" ;
    	$tableau2[$k] = $val['nomfp'];
    	$tableau3[$k] = $val['prix'];
    	$k++;
    }
    // --------------------------------
    // affichage
    if ($NbreData != 0) {
    	$i = 0;
    	$NbrCol = 0;
    ?>
    	<table border="1">
    	<tbody>
    <?php
    	for ($i=0; $i<$NbrLigne; $i++) {
    ?>		<tr>
    <?php
    		$j = 0;
    		while (($i+($j*$NbrLigne))%$NbrLigne==$i && ($i+($j*$NbrLigne))<$NbreData) 
    		{
    ?>			<td>
    <?php			// -------------------------
    			// DONNEES A AFFICHER dans la cellule
    			$k = ($i+($j*$NbrLigne));
    			echo $tableau1[$k];
    			echo '<br/>';
    			echo '<i>'.$tableau2[$k].'</i>';
    			echo '<br/>';
    			echo '<i>'.$tableau3[$k].'</i>';
    			// -------------------------
    ?>			</td>
    <?php			$j++;
    			// nombre de colonnes
    			$NbrCol = max($NbrCol,$j);
    		}
    		// ajout cellule vide (derniere colonne)
    		if ($j!=$NbrCol) { 
    ?>			<td>&nbsp;</td>
    <?php
    		}
    ?>		</tr>
    <?php
    	}
    ?>
     
    </body>
     
    <?php
    } else {
    ?>	pas de données à afficher
    <?php
    }
    ?>
     
     
     
    <?php mysql_close(); // deconnexion de la BD ?>
    </html>

  4. #4
    Invité
    Invité(e)
    Par défaut
    Utiliser extract() est, de manière générale, une mauvaise pratique.
    D'autant que c'est inutile ici.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    while ($val = mysql_fetch_array($result)) {
    	$tableau1[$k] = "images/naissance/" . $val['photo1'] . ".jpg" ;
    	$tableau2[$k] = $val['nomfp'];
    	$tableau3[$k] = $val['prix'];
    	$k++;
    }
    C'est une image que tu veux afficher. Il faut donc écrire le code HTML correspondant !
    Remplace
    par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    			echo '<img src="' . $tableau1[$k] . '" alt="" />';
    N.B. Au lieu de $tableau1, $tableau2, $tableau3, rien ne t'empêche d'utiliser des noms de variables plus explicites :
    $photo1_array, $nomfp_array, $prix_array, par exemple.
    Dernière modification par Invité ; 02/03/2015 à 22h38.

  5. #5
    Membre averti
    Femme Profil pro
    commercante
    Inscrit en
    Septembre 2014
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : commercante
    Secteur : Alimentation

    Informations forums :
    Inscription : Septembre 2014
    Messages : 19
    Par défaut
    Ça marche, merci bien et merci pour l'astuce du changement de noms des tableaux, plus pratique ;-)

    Je vais mettre en page tout ça mnt

  6. #6
    Membre averti
    Femme Profil pro
    commercante
    Inscrit en
    Septembre 2014
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : commercante
    Secteur : Alimentation

    Informations forums :
    Inscription : Septembre 2014
    Messages : 19
    Par défaut
    Par contre, je n'arrive pas à trouver pourquoi le texte est mis automatiquement en italique... J'ai changé le reste dans le css, mais le texte reste tout de même en italique

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

Discussions similaires

  1. [Smarty] Afficher les données d'une BDD sous forme de tableau avec options
    Par student_php dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 05/10/2010, 16h29
  2. [MySQL] probleme afficher donnée BDD sous forme de tableau
    Par body72 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 17/03/2008, 21h27
  3. Réponses: 5
    Dernier message: 01/06/2006, 16h18
  4. Réponses: 2
    Dernier message: 31/03/2006, 11h29
  5. Réponses: 4
    Dernier message: 29/11/2005, 08h36

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