J'ai vraiment besoin d'aide, j'utilise cakePHP pour faire une liste déroulante avec des données qui sont stockées dans ma base de données, mais le problème c'est que j'arrive pas avoir une liste déroulante normale; Au lieu d'avoir une seule liste pour toute les données j'ai autant de liste que de données (c'est à dire chaque données est dans sa propre liste).
Voici mon code :
<pre class="brush: php;">
<?php if(!empty($historyList)) : ?>
<?php foreach ($historyList as $key => $historyData) : ?>
<?php if ($historyData['DATA_BASE_NAME'] == 'FACTORY_CODE' and $historyData['ID_DATA'] == $mold['REF_MOULE']) : ?>
Merci de colorer votre code à l'aide du bouton Code
Les forums d'Openclassrooms disposent d'une fonctionnalité permettant de colorer et mettre en forme les codes source afin de les rendre plus lisibles et faciles à manipuler par les intervenants. Pour cela, il faut utiliser le bouton de l'éditeur, choisir un des langages proposés et coller votre code dans la zone prévue. Si vous utilisez l'éditeur de messages en mode Markdown, il faut utiliser les balises <pre class="brush: php;">Votre code ici</pre>.
Merci de modifier votre message d'origine en fonction.
Pas d'aide concernant le code par MP, le forum est là pour ça :)
Meci pour ta réponse , mais si je les met hors du foreach je ne récupère qu'une seule valeur (précisément la dernère valeur), les autres valeurs ne s'affichent pas
julp a écrit:
Il faut mettre les td + select hors boucle (foreach), pas dedans.
cakePHP n'emploie pas un système de templates ? Parce que, là, il n'y a pas de htmlspecialchars, ça pue les XSS ...
j'ai l'impression que tu as encore une boucle par dessus le code que tu nous donnes, et que tu n'as qu'une ligne d'infos dans $historyList
Sinon ta boucle doit parcourir ta liste (foreach($history in $historyList)) et ne contenir que la ligne sur <option> rempli avec $history['ID_DATA'] en value et $history['NEW_VALUE'] dans l'affichage
Donc j'ai joint une capture d'écran du resultat : c'est à la dernière colonne où se trouve le problème, par exemple si je prend la 2em ligne dernière colonne j'ai trois données qui doivent normalement tous être dans une même liste, mais le soucis c'est que chaque donnée prend sa propre liste
umfred a écrit:
j'ai l'impression que tu as encore une boucle par dessus le code que tu nous donnes, et que tu n'as qu'une ligne d'infos dans $historyList
Sinon ta boucle doit parcourir ta liste (foreach($history in $historyList)) et ne contenir que la ligne sur <option> rempli avec $history['ID_DATA'] en value et $history['NEW_VALUE'] dans l'affichage
- Edité par AdamaAichaNdiaye 21 septembre 2021 à 11:46:07
Donc il faut faire comme on te dit depuis le début, ne mettre que l'option dans la boucle sur historyList et il faudra donner comme id au select la valeur de $modl('REF_MOULE'].
Si j'ai pas fait d'erreur de copier/coller, ça doit donner ça:
Donc il faut faire comme on te dit depuis le début, ne mettre que l'option dans la boucle sur historyList et il faudra donner comme id au select la valeur de $modl('REF_MOULE'].
Si j'ai pas fait d'erreur de copier/coller, ça doit donner ça:
Merci beaucoup ça fonctionne bien. Merci encore pour votre aide
liste déroulante des données stockées dans un BDD
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Pas d'aide concernant le code par MP, le forum est là pour ça :)
julp.fr ~ PHP < 8.0.0 : activer les erreurs PDO/SQL ~ PHP < 8.1.0 : activer les erreurs mysqli
julp.fr ~ PHP < 8.0.0 : activer les erreurs PDO/SQL ~ PHP < 8.1.0 : activer les erreurs mysqli