problème de Pagination

Eléphant du PHP | 134 Messages

15 mai 2013, 13:14

RE

Code : Tout sélectionner

<?php echo '<form method="GET" action="">'; echo'<input type="hidden" name="genre" value="'.$value.'">'; echo '<select class="pagination" name="page_genre" onChange="this.form.submit();">'; for ($i = 1; $total_genre <= $i ; $i++) { if($page_genre==$i){$sel='selected="selected"';}else{$sel='';} echo'<option value="'.$i.'" '.$sel.'>Consulter la Page : '.$i.'</option>'; } echo '</select>'; echo '<noscript><input type="submit" value="Changer" /></noscript>'; echo '</form></div></div>'; ?>
Bon j'ai essayé mais je n'ai aucun résultat dans la sélection des pages , j'ai vérifier les variables , mais pas de résultat .
J'ai essayé >>

Code : Tout sélectionner

echo'<input type="hidden" name="genre" value="'.$genre.'">';
La page actuelle cela s'affiche bien , mais ne prend en compte mon css , je dois voir ça.

Autres problème , les numéros de pages s'affichent même si cela dépasse nombre de page calculé suivant le résultat.

@+

Mammouth du PHP | 619 Messages

15 mai 2013, 13:32

Bonjour,

ok les modifis sont toujours en place sur ton site ?

Eléphant du PHP | 134 Messages

15 mai 2013, 13:36

Re

Oui

Mammouth du PHP | 619 Messages

15 mai 2013, 13:38

quand je vais sur la page recherche je ne vois aucun select normal ? par contre la pagination marche nikel

Mammouth du PHP | 619 Messages

15 mai 2013, 13:39

je viens de voir c'est plus pour les categories non ?

Eléphant du PHP | 134 Messages

15 mai 2013, 13:41

Oui car pour les recherches cela n'est pas encore modifié , j'attend de finir avant les catégories.

Mammouth du PHP | 619 Messages

15 mai 2013, 13:53

test cela mais je pense pas que le probleme vienne de la
<?php
echo '<form method="GET" action="">'; 
echo'<input type="hidden" name="genre" value="'.$genre.'">';
echo '<select class="pagination" name="page_genre" onChange="this.form.submit();">'; 
for ($i = 1; $total_genre <= $i ; $i++) {
   if($page_genre==$i){$sel='selected="selected"';}else{$sel='';}
   echo'<option value="'.$i.'" '.$sel.'>Consulter la Page : '.$i.'</option>';
}
echo '</select>'; 
echo '<noscript><input type="submit" value="Changer" /></noscript>'; 
echo '</form></div></div>'; 
?>
si cela ne marche pas peux tu reposter ton code pour les catégories stp :)

Eléphant du PHP | 134 Messages

15 mai 2013, 13:59

RE

Je crois que j'avais déjà utilisé cette solution , j'ai refais la modification mais cela ne fonctionne pas .

Mammouth du PHP | 619 Messages

15 mai 2013, 14:05

et quand tu fais un echo de $total_genre ?

Mammouth du PHP | 619 Messages

15 mai 2013, 14:18

reposte ton code il a quelque souci avoir

si les numéro des pages et supérieurs a la fin faut vérifie que $fin et inférieur ou écale a $total_genre sinon $fin=$total_genre

après tu fais deux boucle for un pour le select et un pour les numeros pas besoin reposte le tous qu'on voit cela

edit : je vois que le numero de page et bien sorti du lot c'est mieux un pti css :p

Eléphant du PHP | 134 Messages

15 mai 2013, 14:35

RE

Voilà je repost le code complet pour genre.

Code : Tout sélectionner

