[RESOLU] Afficher même type de données mysql dans div différente

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Afficher même type de données mysql dans div différente

Re: [RESOLU] Afficher même type de données mysql dans div différente

par landers » 27 mai 2016, 17:17

Merci pour ton temps ;)

Re: Afficher même type de données mysql dans div différente

par Saian » 27 mai 2016, 16:53

Bon après je vois qu'entre les deux affichages la classe medium change, ce que ne fait pas le code proposé, mais si tu comprends la façon de faire tu peux l'adapter pour obtenir le résultat que tu veux.

Re: Afficher même type de données mysql dans div différente

par landers » 27 mai 2016, 16:24

Merci effectivement ça peut être une solution. Je vais m'en tenir au simple foreach pour l'instant, on verra pour une V2. Il y aura 2 images et basta ^^. De tout manière vu comme c'est parti, ça va pas être mon dernier poste sur ce forum ^^. J'ai voulu partir sur une base MVC, mais je crois que je suis entrain de me compliquer la vie car il y a également tout ce process à assimiler

Re: Afficher même type de données mysql dans div différente

par Saian » 27 mai 2016, 16:19

Ok donc je te remets la proposition de solution car je ne comprends pas bien si tu l'as vu ou pas.

Il suffit par exemple de mettre un i = 0 avant la boucle, de l'incrémenter dans la boucle et d'afficher la deuxième image en fonction de la valeur de i ou d'un modulo de i dans le cas ou tu aurais plus de 2 posts et voudrais alterner entre 2 images et 1 image.

Et voilà pour son illustration :
<?php $i = 0; foreach($presentationContent as $presContent): $i++; ?>
<section class="presentation">
   
  <div class="row">
    <h1 class="titre"><?php echo $presContent['titre']; ?></h1>
    <h2 class="soustitre"><?php echo $presContent['soustitre']; ?></h2>
  </div>

  <div class="row">
    <div class="small-12 medium-3 columns">
      <img class="imgDeco" src="http://placehold.it/450x350" alt="">
    </div>

    <div class="small-12 medium-6 columns">
      <p><?php echo $presContent['contenu']; ?></p>
    </div>

    <?php if($i % 2 !== 0): ?>
    <div class="small-12 medium-3 columns">
      <img class="imgDeco" src="http://placehold.it/450x350" alt="">
    </div>
    <?php endif; ?>
  </div>

</section><!-- FIN PRESENTATION -->
<hr/>
<?php endforeach; ?>

Re: Afficher même type de données mysql dans div différente

par landers » 27 mai 2016, 16:16

Y'a pas vraiment de but pour les images, c'est histoire de générer du contenu illustré différemment. Oui oui la proposition de solution c'est que pour chaque données de type=presentation, on affiche cette section. C'est ce que j'avais fait, c'est par rapport aux images que j'ai bloqué.

Re: Afficher même type de données mysql dans div différente

par Saian » 27 mai 2016, 16:05

Je demandais le but par rapport aux images. ;)
Tu as bien vu la proposition de solution ? tu la comprends ?

Re: Afficher même type de données mysql dans div différente

par landers » 27 mai 2016, 15:58

Le but c'est de pouvoir administrer chaque section de ce site, comme un CMS, après pour les images c'est vrai que c'est pas forcément utile que y'en ai une d'un coté et 2 de l'autres.
Pour l'instant je suis uniquement sur la partie texte du site, je verrai pour les images plus tard. Désolé si je ne suis pas clair, mais j'ai la tête dans le guidon du coup j'ai pas beaucoup de recul par rapport à ce que je veux exprimer ^^.

Re: Afficher même type de données mysql dans div différente

par Saian » 27 mai 2016, 15:49

Euh la de ce que je vois les images pour le moment c'est juste du placeholder... le but c'est quoi ? de mettre 2 images sur le premier et une seule sur les suivants ? tu auras toujours uniquement 2 posts ? tu en auras peut être plus ? pourquoi 2 images sur le premier et 1 seule sur le deuxième ? d'où vont sortir les images ?
Sinon il suffit par exemple de mettre un i = 0 avant la boucle, de l'incrémenter dedans et d'afficher la deuxième image en fonction de la valeur de i ou d'un modulo de i dans le cas ou tu aurais plus de 2 posts et voudrais alterner entre 2 images et 1 image. Et puis arrêtes de parler de div à tout bout de champ ce n'est pas clair. ^^

Re: Afficher même type de données mysql dans div différente

par landers » 27 mai 2016, 13:03

Le truc c'est que j'ai une div avec 1 image et une autre avec 2 images, donc comment faire avec un foreach ?

Re: Afficher même type de données mysql dans div différente

par Saian » 27 mai 2016, 12:56

