Comment affecter une valeur a une variable suivant la taille

Résolu
bonjour a tous
est il possible d affecter une valeur différente a une variable suivant la taille de l écran

par exemple

@media (max-width: 575.98px) { <?php $variable ='2'; ?> }

@media (min-width: 576px) and (max-width: 767.98px) { <?php $variable ='3'; ?>}

5 réponses

  1. Modérateur
    Bonjour,

    1 - En HTML ( forum que tu as choisi ...) ce n'est pas possible .. le html n'étant de toutes façons, pas un langage de programmation

    2 - En PHP ( ce à quoi ressemble ton code) .. ce n'est pas possible non plus puisque c'est un code généré (exécuté ) côté serveur ..

    3 - Il ne te reste que le javascript .... mais bon.. tout dépend de ce que tu espères faire avec cette variable ensuite....
    1. bonsoir Jordane

      merci pour la réponse
      ah ben oui je m en rends compte car tout ce que j 'ai essaye n'a malheureusement pas fonctionné

      en fait je souhaiterais juste pouvoir utiliser une variable afin d afficher par exemple 3 article avec une largeur d écran de max-width: 575.98px
      4 articles si la taille de mon écran est de 576px ou plus

      voici ou ce situe la variable dans mon code il s agit de $limite

        <?php
                           //ici commence le RSS de wordpress
                            if($flux = simplexml_load_file('http://pecheperle.be/category/nouveautes/feed/')) {
                               $donnee = $flux->channel;
      
                               // Initialiser le compteur.
                               $compteur = 0;
      
                               // Affiche les 3 derniers articles.
                               $limite = 3;
      
      //on affiche le titre
                              echo '<h3 style ="font-size: 1.25rem;font-weight: Bold;text-align: center;background-color:#ffff;">Dernières sorties de pêche</h3>';
      
                              //on initialise la boucle 
                              foreach($donnee->item as $valeur) {
                               ?>
      
                        <!-- on affiche le titre de l article de wordpress --> 
                        <div class="row" style ="background-color:#ffff;margin-left: 0; margin-right: 0;">
                           <div class="col-xl-12 col-lg-12 col-md-12">
                              <h4 style ="font-size: 1.25rem;text-align: center;"> 
                                 <a style ="color: #000;" target="_blank" href="<?php echo $valeur->link; ?>"><?php echo $valeur->title;?></a>
                              </h4>
                           </div>
                        </div>
      
                        <!-- on affiche l image de l article et le lien vers la page wordpress --> 
                        <div class="row" style="margin-bottom: 20px;background-color:#ffff;margin-left: 0; margin-right: 0;">
                           <div class="col-xl-12 col-lg-12 col-md-12">
                              <a target="_blank" href="<?php echo $valeur->link; ?>">
                              <img alt="nouveautées de la pêche à la perle" src="<?php echo $valeur->post_thumbnail->url ;?> " style="display: block; margin-left: auto; margin-right: auto ;margin-bottom: 20px;"/>
                              </a>
      
                              <!-- EN TEST lorsque cela fonctionne j abandonne celui du haut ---on affiche un bouton suite dans lequel sera exécuté un code javascript afin que l utilisateur confirme son choix  --> 
                              <a class="button centre" target="_blank" style="width: 100px;margin-bottom:10px;"  onclick="confirmation11(event,'<?php echo $valeur->link; ?>')">Suite</a>
                           </div>
                        </div>
                        <?php    
      
                           // Le compteur incrémente +1 à chaque affichage.
                           $compteur++;
      
                           // Arrête d'afficher les articles quand la valeur limite est atteinte.
                           if ($compteur == $limite)
                           break;
                           }
                           } else {
                           echo 'Le flux RSS du site pecheperle.be n\'a pas pu être chargé.';
                           }
                           ?>
      1. Modérateur
        A la limite, tu pourrais aller chercher les articles à afficher en AJAX
        de cette façon, grâce au javascript tu pourras déterminer la largeur de l'écran et ainsi choisir combien d'articles tu souhaites afficher..
    2. merci pour l aide
      houlalala
      cela est vraiment hors de mes compétences

      je pensais pouvoir réaliser un truc très simple , je vais donc abandonner cette idée
      1. bonjour a tous
        je viens de trouver un code mais il garde la variable a 8
          <style>
            #web {display: block;}
            #mobile {display: none;}
        
            @media screen and (max-width: 320px) {
                #web {display: none;}
                #mobile {display: block;}
            }
        </style>
        
        <div id="mobile">
            <?php $variable=3; echo $variable; ?>
        </div>
        
        <div id="web">
             <?php $variable=8; echo $variable; ?>
        </div>
        
        1. Modérateur

          le problème que je rencontre c 'est que je souhaiterais que cela se fasse en temps réel et pas a chaque fois que je réactualise la page

          Encore une fois .... il faut passer par du JAVASCRIPT !!

          Tu ne sembles toujours pas avoir compris la différence entre ces deux langages ... et le fait que dans un cas c'est un langage qui s'exécute côté serveur.. et de l'autre.. un langage qui s'exécute côté "client" (c.a.d dans le navigateur web de l'utilisateur)....

          Tout ce qui concerne le redimensionnement du navigateur... le clic ou le survol d'un élément de la page .. la détection du changement de valeur d'un champ de saisie ..... tout ça .. c'est détectable/pilotable par du javascript ... et UNIQUEMENT par du javascript !
      2. merci pour la reprécision

        je voulais refaire encore un test
        mais bon je vais clôturer ce caprice

        car oui je dois bien avouer que tu as raison