// Si une recherche à était effectué } elseif (isset($_GET['genre'])) { if ($_GET['genre'] != NULL) { // On récupère la recherche pour une paggination if($_GET['genre'] != NULL) { $genre = htmlentities($_GET['genre'], ENT_QUOTES); } // Si le nombre de page n'extsite pas elle est par défaut à 1 if($_GET['page_genre'] != NULL AND is_numeric($_GET['page_genre'])) { $page_genre = htmlentities ($_GET['page_genre'], ENT_QUOTES); } else { $_GET['page_genre'] = 1; } // On récupère le nombre de résultat $requete_page_genre = mysql_query("SELECT id FROM ticket_astuce WHERE genre1='$genre' OR genre2='$genre' ORDER BY id DESC"); $num_genre = mysql_num_rows($requete_page_genre); // Nombre de résultat par page $nombre_resultats_genre = 24; $debut_affichage_genre = ($_GET['page_genre']-1)*$nombre_resultats_genre; // Affichage des images films selon la recherche $requete_genre = mysql_query("SELECT * FROM ticket_astuce WHERE genre1='$genre' OR genre2='$genre' ORDER BY id DESC LIMIT $debut_affichage_genre, $nombre_resultats_genre"); while( $genres = mysql_fetch_array($requete_genre)) { $bulle = $genres['commentaire']; // Système de bulle ?> <li> <div class="img-one-fourth"> <p class="fade-img" data-rel="zoom-icon"><a href=" http://***/Web/Films/Ajout_films/<?php echo $genres['image']; ?>" data-rel="prettyPhoto[mygallery]" title="<?php echo $genres['solution']; ?>"><img src=" http://***/Web/Films/Ajout_films/<?php echo $genres['image']; ?>" width="150" height="200" alt="<?php echo $genres['solution']; ?>" title="" /></a></p> </div> <div class="portfolio-content"> <p><a href="fiche.php?film=<?php echo $genres['id']; ?>" class="button-small"><img src="images/notes/oeil.png" width="20" height="20" alt="voir"> Consulter</a></p> </div> <div class="portfolio-content"> <p><a href="noter.php?id=<?php echo $genres['id']; ?>"><img src="images/notes/vote1.png" width="30" height="30" alt="Voter"></a></p> </div> <!-- .portfolio-content --> </li> <?php } if($num_genre == NULL) { echo '<center>Messages</center>'; } //Affichage du nombres de pages if(is_numeric($_GET['page_genre'])) { echo '<div id="container"><br />'; $pages_genre= $_GET['page_genre']; if($_GET['page_genre'] != 1) { //$page_genre_p = $_GET['page_genre']-1; //echo "<a href=\"index.php?page_affichage=$i\"></a>"; } $total_genre = ceil($num_genre/$nombre_resultats_genre); { echo'<div id="tnt_pagination"><a href="index.php?genre=$genre&page_genre='.$genre.'">Début</a>'; if($page_genre>=10){$debut_genre=$page_genre-10;}else{$debut_genre=1;}//on vérifie que la page actuelle est supérieur a 5 if($page_genre<=$num_genre){$fin_genre=$page_genre+10;}else{$fin_genre=$num_genre;} for ($i = $debut_genre; $i <= $fin_genre; $i++) { if($page_genre==$i){ echo $i; } else{ echo'<a href="index.php?genre='.$genre.'&page_genre='.$i.'"> '.$i.'</a>'; } } } echo '<a href="index.php?genre='.$genre.'&page_genre='.$total_genre.'"><img src="images/icons/11889-Metalian-Avance.png" width="10" height="10" alt="droite"></a>'; echo '<form method="GET" action="">'; echo'<input type="hidden" name="genre" value="'.$genre.'">'; echo '<select class="pagination" name="page_genre" onChange="this.form.submit();">'; for ($i = 1; $total_genre <= $i ; $i++) { if($page_genre==$i){$sel='selected="selected"';}else{$sel='';} echo'<option value="'.$i.'" '.$sel.'>Consulter la Page : '.$i.'</option>'; } echo '</select>'; echo '<noscript><input type="submit" value="Changer" /></noscript>'; echo '</form></div></div>'; } }
<style type="text/css">
.pagination {
	font-family: Verdana, Geneva, sans-serif;
	font-size: 14px;
	color: #FFF;
	background-color: #F1F1F1;
	border: 2px solid #999;
	padding: 2px;
	width: 150px;
	margin-right: 1px;
	margin-left: 1px;
	text-decoration: none;
	color: #63F;
	margin-top: 5px;
	margin-bottom: 2px;
    } 
 a {  
        text-decoration: none;  
    }  
	
	
	
#tnt_pagination {
	 -moz-box-shadow: none;
  -webkit-box-shadow: none;
  -o-box-shadow: none;
  box-shadow: none;
  border: 0 none !important;
  background: transparent !important;
  margin-left: 0;
  margin-right: 0;
}

