Page 1 sur 1

problème affichage sql sur plusieurs pages

Posté : 29 juil. 2010, 11:19
par zenso
Bonjour à tous !

J'ai un soucis avec mon affichage sql sur plusieurs pages qui fonctionne très bien sur mon site Free mais ne fonctionne pas sur mon nouvel hébergeur (OVH) alors qu'il s'agit d'exactement les mêmes pages et la même BDD.
Il m'affiche bien mes 5 premiers résultats, les liens existent bien en dessous des résultats par contre dès que je clique sur l'un d'entre eux, les résultats restent toujours les 5 premiers alors que l'url affiche :
"http://www.***.com/***.php?limite=5&PHPSESSID=b5c5eb49fec3bb893999b23214ef8a77" lors de la première visite du site par le navigateur ou bien "http://www.***.com/***.php?limite=5" par la suite.
En début de chaque page j'ai un :
<?php
session_start();
?>
Voici mon code qui me pose maintenant soucis : :oops:
mysql_free_result($result);


$limitesuivante = $limite + $nombre;
$limiteprecedente = $limite - $nombre;

function affichePages($nombre,$page,$total) {
        $nbpages=ceil($total/$nombre);// 5 est le résultat par page
        $numeroPages = 1;
        $compteurPages = 1;
        $limite  = 0;
        while($numeroPages <= $nbpages) {
        echo '<span class="numPage"><a href = "'.$page.'?limite='.$limite.'">'.$numeroPages.'</a></span>';
		echo '<style type="text/css">.numPage a{color:blue;font-weight:bold;margin:5px;}</style>';
		echo '<style type="text/css">.numPage a:hover{background-color:gray;}</style>';
        $limite = $limite + 5;// 5 est le résultat par page
        $numeroPages = $numeroPages + 1;
        $compteurPages = $compteurPages + 1;
            if($compteurPages == 10) {
            $compteurPages = 1;
            }
        }
        
}
echo "<center>";
if($limite != 0) {
	echo '<span class="enLigne"><a href="'.$page.'?limite='.$limiteprecedente.'">Page précédente</a></span>';
	echo '<style type="text/css">.enLigne a{color:blue;display:inline;padding:10px;}</style>';
	
}
affichePages($nombre,$page,$total);
if($limitesuivante < $total) {
	echo '<span class="enLigne"><a href="'.$page.'?limite='.$limitesuivante.'">Page Suivante</a></span>';
	echo '<style type="text/css">.enLigne a{color:blue;display:inline; padding:10px;}</style>';
}
echo "</center>";

Quelqu'un aurait-il une réponse pour moi s'il vous plaît, vous l'aurez certainement compris, je suis débutant ! :D

Re: problème affichage sql sur plusieurs pages

Posté : 29 juil. 2010, 11:55
par ouckileou
Fait afficher la requête SQL exécutée à chaque fois, et teste la.

Re: problème affichage sql sur plusieurs pages

Posté : 30 juil. 2010, 18:17
par zenso
Fait afficher la requête SQL exécutée à chaque fois, et teste la.

Que veux-tu dire par teste-la ! L'afficher avec des echo y'a pas de soucis, mais tester ??? Merci de ton aide !

Re: problème affichage sql sur plusieurs pages

Posté : 30 juil. 2010, 18:21
par zenso
Le code qui précède est le suivant :
$link = mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error() );
mysql_select_db($db) or die ('Erreur :'.mysql_error());

$nombre = 5;  // on va afficher 5 résultats par page.
if (!isset($limite)) $limite = 0; // si on arrive sur la page pour la première fois 
               // on met limite à 0.
    
$path_parts = pathinfo($_SERVER['PHP_SELF']);
$page = $path_parts['basename'];

$select = 'SELECT count(*) FROM film';

$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );

$row = mysql_fetch_row($result);

$total = $row[0];

// requête SQL qui ne prend que le nombre d'enregistrements nécessaire à l'affichage.

$select = 'select * from film limit '.$limite.','.$nombre;

$result = mysql_query($select,$link)  or die ('Erreur : '.mysql_error() );

// si on a récupéré un résultat on l'affiche.
if($total) {
	
	while($row = mysql_fetch_array($result))
					{
						echo "<div id='annon'>";
							echo "<div id='annonH'>";
							echo "<center>&nbsp; &nbsp; &nbsp; N&#176; :".$row['nofilm'];
							echo "&nbsp; &nbsp; &nbsp; &nbsp; Titre :".$row['titre'];
							echo "</center>";
							echo "</div>"; // fin annonH
							echo "<div id='annonB'>";
							echo "<center>&nbsp; &nbsp; &nbsp;Ann&eacute;e :".$row['annee'];
							echo "&nbsp; &nbsp; &nbsp; &nbsp;<a href=\" reserv02.php?nofilm='".$row['nofilm']."'&titre='".$row['titre']."'&annee='".$row['annee']."'&nogenre='".$row['nogenre']."'&affiche='".$row['affiche']."' \">R&eacute;server</a></center>";
							echo "</div>"; //fin annonB
						echo "</div>"; //fin annon						
					}

Re: problème affichage sql sur plusieurs pages

Posté : 30 juil. 2010, 20:03
par ouckileou
Ah je voulais dire directement sur la base, phpMyAdmin par exemple, pour controler facilement si déjà elle est construite correctement à chaque fois