Agrandir une LIMIT php avec javascript
benbouil95
Messages postés
65
Statut
Membre
-
jordane45 Messages postés 30426 Date d'inscription Statut Modérateur Dernière intervention -
jordane45 Messages postés 30426 Date d'inscription Statut Modérateur Dernière intervention -
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
-
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention Ambassadeur 1 588
bonjour,
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'); -
Bonjour,
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
-
Bonjour,
Merci pour votre réponse. J'ai déjà lu plein de site et essayer plein de chose mais rien n'a marché. N'avez vous pas un exemple plus simple que se que vous venez de m'envoyer car ça ne répond pas a mon soucis.
Cordialement- Plus 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);
-