Partage
  • Partager sur Facebook
  • Partager sur Twitter

JAVASCRIPT - Scroll infini résultat aléatoire

Sujet résolu
    1 décembre 2019 à 12:14:12

    Bonjour,

    Je vous explique mon problème.

    Je suis a la recherche d'une facon optimale pour faire un scroll infini mais en gardant une génération aléatoire.

    Je m'explique. Sur ma page web je souhaite afficher un ensemble de profils aléatoirement afin que chaque profil ait autant de chance d'etre vu plutot qu'un autre. S'il y'en a beaucoup (>30), je souhaite en afficher 30 puis en ajouter 30 de plus une fois en bas de la page.

    Pour la génération des profils de façon aléatoire, voici mon code:

    $profil = "SELECT * FROM table ORDER BY RAND()";
    
    $resprofil=mysqli_query($link,$profil)
    
    while($compte =  mysqli_fetch_assoc($resprofil)){
                //affichage de tous les profils 
    }

    J'ai donc actuellement tous les profils qui s'affichent en aléatoire. 

    Le problème c'est que je ne sais pas comment aborder le scroll infini. Des recherches m'ont menées au limit offset de mysql sauf qu avec l'aléatoire ça ne correspond pas...

    J'ai pensé a faire un tableau en récupérant les id des profils une fois récupérés de façon aléatoire mais je n'arrive pas a voir comment le combiner au script javascript...

     Dois je utiliser de l'AJAX dans ces cas la mais comment récupérer ce facteur aléatoire?

    En vous remerciant de vous pencher sur mon problème

    Bonne journée!

    • Partager sur Facebook
    • Partager sur Twitter
      4 décembre 2019 à 20:44:44

      Personne n'aurait de piste a me donner?:(
      • Partager sur Facebook
      • Partager sur Twitter
        4 décembre 2019 à 22:29:07

        Bonjour,

        Je stockerai les 3O premiers résultats dans un tableau que j'enverrai derière en AJAX pour faire la nouvelle requête SQL.

        Cette nouvelle requête SQL vérifiera te permettra de récupérer tous les utilisateurs qui ne sont pas dans le tableau puis tu mets les nouveaux utilisateurs dans le tableau et tu recommences.

        https://stackoverflow.com/questions/12230338/mysql-where-not-in-name-array

        -
        Edité par eclairia 4 décembre 2019 à 22:30:02

        • Partager sur Facebook
        • Partager sur Twitter
        "Ils ne savaient pas que c'était impossible, alors ils l'ont fait" Mark Twain
          5 décembre 2019 à 19:39:07

          Bonjour et merci pour votre réponse.

          Cependant, comment faites vous pour envoyer un tableau en ajax? La méthode me plait bien mais je ne sais pas comment récupérer un tableau php et le transmettre en ajax...

          J'ai essayé sinon de faire un premier appel d'une fonction AfficherProfil dans mon script avec en paramètre un offset et le tableau de mes ID générés aleatoirement.

          Je voulais ensuite a la fin du scroll qu'il rappelle cette fonction et ainsi de suite... Or je bloque sur l'envoi du tableau avec javascript...

          Cordialement, 

          • Partager sur Facebook
          • Partager sur Twitter
            5 décembre 2019 à 21:54:42

            Peux-tu me montrer ton code js s'il te plaît?
            • Partager sur Facebook
            • Partager sur Twitter
            "Ils ne savaient pas que c'était impossible, alors ils l'ont fait" Mark Twain
              17 décembre 2019 à 17:10:49

              Merci de la réponse, désolé du retard...

              Alors justement je n'ai rien commencé ne sachant pas comment visualiser le truc...

              As tu une idée de comment passer la liste des id par URL sur une autre page de traitement? 

              Merci

              • Partager sur Facebook
              • Partager sur Twitter
                17 décembre 2019 à 21:21:36

                Il faut que tu renvoies un json à ton javascript qui contient un tableau d'id.
                • Partager sur Facebook
                • Partager sur Twitter
                "Ils ne savaient pas que c'était impossible, alors ils l'ont fait" Mark Twain
                  23 décembre 2019 à 22:06:04

                  Bonjour et merci pour la réponse.

                  Alors je suis parti sur le json. 

                  Je pars donc sur un encodage json de la liste des ID  que j'envoie en ajax vers un fichier php.

                  Mon nouveau problème est le suivant: 

                  sur le fichier de base, j'ai un encodage de ce style: ["10", "9", "12", "5", "18", "19", "16", "14", "15", "17"]

                  mais sur le fichier cible, l'affichage de ce que je récupère donne: tab=10,9,12,5,18,19,16,14,15,17

                  et si je fais un json_decode (avec true ou pas), et bien j'ai une syntax-error...   

                  Suis je sur la bonne piste?

                  • Partager sur Facebook
                  • Partager sur Twitter
                    23 décembre 2019 à 23:37:08

                    Bonjour,

                    J'avais mal compris ta question.

                    Le json va te permettre d'envoyer des données de php à js.

                    Dans l'autre sens, il faut que tu utilises ajax.

                    Ton ajax est géré par javascript et non php.

                    Je te conseille de regarder un tutoriel sur ajax pour mieux cerner la technologie:

                    https://www.youtube.com/watch?v=G2bx9iBfm2s

                    • Partager sur Facebook
                    • Partager sur Twitter
                    "Ils ne savaient pas que c'était impossible, alors ils l'ont fait" Mark Twain
                      26 décembre 2019 à 10:52:46

                      Bonjour,

                      Au final j'ai fini par faire ce que je voulais! Merci beaucoup de votre aide!

                      • Partager sur Facebook
                      • Partager sur Twitter

                      JAVASCRIPT - Scroll infini résultat aléatoire

                      × 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