#tnt_pagination a:link, #tnt_pagination a:visited{
	-moz-border-radius: 3px;
  -webkit-border-radius: 3px;
  -o-border-radius: 3px;
  -ms-border-radius: 3px;
  -khtml-border-radius: 3px;
  border-radius: 3px;
  -moz-box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2);
  -webkit-box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2);
  -o-box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2);
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2);
  margin: 1px 2px;
  padding: 5px 10px;
  display: inline-block;
  border-top: 1px solid #fff;
  text-decoration: none !important;
  color: #717171 !important;
  font-size: smaller !important;
  font-family: "Helvetica Neueu", Helvetica, Arial, sans-serif;
  text-shadow: white 0 1px 0;
  background-color: #f5f5f5;
  background-image: -webkit-gradient(linear, left top, left bottom, from(#f9f9f9), to(#eaeaea));
  /* Saf4+, Chrome */
  background-image: -webkit-linear-gradient(top, #f9f9f9, #eaeaea);
  /* Chrome 10+, Saf5.1+ */
  background-image: -moz-linear-gradient(top, #f9f9f9, #eaeaea);
  /* FF3.6 */
  background-image: -ms-linear-gradient(top, #f9f9f9, #eaeaea);
  /* IE10 */
  background-image: -o-linear-gradient(top, #f9f9f9, #eaeaea);
  /* Opera 11.10+ */
  background-image: linear-gradient(top, #f9f9f9, #eaeaea);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#f9f9f9', EndColorStr='#eaeaea');
  /* IE6–IE9 */
}

#tnt_pagination a:hover {
	border-color: #fff;
	background-color: #FF9900;
	background-image: -webkit-gradient(linear, left top, left bottom, from(#fefefe), to(#fafafa));
	/* Saf4+, Chrome */
	background-image: -webkit-linear-gradient(top, #fefefe, #fafafa);
	/* Chrome 10+, Saf5.1+ */
	background-image: -moz-linear-gradient(top, #fefefe, #fafafa);
	/* FF3.6 */
	background-image: -ms-linear-gradient(top, #fefefe, #fafafa);
	/* IE10 */
	background-image: -o-linear-gradient(top, #fefefe, #fafafa);
	/* Opera 11.10+ */
	background-image: linear-gradient(top, #fefefe, #fafafa);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#fefefe', EndColorStr='#fafafa');
  /* IE6–IE9 */
}

#tnt_pagination .active_tnt_link {
	 -moz-box-shadow: inset 0 0 0 0 rgba(0, 0, 0, 0.75);
  -webkit-box-shadow: inset 0 0 0 0 rgba(0, 0, 0, 0.75);
  -o-box-shadow: inset 0 0 0 0 rgba(0, 0, 0, 0.75);
  box-shadow: inset 0 0 0 0 rgba(0, 0, 0, 0.75);
  border-color: #505050 !important;
  color: #f2f2f2 !important;
  text-shadow: black 0 1px 0;
  background-color: #676767;
  background-image: -webkit-gradient(linear, left top, left bottom, from(#5f5f5f), to(#5c5c5c));
  /* Saf4+, Chrome */
  background-image: -webkit-linear-gradient(top, #5f5f5f, #5c5c5c);
  /* Chrome 10+, Saf5.1+ */
  background-image: -moz-linear-gradient(top, #5f5f5f, #5c5c5c);
  /* FF3.6 */
  background-image: -ms-linear-gradient(top, #5f5f5f, #5c5c5c);
  /* IE10 */
  background-image: -o-linear-gradient(top, #5f5f5f, #5c5c5c);
  /* Opera 11.10+ */
  background-image: linear-gradient(top, #5f5f5f, #5c5c5c);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#5f5f5f', EndColorStr='#5c5c5c');
  /* IE6–IE9 */
}

#tnt_pagination .disabled_tnt_pagination {
	padding:7px;
	padding-top:2px;
	padding-bottom:2px;
	border:1px solid #EBEBEB;
	margin-left:10px;
	text-decoration:none;
	background-color:#F5F5F5;
	color:#D7D7D7;
	cursor:default;
}

 

</style> 


Mammouth du PHP | 619 Messages

15 mai 2013, 14:45

Re,

test cela
// Si une recherche à était effectué
   } elseif (isset($_GET['genre']))
      {
         if ($_GET['genre'] != NULL)
            {
   
   // On récupère la recherche pour une paggination
   if($_GET['genre'] != NULL) {
   $genre = htmlentities($_GET['genre'], ENT_QUOTES); 
   }
            
   // Si le nombre de page n'extsite pas elle est par défaut à 1
   if($_GET['page_genre'] != NULL AND is_numeric($_GET['page_genre']))
    {
   $page_genre = htmlentities ($_GET['page_genre'], ENT_QUOTES);
   } else {
   $_GET['page_genre'] = 1;
   }
            
   // On récupère le nombre de résultat
   $requete_page_genre = mysql_query("SELECT id FROM ticket_astuce WHERE genre1='$genre' OR genre2='$genre' ORDER BY id DESC");
   $num_genre = mysql_num_rows($requete_page_genre);
            
   // Nombre de résultat par page
   $nombre_resultats_genre = 24;
   $debut_affichage_genre = ($_GET['page_genre']-1)*$nombre_resultats_genre;

   // Affichage des images films selon la recherche
   $requete_genre = mysql_query("SELECT * FROM ticket_astuce WHERE genre1='$genre' OR genre2='$genre' ORDER BY id DESC LIMIT $debut_affichage_genre, $nombre_resultats_genre");
   while( $genres = mysql_fetch_array($requete_genre)) {
   $bulle = $genres['commentaire'];
   
   // Système de bulle
?>
            
<li>               
               <div class="img-one-fourth">
                  <p class="fade-img" data-rel="zoom-icon"><a href=" http://***/Web/Films/Ajout_films/<?php echo $genres['image']; ?>" data-rel="prettyPhoto[mygallery]" title="<?php echo $genres['solution']; ?>"><img src=" http://***/Web/Films/Ajout_films/<?php echo $genres['image']; ?>"  width="150" height="200" alt="<?php echo $genres['solution']; ?>" title="" /></a></p>                              
               </div>      
               
      
                     
                                      
                        
                        <div class="portfolio-content">
                        <p><a href="fiche.php?film=<?php echo $genres['id']; ?>" class="button-small"><img src="images/notes/oeil.png" width="20" height="20" alt="voir"> Consulter</a></p>
                        
                        </div>
                       
                <div class="portfolio-content">
                        <p><a href="noter.php?id=<?php echo $genres['id']; ?>"><img src="images/notes/vote1.png" width="30" height="30" alt="Voter"></a></p>
                        
                        </div> <!-- .portfolio-content -->
           </li>
                
<?php

   }
   
   if($num_genre == NULL) { echo '<center>Messages</center>'; }
   
   //Affichage du nombres de pages
   if(is_numeric($_GET['page_genre']))
      {
       echo '<div id="container">
';
    
         
         
         $pages_genre= $_GET['page_genre'];
         if($_GET['page_genre'] != 1)
            {
               //$page_genre_p = $_GET['page_genre']-1;
               //echo "<a href=\"index.php?page_affichage=$i\"></a>";
            }

   $total_genre = ceil($num_genre/$nombre_resultats_genre);
   
      {
         
          echo'<div id="tnt_pagination"><a href="index.php?genre=$genre&page_genre='.$genre.'">Début</a>';
        
         if($page_genre>=10){$debut_genre=$page_genre-10;}else{$debut_genre=1;}//on vérifie que la page actuelle est supérieur a 5
                
                 if($pages_genre>$total_genre){header("Location: /404.html");}
            if($page_genre<=$num_genre){$fin_genre=$page_genre+10;}else{$fin_genre=$num_genre;}
         if($fin_genre>$total_genre){$fin_genre=$total_genre;}
                      
                  for ($i = $debut_genre; $i <= $fin_genre; $i++) {
                        if($page_genre==$i){
                                        echo'<span class="page_actuelle">'.$i.'</span>';
                        }
                        else{
                                        echo'<a href="index.php?genre='.$genre.'&page_genre='.$i.'"> '.$i.'</a>'; 
                        }
}
      
      
      }
       echo '<a href="index.php?genre='.$genre.'&page_genre='.$total_genre.'"><img src="images/icons/11889-Metalian-Avance.png" width="10" height="10" alt="droite"></a>';
       
   
       

echo '<form method="GET" action="">'; 
echo'<input type="hidden" name="genre" value="'.$genre.'">';
echo '<select class="pagination" name="page_genre" onChange="this.form.submit();">'; 
for ($i = 1; $i <= $total_genre; $i++) {
                        if($page_genre==$i){$sel='selected="selected"';}
                        else{$sel='';}
	echo'<option value="'.$i.'" '.$sel.'>Consulter la Page : '.$i.'</option>';
}
echo '</select>'; 
echo '<noscript><input type="submit" value="Changer" /></noscript>'; 
echo '</form></div></div>'; 



      }
}
 
 
 
j'ai ajoute une class
echo'<span class="page_actuelle">'.$i.'</span>';
faut modifie le css pour l'avoir comme les autres mais modifie le fond ou la couleur ;)

j'ai aussi modifie pour pas avoir plus de page et une redirection si la page et supérieur au résultat
Modifié en dernier par ghost5922 le 15 mai 2013, 23:15, modifié 3 fois.

Eléphant du PHP | 134 Messages

15 mai 2013, 20:37

Ok merci beaucoup :D

je viens rentrer du travail , ouf , je test et te tiens au courant.


Merci pour ton aide