Titre de checkbox répété

Dans ce forum, déposez uniquement vos sujets qui concernent le développement (code PHP, SQL, Javascript, Ajax, etc.)
snooky147
Messages : 117
Inscription : jeu. 22 oct. 2015 23:00

Titre de checkbox répété

Message par snooky147 » mer. 26 déc. 2018 20:34

Bonjour,
Je trouve un peu dommage d'avoir le titre des checkbox qui est répété pour chaque option cochée .
Si j'ajoute une option checkbox qui s'appelle "distance", et que je mets 5 ou 6 options dedans et que le déposant coche 3 ou 4 cases, le template va afficher :
distance : option 1
distance : option 2
distance : option 3

Je voudrais pouvoir avoir :
Distances :
option 1
option 2
option 3

Avec les foreach, je ne suis pas très doué :roll: , comment corriger ça ?

Merci.
Je ne perds jamais. Soit je gagne, soit j’apprends ;)
Nelson Mandela

Avatar de l’utilisateur
alex427
Messages : 355
Inscription : mar. 17 janv. 2017 19:03

Re: Titre de checkbox répété

Message par alex427 » jeu. 27 déc. 2018 21:39

snooky147 a écrit :
mer. 26 déc. 2018 20:34
Bonjour,
Je trouve un peu dommage d'avoir le titre des checkbox qui est répété pour chaque option cochée .
Si j'ajoute une option checkbox qui s'appelle "distance", et que je mets 5 ou 6 options dedans et que le déposant coche 3 ou 4 cases, le template va afficher :
distance : option 1
distance : option 2
distance : option 3

Je voudrais pouvoir avoir :
Distances :
option 1
option 2
option 3

Avec les foreach, je ne suis pas très doué :roll: , comment corriger ça ?

Merci.
Bonsoir je comprend pas trop la demande, screenshot ? Afin de mieux visualiser ?
Cordialement
- Aide au Forum de Script-Pag -
- Développeur html/css - Php NIV : II
- Graphisme -

snooky147
Messages : 117
Inscription : jeu. 22 oct. 2015 23:00

Re: Titre de checkbox répété

Message par snooky147 » ven. 28 déc. 2018 12:24

Salut,
Quand tu créés une option checkbox, cette option est le titre des checkbox, puis tu vas sur la flèche à droite pour créer les différentes options que les utilisateurs cocheront.
Par exemple, tu créer une option checkbox qui s'appelle "Déplacement", puis dans cette option, tu créés des options comme 10kms puis 20kms etc.
Si un utilisateur coche 2 ou 3 options et plus, le titre de l'option (celui que tu créés en premier) apparait pour chaque valeur cochée !
tu te retrouves avec :
Déplacement : 10kms <- le titre plus option cochée 1
Déplacement : 20kms <- encore le titre plus option cochée 2
Déplacement : 30kms <- encore le titre plus option cochée 3

Je voudrais pouvoir avoir :
Déplacement : <- le titre
10kms <- option1
20kms <- option2
30kms <- option3

Le code PHP des checkbox se trouve dans template/tpl_page_ad.php ligne 631
Et comme c'est une succession de commandes "foreach" , la ligne 680 :

Code : Tout sélectionner

echo '<p class="p_middle_info_ad"><span class="second_color">'.$name_cat_opt.' :</span> '. htmlspecialchars($val_check) .'</p>';
affiche le titre de l'option : "$name_cat_opt" puis la valeur cochée "$val_check" .. et ça pour chacune des options "Déplacement" cochée !!
Dans mon site, ça donne une répétition inutile et du titre "Ouverture pratiquée"
Snap047.jpg
Snap047.jpg (6.8 Kio) Consulté 879 fois
Je ne perds jamais. Soit je gagne, soit j’apprends ;)
Nelson Mandela

Avatar de l’utilisateur
alex427
Messages : 355
Inscription : mar. 17 janv. 2017 19:03

Re: Titre de checkbox répété

Message par alex427 » ven. 28 déc. 2018 18:20

snooky147 a écrit :
ven. 28 déc. 2018 12:24
Salut,
Quand tu créés une option checkbox, cette option est le titre des checkbox, puis tu vas sur la flèche à droite pour créer les différentes options que les utilisateurs cocheront.
Par exemple, tu créer une option checkbox qui s'appelle "Déplacement", puis dans cette option, tu créés des options comme 10kms puis 20kms etc.
Si un utilisateur coche 2 ou 3 options et plus, le titre de l'option (celui que tu créés en premier) apparait pour chaque valeur cochée !
tu te retrouves avec :
Déplacement : 10kms <- le titre plus option cochée 1
Déplacement : 20kms <- encore le titre plus option cochée 2
Déplacement : 30kms <- encore le titre plus option cochée 3

Je voudrais pouvoir avoir :
Déplacement : <- le titre
10kms <- option1
20kms <- option2
30kms <- option3

Le code PHP des checkbox se trouve dans template/tpl_page_ad.php ligne 631
Et comme c'est une succession de commandes "foreach" , la ligne 680 :

Code : Tout sélectionner

echo '<p class="p_middle_info_ad"><span class="second_color">'.$name_cat_opt.' :</span> '. htmlspecialchars($val_check) .'</p>';
affiche le titre de l'option : "$name_cat_opt" puis la valeur cochée "$val_check" .. et ça pour chacune des options "Déplacement" cochée !!
Dans mon site, ça donne une répétition inutile et du titre "Ouverture pratiquée"Snap047.jpg
Bonsoir,
J'ai vue mais pour cela, pourquoi ne pas mettre ceci : Options de sous-catégorie - Options de données
Ca peut remplacer le système de Checkbox ?
Cordialement
- Aide au Forum de Script-Pag -
- Développeur html/css - Php NIV : II
- Graphisme -

snooky147
Messages : 117
Inscription : jeu. 22 oct. 2015 23:00

Re: Titre de checkbox répété

Message par snooky147 » sam. 29 déc. 2018 18:22

Salut,
L'option de données ne permet qu'un seul choix alors que les checkbox te permettent de choisir plusieurs options ... voilà pourquoi.
Un développeur sur developpez.net m'a trouvé un truc qui marche mais ça ne met le titre que sur une seul option checkbox ... les autres n'ont pas de titre, encore un foreach mal placé je suppose.
Admin, un coup de main là- dessus ?
le code du dév.

Code : Tout sélectionner

$titre_affiche = false; // ajout 
foreach($opts_checkbox as $row)
   {
    $id_cat_opt = (int) $row['id_cat_opt'];
    $id_val_check = (int) $row['id_val_check'];
 
    foreach($cache_cat_opts as $opt)
    {
     $type_cat_opt = (int) $opt['type_cat_opt'];
 
     if($type_cat_opt != 3)
     continue;
 
     foreach($cache_lang as $l)
     {
      $code_lang = stripslashes(htmlspecialchars($l['code_lang'], ENT_QUOTES));
 
      $name_cat_opt = '';
 
      if($_SESSION['code_lang'] == $code_lang)
      {
       if(isset($opt['name_cat_opt_'. $code_lang]))
       $name_cat_opt = stripslashes(htmlspecialchars($opt['name_cat_opt_'. $code_lang], ENT_QUOTES));
 
       break;
      }
     }
 
     if($id_cat_opt == $opt['id_cat_opt'])
     {
      foreach($cache_val_check as $v)
      {
       foreach($cache_lang as $l)
       {
        $code_lang = stripslashes(htmlspecialchars($l['code_lang'], ENT_QUOTES));
 
        $val_check = '';
 
        if($_SESSION['code_lang'] == $code_lang)
        {
         if(isset($v['val_check_'. $code_lang]))
         $val_check = stripslashes(htmlspecialchars($v['val_check_'. $code_lang], ENT_QUOTES));
 
         break;
        }
       }
 
       if($id_val_check == $v['id_val_check'])
       {
        // debut modification
        if (!$titre_affiche)
        {
         echo '<p class="p_middle_info_ad"><span class="second_color">'.$name_cat_opt.' :</span></p>';
         $titre_affiche = true;
        }
        echo '<p class="p_middle_info_ad">'. htmlspecialchars($val_check) .'</p>';
        // fin modification
       }
      }
     }
    }
   }
