BDD - récupérer un seul enregistrement

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • BDD - récupérer un seul enregistrement

    Bonjour,

    Une question toute simple.

    Via FOREACH, je récupère dans une table de la BDD des enregistrements comportant différents champs. Ex :

    <?php foreach ($this->items as $id = $item) : ?>

    <?php
    $name = $item->name;
    $prename = $item->prename;
    $naiss = $item->naiss;


    J'extrais ainsi tous les enregistrements de la BDD.

    Y a-t-il une manière analogue de récupérer les champs d’un seul enregistrement , via $ID = X.

    J’ai testé différentes possibilités sur la base de FOR au lieu de FOREACH mais, sans résultat.

    Merci pour votre aide.

    Philippe

  • #2
    Bonjour,

    As-tu essayé un SELECT sur l'ID puisque tu vas chercher l'info dans la base ?
    "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
    MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

    Commentaire


    • #3
      Bonsoir,

      Quelle fonction/classe appelles tu pour remplir le $this->items ?

      S'il s'agit d'un article, cela se passe par
      Code PHP:
      use Joomla\Component\Content\Site\Model\ArticleModel;
      ...
      $model = new ArticleModel(array('ignore_request' => true));
      $item $model->getItem($id);
      ... 
      Cela retourne les informations d'un article dans $item.

      S'il s'agit d'un contact, cela se passe par ContactModel qui lui aussi a une fonction public getItem($id)

      Il suffit d'ajouter en début de ton fichier
      Code PHP:
      use Joomla\Component\Contact\Site\Model\ContactModel;
      ....
      $model = new ContactModel(array('ignore_request' => true));
      $item $model->getItem($id);
      ... 
      Pascal
      Dernière édition par pmleconte à 11/12/2022, 20h01
      If anything can go wrong, it will...If I can help, I will ..https://conseilgouz.com

      Commentaire


      • #4
        Bonjour,

        Merci pour votre aide à tous les deux.

        Pour le moment, ça bloque encore.

        Mon composant se nomme DAGLINK et est du type MVC avec deux types de vue :
        . PERSONNES (liste des personnes) qui fonctionne sans difficulté
        . PERSONNE (vue d’une personne) qui est celle posant problème

        En ligne, J'ai un fichier PHP "PersonneModel" dans / COMPONENTS / COM_DAGLINK / SRC / MODEL

        En fonction de tes infos, dans le fichier PHP "DEFAULT" situé en ligne dans / COMPONENTS / COM_DAGLINK / TMPL / PERSONNE, j’ai mentionné :

        <?php

        \defined('_JEXEC') or die;

        use Joomla\CMS\HTML\HTMLHelper;
        use Joomla\CMS\Language\Text;
        use Joomla\CMS\Layout\LayoutHelper;
        use Joomla\CMS\Router\Route;
        use Joomla\Component\Daglink\Site\Model\PersonneModel;

        HTMLHelper::_('jquery.framework');
        ?>

        <div class="accueil19"><?php echo Text::_('COM_DAGLINK_PERSONNE'); ?></div>

        <form action="<?php echo Route::_('index.php?option=com_daglink'); ?>" method="post" name="adminForm" id="adminForm">

        <?php echo LayoutHelper::render('joomla.personnes.searchtools 2.default', array('view' => $this)); ?>


        <?php
        $model = new PersonneModel(array("ignore_request" => true));
        $item = $model->getItem($id);
        echo $item;
        ?>
        Cela bloque à la ligne $model, avec le message
        0 syntax error, unexpected ' ' (T_STRING), expecting ')'

        Qu’en penses-tu ?

        Philippe

        Commentaire

        Annonce

        Réduire
        Aucune annonce pour le moment.

        Partenaire de l'association

        Réduire

        Hébergeur Web PlanetHoster
        Travaille ...
        X