HREF et appel BDD

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

  • HREF et appel BDD

    Bonjour,

    Sous joomla 4, j’ai une erreur 1064 : You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '' at line 3

    Cela me surprend car, l’appel SQL passe par le même script mais, je ne parviens pas à trouver mon erreur.

    Dans mon composant (com_aaa) :

    . à partir d’une page A (com_aaa/site/tmpl/personnes/default.php) listant des enregistrements (champs : id, nom, etc …) inclus dans une table de la BDD, j’ouvre via une balise FORM présente pour chaque enregistrement

    . une autre page B (com_aaa/site/tmpl/personne/default.php) reprenant les champs de l’enregistrement cliqué + un lien ONCLICK permetttant ouvrir sur cette page une pop-up C (com_aaa/site/tmpl/personne/default4.php) et présentant d’autres champs issus de la même table dont un champ est cliquable via une balise HREF

    . Théoriquement, cette balise HREF ouvre à nouveau la page B pour une utre (com_aaa/site/tmpl/personne/default.php) et renvoie le champ et sa valeur du champ cliqué pour affichage des champs s’y rapportant. Cela ne fonctionne pas avec le message mentionné en entête.

    Je suis surpris puisque les opérations passage de la page A à B fonctionne parfaitement, de même que l’ouverture de la pop-up C.

    Par contre, le rappel de la page B ne s’effectue pas en cliquant sur le lien HREF de la page C.

    Ci-dessous, les scripts

    Page B

    Code HTML:
    <?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;
    
    HTMLHelper::_('jquery.framework');
    
    
    if(!isset($_GET['operator']))
    {$idperso = htmlspecialchars ($_POST['id'], ENT_QUOTES,'UTF-8');}
    else    
    {$idperso = $_GET['operator'];};
    ?>
    
    <div class="accueil19"><?php echo Text::_('COM_XXX_PERSONNE'); ?></div>
    
    <form action="<?php echo Route::_('index.php?option=com_xxx'); ?>" method="post" name="adminForm" id="adminForm">
    
    <?php echo LayoutHelper::render('joomla.personnes.searchtools2.default', array('view' => $this)); ?>
    
    
    
    
    
    <?php        
    
    // connection.
    $db = JFactory::getDbo();
    
    // objet
    $query = $db->getQuery(true);
    
    // Sélection enregistrements
    // Ordre
    $query->select($db->quoteName(array('id', 'name', 'prename', 'idpere', 'idmere')));
    $query->from($db->quoteName('#__xxx_personnes'));
    $query->where($db->quoteName('id') . ' LIKE ' . $idperso);
    
    // Reset the query using our newly populated query object.
    $db->setQuery($query);
    $perso = $db->loadRow();
        
        
    
    ​

    Page C

    Code HTML:
    <?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;
    
    HTMLHelper::_('jquery.framework');
    ?>
    
    <div class="table-responsive" style="overflow-x: hidden">
        <table class="table table-striped">        
        <tbody>
        <tr>
            </div><td/>
            <td class="accueil30b">
            <?php        
                require 'pere1.php';        
                ?>
            </td>        
        </tr>
        </div>
        </tbody>
        </table>
    </div>

    Page C bis

    Code HTML:
    <?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;
    
    HTMLHelper::_('jquery.framework');
    ?>
    
    
    
            <?php        
                $idpere1 = $perso['21'];        
                $idpere1 = (float)$idpere1;
            
    if ($idpere1 >= 1)
    {
    // Get a db connection.
    $db = JFactory::getDbo();
    
    // Create a new query object.
    $query = $db->getQuery(true);
    
    // Select all records from the user profile table where key begins with "custom.".
    // Order it by the ordering field.
    $query->select($db->quoteName(array('id', 'name', 'prename')));
    $query->from($db->quoteName('#__xxx_personnes'));
    $query->where($db->quoteName('id') . ' LIKE ' . $idpere1);
    
    // Reset the query using our newly populated query object.
    $db->setQuery($query);
    $pere = $db->loadRow();
    
                echo $pere['2'] ;
                echo '&nbsp;</div><div class="accueil20b1">';
                echo $pere['1'];
                echo '</div>';
                require 'defaultpostbis.php';
                echo '</div>';    
    };
    ?>​

    Page C ter

    Code HTML:
    a href="index.php?option=com_xxx&view=personne&Itemid=343&lang=fr?operator=<?php echo $pere['0']; ?>">Afficher profil</a>
    Merci de votre aide

    Très cordialement

    Philippe


Annonce

Réduire
Aucune annonce pour le moment.

Partenaire de l'association

Réduire

Hébergeur Web PlanetHoster
Travaille ...
X