Partage
  • Partager sur Facebook
  • Partager sur Twitter

Défilement de fiches

Faire défiler des Row SQL avec un bouton HTML

Sujet résolu
    15 février 2019 à 16:15:37

    Bonjour,

    Après une bonne journée de recherche, je ne trouve pas de réponse à ma question.
    Alors je tente ici de poser ma question. On verra bien.

    Je signale que je suis débutant en PHP.

    Voilà la situation de départ :
    J'ai une base de données 'Clients' sous MySQL.
    Je souhaite créer un formulaire HTLM comportant deux boutons 'Précédent' et 'Suivant'.
    En cliquant sur les boutons, on voit les fiches clients défiler une à une, en avant ou en arrière.

    Ce que j'ai réussi à faire :
    L'utilisateur clique sur le bouton 'Suivant', Ajax envoie une info à un Script PHP.
    Le Script PHP ouvre la base, lance la requête en fonction d'un curseur que je gère avec une variable $_SESSION['current_cursor'] :

    $req = $db->query('SELECT * FROM clients WHERE client_id=' . $_SESSION['current_cursor']);


    A chaque demande AJAX j'ouvre la base et lance la requête en fonction de $_SESSION['current_cursor'].

    Ca a le mérite de fonctionner...

    MAIS :
    Des sites parlent de PDO::FETCH_NUM, PDO::FETCH_ORI_NEXT.
    Apparement on définit un curseur automatique avec PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL 

    Impossible, je ne parvient pas à le faire fonctionner.
    Quelqu'un aurait un lien pour m'expliquer ce procédé ? 

    Ou bien pourquoi ce Script ne fonctionne pas et affiche toujours le même enregistrement ?

    <?php
    
        $servername = XXX;
        $username = XXX;
        $password = XXX;
        $database = XXX;
        $dbport = XXX;
        
        try {
    
            $db = new PDO('mysql:host=' . $servername . ';dbname=' . $database . ';charset=utf8', $username, $password );
    
        }
    
        catch ( Exception $e ) {
        
            die( 'Erreur Script Connexion : ' . $db->getMessage() );
    
        }
          
        readDataForwards( $db );
        readDataForwards( $db );
    
        function readDataForwards( $db ) {
        
            $sql = 'select * from clients order by client_id asc';
          
            try {
                
                $stmt = $db->prepare($sql, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL));
                $stmt->execute();
            
                $row = $stmt->fetch(PDO::FETCH_NUM, PDO::FETCH_ORI_NEXT);
                
                echo $row[0] . ' ' . $row[1];
                
            }
    
            catch (PDOException $e) {
                
                print $e->getMessage();
          
            }
        }
    
    ?>

    C'est peut-être une question bête mais j'avoue que ça me bloque.

    Merci d'avance pour vos indices ;-)

    • Partager sur Facebook
    • Partager sur Twitter
      15 février 2019 à 16:21:42

      Salut !

      Je ne suis pas certain que ces paramètres PDO soient ce que tu cherches. Incidemment, ce que tu souhaites faire semble bien proche d'une pagination avec un seul élément par page et un peu d'AJAX pour charger les éléments suivant/précédent…

      • Partager sur Facebook
      • Partager sur Twitter
        15 février 2019 à 16:25:41

        Salut !

        Oui on dirait :-D.

        Je regarde ce lien et je revient.

        Merci pour ta réponse en tout cas.

        • Partager sur Facebook
        • Partager sur Twitter

        Défilement de fiches

        × 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.
        • Editeur
        • Markdown