bonjour j'ai un problème au niveau de mon affichage. j'ai utilisé la boucle while pour afficher des elements dans ma base de données. tout les elements inserés s'affichent. mais mon soucis est au niveau de la disposition. selon le template (4 par ligne) le dernier element a une classe special "last-col" qui supprime sa marge de droite. Or moi jai pri une seule div que j'ai fai repeté autant de fois qu'il existe d'enregistrement. resultat je me retrouve avec 3 enregistrements par ligne. je ne sai pas trop comment m'y prendre pour afficher 4 par lignes. voici le code :

<?php
    if(isset($_POST['valider_eentreprise']) or isset($_GET['page']))
    {
        $p = @$_GET['page'];

        $entreprises = $_POST['entreprise'];
        $domaine = $_POST['domaine'];

        if(empty($domaine) AND empty($entreprises))
        {
            // on fait une requete pour recuperer les entreprises dans la bdd
            require_once('connect/bdfull.php');
            require_once('function/func.php');
            $sql = "SELECT * FROM information_stand WHERE valide_stand='1'";
            $req = mysql_query($sql);
            $nbre = mysql_num_rows($req);
            if($nbre == 0)
            {
                echo '<div class="erreur"></div>';
            }
            else
            {
                while ($entreprise = mysql_fetch_array($req))
                {
                    // on fait une requete pour compter le nombre d'appel d'offres
                    $sql_appel_off = "SELECT * FROM appel_offre_stand WHERE nom_stand='".$entreprise['nom_stand']."'";
                    $req_appel_off = mysql_query($sql_appel_off);
                    $nbre_appel_off = mysql_num_rows($req_appel_off);
                    $appel_off = mysql_fetch_array($req_appel_off);
                    // on fait une requete pour compter le nombre de besoin immédiat
                    $sql_besoin_im = "SELECT * FROM besoin_imediat WHERE nom_stand='".$entreprise['nom_stand']."'";
                    $req_besoin_im = mysql_query($sql_besoin_im);
                    $nbre_besoin_im = mysql_num_rows($req_besoin_im);
                    $besoin_im = mysql_fetch_array($req_besoin_im);
                    // on fait une requete pour afficher le nom de l'entreprise
                        $id_entreprise_appel = $appel_off['crypto'];
                        $id_entreprise_besoin = $besoin_im['crypto'];
                        $id_entreprise = $entreprise['id_information_stand'];
                        $nom_entreprise = $entreprise['nom_entreprise'];
                        $email_entreprise = $entreprise['id_entreprise'];
                        $id_info_stand = $entreprise['id_information_stand'];
                    echo '
                        <article class="photography creative">
                        <div class="image">
                            <img '.fctaffichimage('logo_entreprise/'.$entreprise["logo_stand"].'', 210, 120).' style="max-height:130px;"/>
                            <span class="hover zoom"><span class="icon"></span></span>
                        </div>
                        <div class="content">
                            <h3 style="text-align:center;" ><a href="profil.php?id='.$id_info_stand.'">'.$nom_entreprise.'</a></h3>
                            <div class="categorie" style="margin:2px; padding:2px;">
                                <a href="code_appel_offre.php?z='.$email_entreprise.'&fcp=true&i-fcp_emp='.$id_entreprise.'&iframe=true&amp;width=100%&amp;height=100%" data-rel="prettyPhoto" title="Les appels d\'offres de '.$nom_entreprise.'" class="general_button blue" style="font-size:12px; width:84%;">Appels d\'offres ('.$nbre_appel_off.')</a>
                                <a href="code_agrement.php?z='.$email_entreprise.'&fcp=true&a-fcp_emp='.$id_entreprise.'&iframe=true&amp;width=100%&amp;height=100%" data-rel="prettyPhoto" title="Les demandes d\'agrement de '.$nom_entreprise.'" class="general_button blue" style="font-size:12px; width:84%;">Demande d\'agrement</a>
                                <a href="code_besoin_rapide.php?z='.$email_entreprise.'&fcp=true&br-fcp_emp='.$id_entreprise.'&iframe=true&amp;width=100%&amp;height=100%" data-rel="prettyPhoto" title="Faite une offre à '.$nom_entreprise.'" class="general_button blue" style="font-size:12px; width:84%;">Besoin immédiat</a>
                                <a href="code_ecourrier.php?z='.$email_entreprise.'&fcp=true&ec-fcp_emp='.$id_entreprise.'&iframe=true&amp;width=100%&amp;height=100%" data-rel="prettyPhoto" title="Envoyer un courrier à '.$nom_entreprise.'" class="general_button blue" style="font-size:12px; width:84%;">E-courrier</a>
                                <a href="code_demande_rdv.php?z='.$email_entreprise.'&fcp=true&v-fcp_emp='.$id_entreprise.'&iframe=true&amp;width=100%&amp;height=100%" data-rel="prettyPhoto" title="Les demandes de RDV de '.$nom_entreprise.'" class="general_button blue" style="font-size:12px; width:84%;">Demande de RDV</a>
                                <a href="_suggestion.php?z='.$email_entreprise.'&fcp=true&s-fcp_emp='.$id_entreprise.'&iframe=true&amp;width=100%&amp;height=100%" data-rel="prettyPhoto" title="Faite une suggestion à '.$nom_entreprise.'" class="general_button blue" style="font-size:12px; width:84%;">Suggestion</a>
                            </div>
                        </div>
                        <div class="clearboth"></div>
                    </article>
                    ';
                }
            }
            echo '<div style="clear:both;"></div>';
?>

1 réponse


Bonsoir,

Pour en avoir 4 par lignes, il vous faut revoir votre css à aucun moment il est question d'un retour à ligne au bout de 3 enregistrements.
De plus, vous pourriez dans le while compter le nombre d'enregistrement et afficher la div ayant la classe "clearboth" tous les 4 enregistrements.

Autre chose, quel est l'intérêt d'avoir une classe ET un style pour vos balises ? Pourquoi ne pas tout mettre dans la class ?