Aller au contenu

Decoupe de resultat d'une requête sql


Sujets conseillés

Posté

Salut.

j'ai fais un site sur lequel j'ai besoin d'afficher le contenu d'une table sql qui contient mes produits.

Mais j'ai 150 produits, donc cela m'affiche tous les produits sur la meme page ce qui n'est pas une bonne chose.

Je cherche donc a decouper le resultat en plusieurs segments, afficher 7 resultats par page par exemple.

Donc pouvoir proposer /page suivante >

Comment faire, une idée ? merci.

Posté

Il va falloir que tu fasse cela par toi même.

Tu calcule le nombre de pages (nombre d'articles / nombre d'articles par part arrondi à l'entier supérieur)

Puis, pour chaque page, tu récupère le premier enregistrement (numéro de page * nombre d'articles par page)

Et celui du dernier enregistrement (premier enregistrement + nombre d'articles par page)

Et tu joue avec, dans ta requete SQL, les LIMIT $start, $end.

Posté

salut

pour te mettre sur la voie

tu accede la base de donnee

tu cree un tabelau pour classer les articles

tu defini une valeur de page a zero

tu defini une valeur d'article a zero

esnuite tu demande l'affichage des article en augmentant de 1

tu indique que quant le nombre d article est a x tu passe a une autre page en ajjoutant 1 a la valeur de la page

en code cela donne un truc du genre

//Creation tableau - Tout stocker dans un seul tableau.
$result = $db->sql_query("SELECT article FROM le nom de ta table WHERE article='$article' ORDER BY identifiant");
$indArticle = 0;
$tabArticle = "";
while ( $row = mysql_fetch_array($result) )
{

$tabArticle[$indArticle]['identifiant'] = intval($row['identifiant']);
$indArticle++;
}
$nbArticleTotal = $indArticle;
// Récupération du numéro de page.
$num_page = $HTTP_GET_VARS['numPage'];
if( $num_page == "" ) $num_page = 1;

// Calcul du début et de la fin de l'affichage.
$nbArticleParPage = 3;// la c'est 3
$debutAffichage = ($num_page - 1) * $nbArticleParPage;
$finAffichage = $num_page * $nbArticleParPage;

// Affichage des données.
for( $indArticle = $debutAffichage; $indArticle < $finAffichage; $indArticle++ )
{
echo " ta mise en page avec tes valeurs";
}

$sid = $tabArticle[$indArticle]['sid'];
}
if( $num_page == 1 )
{
echo "<a href='ta page.php=".($num_page+1).">Suite</a><br>";
}
// Affichage du lien suite.
if( $num_page > 1 )
{
echo "<a href='ta page.php=".($num_page-1)."'>Retour</a> ";
}
if (
($num_page*$nbArticleParPage)<$nbArticleTotal)
echo "<a href='ta page =".($num_page+1)."'>Suite</a>";
}
}

heu j'espere que cela t'aidera mais c'est a tester

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...