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 :

[Tableaux] Afficher les images 3 par 3


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Février 2007
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2007
    Messages : 117
    Points : 80
    Points
    80
    Par défaut [Tableaux] Afficher les images 3 par 3
    Je m'explique ...

    J'ai une table contenant des déclaration d'images et composée des champs suivants :

    - id
    - nom
    - url
    - alt
    - groupe

    Plusieurs images font parties du même groupe, exempe : test.

    Mon objectif serait de sélectionner toutes les images de ce groupe grâce à :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    $select = "SELECT * from image WHERE groupe = 'test'";
    $query = mysql_query($select);
     
    while ($result = mysql_fetch_array($query))
    {
     
    ...
     
    }
    Et c'est au niveau de cette boucle que je coince car mon but serait de présenter ces images par ligne de 3 colonnes mais je ne vois pas comment faire pour indiquer à la boucle que lorsqu'une ligne comprend 3 photos, il faut passer à la ligne suivante.

    Merci,

    Olivier

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Août 2007
    Messages
    180
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Août 2007
    Messages : 180
    Points : 198
    Points
    198
    Par défaut
    Salut,

    tu peux pas rajouter un compteur dans ta boucle que tu réinitialises dès qu'il est à 3 et dans le même temps, tu le fais passer à la ligne.

    Du style
    if (i ==3)
    {
    i=0;
    ....
    }
    else i++;

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Février 2007
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2007
    Messages : 117
    Points : 80
    Points
    80
    Par défaut
    why not ...

    je peux essayer ;-)

    je vous tiens au courant

  4. #4
    Membre averti Avatar de Linio
    Inscrit en
    Octobre 2005
    Messages
    431
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 431
    Points : 332
    Points
    332
    Par défaut
    tu rajoute une variable de compteur que tu remets à 0 quand elle est égale à 3 et qui te fait un truc genre echo '<br>' ou ce que tu veux pour sauter une ligne.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Février 2007
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2007
    Messages : 117
    Points : 80
    Points
    80
    Par défaut
    Oui effectivement, ça fonctionne !

    Voici ce que j'ai fait :

    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
     
    function groupe($groupe, $width = "") {
     
    include("db.php");
     
    $connect = mysql_connect($host, $username, $password);
    mysql_select_db($db);
     
    $select = "SELECT * FROM image
    	WHERE groupe = '".$groupe."'";
    $query = mysql_query($select);
     
    $i = 0;
     
    echo "<table width=\"100%\">";
    echo "<tr>";
     
    while ($result = mysql_fetch_array($query)) {
     
    if ($i < 3) {
     
    echo "<td>";
    img($result['nom'], $width);
    echo "</td>";
     
    $i++;	
     
    }
     
    else {
     
    $i = 0;
     
    echo "</tr>";
    echo "<tr>";
     
    }
     
    }
     
    echo "</tr>";
    echo "</table>";
     
    mysql_free_result($query);
     
    }
    Il suffit ensuite que je fasse, par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    groupe("salle", "150");
    Et ça fonctionne !

    Pour info, ma fonction groupe() fait appel à une autre fonction qui est celle-ci :

    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
     
    function img($imgselect, $width = "") {
     
    include("db.php");
     
    $connect = mysql_connect($host, $username, $password);
    mysql_select_db($db);
     
    $select = "SELECT nom, url, alt FROM image
    	WHERE nom = '".$imgselect."'";
    $query = mysql_query($select);
    $result = mysql_fetch_array($query);
     
    $url = $result['url'];
    $alt = $result['alt'];
     
    if ($width == "") {
     
    echo "<img src=\"img\\$url\" alt=\"$alt\" border=\"0\">";
     
    }
     
    else {
     
    echo "<img src=\"img\\$url\" alt=\"$alt\" border=\"0\" width=\"$width\">";
     
    }
     
    mysql_free_result($query);
    mysql_close($connect);
     
    }
    Y'a plus qu'un truc qui m'ennuye ... Ce système est présenté et fabriqué avec des tableaux ... Quelqu'un peut-il me dire comment puis-je obtenir la même présentation mais avec du CSS ?

    Merci encore !

  6. #6
    Membre émérite
    Avatar de Seb33300
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    1 564
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Thaïlande

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 564
    Points : 2 399
    Points
    2 399
    Par défaut
    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
    $select = "SELECT * from image WHERE groupe = 'test'";
    $query = mysql_query($select);
     
    $i = 0;
    echo '<div>';
     
    while ($result = mysql_fetch_array($query)){
     
    	if($i==3){ echo '</div><div style="clear: both;"></div><div>'; $i=0; }
     
    	echo '<div style="float: left; width: 200px; height: 200px;">';
    	img($result['nom'], $width);
    	echo '</div>';
     
    	$i++;
    }
     
    echo '</div>';
    j'ai pas testé donc je te garanti rien
    Il faut que tu remplaces les dimension de width: 200px; height: 200px; par des dimension dont tu es sur que toutes les images rentreront

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Février 2007
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2007
    Messages : 117
    Points : 80
    Points
    80
    Par défaut
    Salut,

    Génial ! Ca fonctionne, merci :-)

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

Discussions similaires

  1. afficher les images non supportees par D7
    Par Montor dans le forum Contribuez
    Réponses: 2
    Dernier message: 26/12/2009, 12h09
  2. [Tableaux] Afficher N images par ligne
    Par karimphp dans le forum Langage
    Réponses: 3
    Dernier message: 31/05/2006, 10h58
  3. afficher les images background
    Par DELYMED2 dans le forum ASP
    Réponses: 2
    Dernier message: 17/10/2005, 09h09
  4. [Tableaux] Lister les images
    Par ecoinfo dans le forum Langage
    Réponses: 6
    Dernier message: 02/10/2005, 12h57
  5. Afficher les images en C++ ou C
    Par sheryuledragon dans le forum Bibliothèques
    Réponses: 5
    Dernier message: 17/03/2005, 11h22

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