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 :

Tableau Dynamique Php


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2013
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Transports

    Informations forums :
    Inscription : Février 2013
    Messages : 9
    Par défaut Tableau Dynamique Php
    Bonjour a tous,

    Je me permet de solliciter votre connaissance sur mon problème.

    Donc je m'explique , j'ai un array() de n photo que je récupère en base. Cet array je voudrais l'afficher dans un tableau (table) , avec un maximum de 4 photos par lignes.

    Comment puis-je procéder ? , quel boucle utilisé pour une performance maximum ?

    Merci d'avance

    Vassilis

  2. #2
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2008
    Messages
    1 051
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Hautes Pyrénées (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 051
    Par défaut
    Moi j'utiliserais une simple boucle for qui parcours tout ton tableau, et soit un compteur pour compter les 4 par ligne, soit un modulo.

    A moins d'avoir des millions de lignes, je suis pas certains de gagner du temps entre un while, un for, un foreach, etc Prend au plus simple pour toi.

  3. #3
    Expert confirmé
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Par défaut
    Pour faire des vignettes, un tableau c'est pas l'idéal. Fais ça avec une grille toute simple

    Exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <div class="thumb-grid">
        <?php foreach ($pictures as $picture): ?>
        <div class="thumb">
            <a href="<?php echo $picture['url'] ?>">
                <img src="<?php echo $picture['thumb'] ?>" alt="<?php echo $picture['label'] ?>">
                <span><?php echo $picture['description'] ?></span>
            </a>
        </div>
        <?php endforeach ?>
    </div>
    Ensuite, il suffit de faire flotter les .thumb et les dimentionner avec CSS et c'est dans la boite.

  4. #4
    Membre habitué
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2013
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Transports

    Informations forums :
    Inscription : Février 2013
    Messages : 9
    Par défaut
    j'ai pas totalement cerné le truc ,

    j'ai mon array que je parcoure avec un foreach :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $pic = $cnx->select("SELECT chemin_pic from picture ");
     
    foreach($pic as $value){
        echo '<td>'. '<img src=' . $value[0] .' />'.'</td>';
    }
    Au bout de la 4eme valeurs , faut que je fasse un genre de retour a la ligne et que mon tableau continue a se remplir mais toujours avec 4 valeurs par ligne , je vois pas du tout comment procéder...

    Merci d'avance

    Vassilis

  5. #5
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Salut,

    le retour à la ligne dans un tableau correspond à une nouvelle ligne du tableau.
    Tu dois juste insérer un <tr>.[4 IMAGES].</tr> toutes les 4 images affichées.

  6. #6
    Expert confirmé
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Par défaut
    modulo

    C'est cool t'avoir tenu compte de ma remarque, ça fait plaisir. J'aurais pu insister sur le fait qu'une grille d'images ne caractérise pas des données tabulaires et que donc l'usage d'une table est inapproprié mais je pensais que c'était implicite... Je pensais également que les développeurs web accordaient de l'importance à la sémantique dans les flux HTML, mais visiblement c'est pas le cas.

    Par ailleurs, je serai curieux de voir ce qui se cache sous $cnx->select

  7. #7
    Membre habitué
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2013
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Transports

    Informations forums :
    Inscription : Février 2013
    Messages : 9
    Par défaut
    effectivement je n'avais pas vu ta réponse , je teste vos solution et je vous tien au courant.

    Merci infiniment

    EDIT : pour ta curiosité =>

    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
    public function select($SQL) {
            // Execution de la requête
            $res = mysql_query($SQL, $this->_mysql);
            // La requete ne passe pas
            if ($res === FALSE) {
                // Affiche l'erreur
                echo mysql_error();
                return false;
            }
            // Tableau de retour
            $var = array();
            // Insertion dans le tableau de retour
            while ($results = mysql_fetch_array($res))
                $var[] = $results;
            // Retourne le tableau
            return $var;
        }

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

Discussions similaires

  1. tableau dynamique php
    Par totot dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 22/01/2014, 18h52
  2. Tableau dynamique PHP et injections multiples MySQL
    Par saez58 dans le forum Langage
    Réponses: 7
    Dernier message: 15/05/2013, 13h53
  3. [MySQL] Enregistrements simultanné des données d'un tableau dynamique PHP
    Par abablex dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 02/05/2012, 19h02
  4. [Joomla!] Tableau dynamique (php)
    Par bugs_budy dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 19/03/2008, 21h00
  5. [SQL] Recupération Requete SQL dans un tableau dynamique PHP
    Par victor.jbju dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 13/09/2006, 16h48

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