Merci
Je ne perds jamais. Soit je gagne, soit j’apprends ;)
Nelson Mandela

Avatar de l’utilisateur
alex427
Messages : 355
Inscription : mar. 17 janv. 2017 19:03

Re: Titre de checkbox répété

Message par alex427 » sam. 29 déc. 2018 20:21

snooky147 a écrit :
sam. 29 déc. 2018 18:22
Salut,
L'option de données ne permet qu'un seul choix alors que les checkbox te permettent de choisir plusieurs options ... voilà pourquoi.
Un développeur sur developpez.net m'a trouvé un truc qui marche mais ça ne met le titre que sur une seul option checkbox ... les autres n'ont pas de titre, encore un foreach mal placé je suppose.
Admin, un coup de main là- dessus ?
le code du dév.

Code : Tout sélectionner

$titre_affiche = false; // ajout 
foreach($opts_checkbox as $row)
   {
    $id_cat_opt = (int) $row['id_cat_opt'];
    $id_val_check = (int) $row['id_val_check'];
 
    foreach($cache_cat_opts as $opt)
    {
     $type_cat_opt = (int) $opt['type_cat_opt'];
 
     if($type_cat_opt != 3)
     continue;
 
     foreach($cache_lang as $l)
     {
      $code_lang = stripslashes(htmlspecialchars($l['code_lang'], ENT_QUOTES));
 
      $name_cat_opt = '';
 
      if($_SESSION['code_lang'] == $code_lang)
      {
       if(isset($opt['name_cat_opt_'. $code_lang]))
       $name_cat_opt = stripslashes(htmlspecialchars($opt['name_cat_opt_'. $code_lang], ENT_QUOTES));
 
       break;
      }
     }
 
     if($id_cat_opt == $opt['id_cat_opt'])
     {
      foreach($cache_val_check as $v)
      {
       foreach($cache_lang as $l)
       {
        $code_lang = stripslashes(htmlspecialchars($l['code_lang'], ENT_QUOTES));
 
        $val_check = '';
 
        if($_SESSION['code_lang'] == $code_lang)
        {
         if(isset($v['val_check_'. $code_lang]))
         $val_check = stripslashes(htmlspecialchars($v['val_check_'. $code_lang], ENT_QUOTES));
 
         break;
        }
       }
 
       if($id_val_check == $v['id_val_check'])
       {
        // debut modification
        if (!$titre_affiche)
        {
         echo '<p class="p_middle_info_ad"><span class="second_color">'.$name_cat_opt.' :</span></p>';
         $titre_affiche = true;
        }
        echo '<p class="p_middle_info_ad">'. htmlspecialchars($val_check) .'</p>';
        // fin modification
       }
      }
     }
    }
   }
Merci
Bonsoir,
J'aurais aimer aider mais la je refais la refonte de mon site complet; de A a Z, j'ai pas trop le temps de m'aventurer dans ce code PHP mais une fois fini de mon coté au plaisir d'offrir mes services.
Cordialement
- Aide au Forum de Script-Pag -
- Développeur html/css - Php NIV : II
- Graphisme -

iVeRsEAd
Messages : 1
Inscription : mar. 9 juil. 2019 15:24

Re: Titre de checkbox répété

Message par iVeRsEAd » jeu. 11 juil. 2019 20:20

Merci beaucoup les gars pour votre aide. J'avais besoin de la même chose. Merci encore. porn videos

Répondre