Hugo38 Posté 18 Novembre 2010 Posté 18 Novembre 2010 Bonjour a tous, Je suis actuellement sur la création d'un site de vente de dvd pour mon école. Je voudrais savoir comment faire pour que sur ma page contenant la liste des dvds, un certain nombre de dvds s'affiche et que quand le nombre choisi est dépassé il creer une page 2, ensuite 3 etc... Plus simplement je souhaite faire comme sur la plupart des site de vente ou en bas de la page on voit 1,2,3 ....., 45 par exemple. Merci d'avance.
captain_torche Posté 18 Novembre 2010 Posté 18 Novembre 2010 J'ai écrit un article il y a quelques temps : Gestion d'un système de pagination. J'espère qu'il répondra à tes questions, sinon n'hésite pas à en poser ici !
Hugo38 Posté 18 Novembre 2010 Auteur Posté 18 Novembre 2010 J'ai bien compris la methode mais je n'arrive pas a savoir ou mettre les differentes partie dans ma page a moi, je suis encore débutant en php et c'est assez compliqué d'inserer du code dans une page déja faite. Voila ma page a moi : <h2>Catalogue : </h2> <div id="listedvd"> <?php $sql= "SELECT * FROM dvds ORDER BY dvdId DESC"; $query = mysql_query($sql); while ($data = mysql_fetch_assoc($query)) { $dvdid = $data['dvdId']; if($data['dvdActif'] == 1){ echo(' <div class="dvd"> <img src="thumb/'.$dvdid.'.jpg" alt="" title="" height="130"/> <p><a href="dvd.php?id='.$dvdid.'">'.$data['dvdTitre'].'</a></p> '); $sql2 = "SELECT * FROM realDvd, realisateurs WHERE dvdId = $dvdid AND realdvd.realId = realisateurs.realId"; $query2 = mysql_query($sql2); $data2 = mysql_fetch_assoc($query2); echo('<p>de '.$data2['realPrenom'].' '.$data2['realNom'].'</p>'); $sql2 = "SELECT * FROM actDvd, acteurs WHERE dvdId = $dvdid AND actdvd.actId = acteurs.actId"; $query2 = mysql_query($sql2); $data2 = mysql_fetch_assoc($query2); echo('<p>avec '.$data2['actPrenom'].' '.$data2['actNom'].'</p>'); $sql2 = "SELECT dvdPrix FROM dvds WHERE dvdId = $dvdid AND dvds.dvdId = dvds.dvdId"; $query2 = mysql_query($sql2); $data2 = mysql_fetch_assoc($query2); echo('<p>'.number_format($data2['dvdPrix'],2).'€</p>'); if($data['dvdStock'] > 0) echo('<p><a href="ajoutpanier.php?id='.$dvdid.'">Ajouter au panier</a></p></div> '); else echo('<p style="color:#f00;">• En Rupture</p></div>'); } } ?> </div> Cette page est inclus dans une page nommé dvd. Voila, merci
Hugo38 Posté 19 Novembre 2010 Auteur Posté 19 Novembre 2010 Oui oui mais je pense que les erreurs que j'obtient a chaque fois sont du au placement du php dans ma page, j'ai mis ma page plus haut si jamais tu peu m'aider pour le placer correctement. Merci, et super ton article.
captain_torche Posté 19 Novembre 2010 Posté 19 Novembre 2010 Dans l'idéal, il faudrait que tu postes ton code AVEC le mien, que je voie où tu bloques.
Occi Posté 26 Novembre 2010 Posté 26 Novembre 2010 Voici un début de réponse, place en début de ton script : if(isset($_GET['page']) && is_numeric($_GET['page'])) $page = intval($_GET['page']); else $page = 1; $nb_par_page = 10; $debut = ($page-1)*$nb_par_page;$nb_results = mysql_fetch_row(mysql_query('SELECT COUNT(*) FROM dvds'));$nb_results = $nb_results[0];$nb_pages = ceil($nb_results/$nb_par_page); En suite remplace ta requête SQL : $sql= "SELECT * FROM dvds ORDER BY dvdId DESC"; par $sql = "SELECT * FROM dvds ORDER BY dvdId DESC LIMIT $debut, $nb_par_page"; Puis tu n'as plus qu'à placer la pagination là où tu souhaites la voir apparaître.
Hugo38 Posté 1 Décembre 2010 Auteur Posté 1 Décembre 2010 Merci de ta réponse. Ca y est, j'ai reussi ça fonctionne tres bien.
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant