Agrandir une LIMIT php avec javascript
Bonjour,
J'ai actuellement sur mon site un système qui me permet d'afficher les 9 premiers produits grâce à :
Je cherche à faire un bouton en dessous des 9 premiers produits, ou, quand l'utilisateur cliquerait dessus, ceci ajouterait 9 autres produits en plus (soit 18 produits affichés sur l’écran au final) et qu'à chaque fois qu'il clique, cela en rajoute 9.
Merci pour votre aide.
Cordialement,
Benjamin
J'ai actuellement sur mon site un système qui me permet d'afficher les 9 premiers produits grâce à :
$sql = $bdd->prepare('SELECT * FROM Produits WHERE verif=1 LIMIT 0, 9');
Je cherche à faire un bouton en dessous des 9 premiers produits, ou, quand l'utilisateur cliquerait dessus, ceci ajouterait 9 autres produits en plus (soit 18 produits affichés sur l’écran au final) et qu'à chaque fois qu'il clique, cela en rajoute 9.
Merci pour votre aide.
Cordialement,
Benjamin
2 réponses
-
Contributeurbonjour,
quel est ton soucis?
tu peux obtenir les 9 suivants an faisant:$sql = $bdd->prepare('SELECT * FROM Produits WHERE verif=1 LIMIT 9, 9');
, et ensuite:$sql = $bdd->prepare('SELECT * FROM Produits WHERE verif=1 LIMIT 18, 9'); -
ModérateurBonjour,
Mon soucis est que j'aimerais avoir un bouton et le faire dynamiquement sans rechargement de la page.
Donc pour ça .. tu dois utiliser l' AJAX.
Le principe donné par yg_be pour la partie "requête" reste valable ....
Il ne te reste qu'à utiliser le javascript ( ou de préfénence le jquery...) pour aller chercher les données à afficher ... puis à générer l'affichage dans ta page.
Tu trouveras sans mal sur le net de très nombreux exemple de jquery/ajax.
Comme ici :
https://forums.commentcamarche.net/forum/affich-33258760-remplir-un-formulaire-dynamiquement-en-fonction-d-une-combobox#2
-
-
Modérateur@benbouil95Plus simple ??
Ben ...
Côté javascript tu auras une fonction appellée par ton bouton du style :function changepage(pdebu,limit ){ var urlAjx ="tonfichierajaxphp.php"; var data = {page:pdebu,limit:limit); $.ajax({ type: "POST", url: urlAjx, data: data, async: async, dataType: "json", success: function(reponse){ //ici tu code pour afficher les données // en attentdant, histoire de voir ce que ça retourne dans la console du navigateur // tu peux faire un : console.log(reponse); }, error:function(jqXHR, textStatus){ alert('error :' + jqXHR.responseText); } }); }
ton bouton html serait du genre :<button id="pageplus" onclick="changepage(1,18);">+</button>
Et côté php un truc du genre :<?php //affichage des erreurs PHP error_reporting(E_ALL); //connexion à la BDD (tu remplaces par TON fichier de connexion à la bdd... ) require_once 'cnxBDD.php'; //recuperation des variables : $page_deb = !empty($_POST['page']) ? $_POST['page'] : 1; $limit = !empty($_POST['limit ']) ? $_POST['limit '] : 9; $sql = "SELECT * FROM Produits WHERE verif = 1 LIMIT :page_deb, :limit "; $datas = (":page_deb"=>$page_deb , ":limit "=>$limit ); try{ $prep = $bdd->prepare($sql); $prep->execute($datas); $result = $prep->fetchAll(); //on stocke le resulatat dans un array }catch(Exception $e){ echo "Erreur ! ".$e->getMessage(); } //on renvoi les données au javascript echo json_encode($result);
-