Désolé Landers mais je ne comprends pas où est le problème. Tu parles de div mais y a pleins de div dans le code html et tu montres un code avec 2 sections l'une avec titre n°1 etc et l'autre avec titre n°2 etc. C'est exactement ce que fait le code que je t'ai mis. Il crée 2 sections présentation chacune contenant les informations d'une ligne...

Re: Afficher même type de données mysql dans div différente

par landers » 27 mai 2016, 12:32

Oui mais en fait j'ai du mal m'exprimer, je vais décrire un peu mieux :).

J'ai un base de données de ce type :

Table Posts
id-title-subtitle-created-type

Dans cette table Posts, j'ai en fait quasiment tout mon site, que je définis par un type.

J'ai par exemple type=page, type=atouts, type=presentation ...

Jusque ici j'essayais de rendre la page d'accueil dynamique, ce qui a plutôt bien marché. Sur l'accueil, j'affiche les données de la table Posts avec un type=peu importe, dans la même div.

Par exemple, type=atouts, tout est affiché dans une seule div donc ça va.

Là pour la page presentation.php, je souhaiterais récupérer les posts type=presentation, avec 1 donnée de ce type dans une div, et l'autre donnée dans une autre div.

Et c'est ça que je n'arrive pas à faire.

Re: Afficher même type de données mysql dans div différente

par Saian » 27 mai 2016, 11:58

Bonjour toute la partie à répéter doit évidement être dans le foreach.
<?php foreach($presentationContent as $presContent): ?>
<section class="presentation">
   
  <div class="row">
    <h1 class="titre"><?php echo $presContent['titre']; ?></h1>
    <h2 class="soustitre"><?php echo $presContent['soustitre']; ?></h2>
  </div>

  <div class="row">
    <div class="small-12 medium-3 columns">
      <img class="imgDeco" src="http://placehold.it/450x350" alt="">
    </div>

    <div class="small-12 medium-6 columns">
      <p><?php echo $presContent['contenu']; ?></p>
    </div>

    <div class="small-12 medium-3 columns">
      <img class="imgDeco" src="http://placehold.it/450x350" alt="">
    </div>
  </div>

</section><!-- FIN PRESENTATION -->
<hr/>
<?php endforeach; ?>

Re: Afficher même type de données mysql dans div différente

par landers » 27 mai 2016, 11:02

Je dois donc changer ma fonction get_presentationContent() en incluant ces variables ?

Là elle fonctionne comme ça

Code : Tout sélectionner

// Traitement des données de présentation foreach($presentationContent as $cle => $presContent) { $presentationContent[$cle]['title'] = utf8_encode($presContent['title']); $presentationContent[$cle]['subtitle'] = utf8_encode($presContent['subtitle']); $presentationContent[$cle]['content'] = utf8_encode($presContent['content']); } $presentationContent = get_presentationContent(); // Afficher sur la page presentation.php include_once('vue/home/presentation.php');

Re: Afficher même type de données mysql dans div différente

par tof73 » 27 mai 2016, 10:49

$tab = get_presentationContent();
$contenu1 = $tab[0];
$contenu2 = $tab[1];

Re: Afficher même type de données mysql dans div différente

par landers » 27 mai 2016, 10:41

Alors j'ai pas tout mis, je ferme bien le foreach plus loin. Justement il y a plusieurs enregistrement dans "presentation". Et je souhaite afficher 1 donnée dans une div, et une autre dans une autre div.

En gros c'est ça

Code : Tout sélectionner

<section class="presentation"> <div class="row"> <?php foreach($presentationContent as $presContent): ?> <h1 class="titre"><?php echo $presContent['titren°1']; ?></h1> <h2 class="soustitre"><?php echo $presContent['soustitren°1']; ?></h2> </div> <div class="row"> <div class="small-12 medium-3 columns"> <img class="imgDeco" src="http://placehold.it/450x350" alt=""> </div> <div class="small-12 medium-6 columns"> <p><?php echo $presContent['contenun°1']; ?></p> <?php endforeach; ?> </div> <div class="small-12 medium-3 columns"> <img class="imgDeco" src="http://placehold.it/450x350" alt=""> </div> </div> </section><!-- FIN PRESENTATION --> <hr/> <section class="presentation"> <div class="row"> <?php foreach($presentationContent as $presContent): ?> <h2 class="titre"><?php echo $presContent['titren°2']; ?></h1> <h3 class="soustitre"><?php echo $presContent['soustitre°2']; ?></h2> </div> <div class="row"> <div class="small-12 medium-4 columns hide-for-small-only"> <img class="imgDeco" src="http://placehold.it/450x350" alt=""> </div> <div class="small-12 medium-8 columns"> <p><?php echo $presContent['contenun°2']; ?><p> <?php endforeach; ?> </div> </div> </section><!-- FIN PRESENTATION -->