Agrandir une LIMIT php avec javascript

Fermé
benbouil95 Messages postés 61 Date d'inscription mercredi 6 février 2013 Statut Membre Dernière intervention 1 janvier 2019 - 19 mars 2017 à 11:06
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 - 19 mars 2017 à 15:48
Bonjour,

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
A voir également:

2 réponses

yg_be Messages postés 22698 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 avril 2024 1 471
19 mars 2017 à 11:32
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');
0
benbouil95 Messages postés 61 Date d'inscription mercredi 6 février 2013 Statut Membre Dernière intervention 1 janvier 2019 2
19 mars 2017 à 11:47
Bonjour,
Merci pour ta réponse.
Mon soucis est que j'aimerais avoir un bouton et le faire dynamiquement sans rechargement de la page. En gros je clique et une animation affiche petit à petit les 9 suivants.
Cordialement
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
19 mars 2017 à 15:00
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
0
benbouil95 Messages postés 61 Date d'inscription mercredi 6 février 2013 Statut Membre Dernière intervention 1 janvier 2019 2
19 mars 2017 à 15:35
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
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649 > benbouil95 Messages postés 61 Date d'inscription mercredi 6 février 2013 Statut Membre Dernière intervention 1 janvier 2019
Modifié par jordane45 le 19/03/2017 à 16:12
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);

 
 
0