Aide classer resultat table par page

Résolu/Fermé
bretonm2004 Messages postés 319 Date d'inscription vendredi 9 mai 2008 Statut Membre Dernière intervention 30 août 2013 - 11 juil. 2010 à 15:57
bretonm2004 Messages postés 319 Date d'inscription vendredi 9 mai 2008 Statut Membre Dernière intervention 30 août 2013 - 13 juil. 2010 à 04:18
Bonjour,

voici mon script php pour afficher des petites annonces classés mais je n'arrive pas a a mettre par exemple 5 ou 10 résultat par page

pourriez vous m'aider

merci

voici mon code en question

while($row = mysql_fetch_array($req))
{
$id=$row['id']; $typedannonce=$row['typedannonce'];
$marque=$row['marque']; $autres=$row['autres'];
$modele=$row['modele']; $prix=$row['prix'];
$negociable=$row['negociable']; $annee=$row['annee'];
$etat=$row['etat']; $carburant=$row['carburant'];
$kilometrage=$row['kilometrage']; $transmission=$row['transmission'];
$immatricule=$row['immatricule']; $climatisation=$row['climatisation'];
$audio=$row['audio']; $cylindre=$row['cylindre'];
$puissance=$row['puissance']; $consommation=$row['consommation'];
$couleurinterieure=$row['couleurinterieure']; $couleurexterieure=$row['couleurexterieure'];
$email=$row['email']; $message=$row['message']; $date=$row['date']; $image=$row['image'];

$i=1;
echo "<table align='center' width='700' border='0'>
<tr>
<td width='114'>
<center>
<a href='photos/avendrenp/".$row['image1']." ' alt='Voir image en grand'>
<img src='photos/avendrenp/".$row['image1']." ' width='75' />
</a>
</center></td>
<td width='258' height='78'>".$marque." ".$autres." ".$modele." ".$annee." ".$negociable."</td>
<td align='center' width='147'>".$prix."</td>
<td align='center' width='153'>".$date."</td>
</tr>";

}


A voir également:

2 réponses

coccoweb Messages postés 141 Date d'inscription dimanche 20 décembre 2009 Statut Membre Dernière intervention 17 février 2015 27
12 juil. 2010 à 22:38
Voila essaye ça, je n'ai pas tester puisque je n'ai pas ta base de donnée mDr

<?php
/* On initialise les variables  */
$limit=5; // Donc 5 articles par page
// Sur quel page on est ?
if (isset($_GET['page']))
{
$page = intval($_GET['page']);
}
else
{
$page=0;
}
// Maintenant le navigateur de pages
// Affiche le page par page avec ses liens
// Variable nombre d'enreg par page
$debut=$page*$limit; // Debut est egale a page x limit donc page 2 sera egale a 10

mysql_connect('localhost', 'arrrrrr', 'rrrrr'); 
mysql_select_db("rrrrr"); 
$sql = "SELECT * FROM avendrepubliee ORDER BY id DESC LIMIT ".$debut.", ".$limit." "; 
$req = mysql_query($sql) or die(mysql_error()); 
$count = mysql_result(mysql_query("SELECT count(*) FROM avendrepubliee"), 0);

// Compte le nombre de champ
$nav_page=true; // J'indique une variable vide, car si je ne le fais pas, j'ai des erreurs
if ($page>0)
{
$precedent=$page-1;
$nav_page.='<a href="rechercheravendre.php?page='.$precedent.'">PRECEDENT</a>&nbsp;';
}
$i=0; // On initialise $i => Page
$j=1; // On initialise $j => La page afficher
if($count>$limit)
{
	while($i<ceil($count/$limit))
	{
	// C'est une page avant ou après la position actuel
	if($i!=$page){$nav_page.='<a href="rechercheravendre.php?page='.$i.'">'.$j.'</a>';}
	// C'est la page en cours
	else { $nav_page.="&nbsp;<b>".$j."</b>&nbsp;";}
	$i++;$j++;
	}
}
if($debut+$limit<$count)
{
$suivant=$page+1;
$nav_page.='&nbsp;<a href="rechercheravendre.php?page='.$suivant.'">SUIVANT</a>';
}
/* Fin initialisation */

echo "<table align='center' width='700' border='0'>";
while($row = mysql_fetch_array($req)) 
{ 
/* Tu n'est pas obligé de stocker tes tables dans des variables.
De plus a l'avenir tu risque d'utiliser des jointure, du moins je l'espere pour toi
et la tu risque de perdre une ligne.
*/
/*
$id=$row['id']; $typedannonce=$row['typedannonce']; 
$marque=$row['marque']; $autres=$row['autres']; 
$modele=$row['modele']; $prix=$row['prix']; 
$negociable=$row['negociable']; $annee=$row['annee']; 
$etat=$row['etat']; $carburant=$row['carburant']; 
$kilometrage=$row['kilometrage']; $transmission=$row['transmission']; 
$immatricule=$row['immatricule']; $climatisation=$row['climatisation']; 
$audio=$row['audio']; $cylindre=$row['cylindre']; 
$puissance=$row['puissance']; $consommation=$row['consommation']; 
$couleurinterieure=$row['couleurinterieure']; $couleurexterieure=$row['couleurexterieure']; 
$email=$row['email']; $message=$row['message']; $date=$row['date']; $image=$row['image']; 
*/
echo "<tr> 
<td width='114'> 
<center> 
<a href='photos/avendrenp/".$row['image1']." ' alt='Voir image en grand'> 
<img src='photos/avendrenp/".$row['image1']." ' width='75' /> 
</a> 
</center></td> 
<td width='258' height='78'>".$row['marque']." ".$row['autres']." ".$row['modele']." ".$row['annee']." ".$row['negociable']."</td> 
<td align='center' width='147'>".$row['prix']."</td> 
<td align='center' width='153'>".$row['date']."</td> 
</tr>"; 

} 
echo "</table>";
// Hop on affiche le navigateur
echo $nav_page;
?>


J'ai fais mon possible pour que se soit compréhensible
Si tu as des erreurs envois les ici
1
bretonm2004 Messages postés 319 Date d'inscription vendredi 9 mai 2008 Statut Membre Dernière intervention 30 août 2013 2
13 juil. 2010 à 04:14
hop c est genial mais il y a un petit hic quand je clique sur la page 2 voila ca que ca m affiche
Page Web introuvable
0
bretonm2004 Messages postés 319 Date d'inscription vendredi 9 mai 2008 Statut Membre Dernière intervention 30 août 2013 2
13 juil. 2010 à 04:14
sinon le script affiche bien les numetro de page et le suivant j'attend de tes nouvelles merci
0
coccoweb Messages postés 141 Date d'inscription dimanche 20 décembre 2009 Statut Membre Dernière intervention 17 février 2015 27
Modifié par coccoweb le 11/07/2010 à 19:07
Dans ta requete SQL tu as LIMIT 0, 30 habituellement

Traduit en français ça dit LIMIT A partir de, j'affiche autant de résultat

Si tu veux afficher les 5 premiers résultat tu par de 0 et tu affiche 5 donc LIMIT 0, 5

Tu es maintenant sur ta seconde pages :

$ellement_par_page = 5;

$page = 2; // Que tu récupère en GET ou POST
/* moins 1 parce que le départ est 0 */
$cette_page = $page - 1; // ici 1

/* Math */
// On calcul le départ pour afficher

// donc 1 * 5 = 5
$affiche_page=$cette_page * $ellement_par_page;

// ici il démarre a 5 et affiche les 5 entrés suivante.
$requete = "SELECT * FORM 'ma_table' LIMIT ".$affiche_page." , ".$ellement_par_page." ";
0
bretonm2004 Messages postés 319 Date d'inscription vendredi 9 mai 2008 Statut Membre Dernière intervention 30 août 2013 2
11 juil. 2010 à 20:40
dsl mais je ne cmprend pas tres bien

merci
0
coccoweb Messages postés 141 Date d'inscription dimanche 20 décembre 2009 Statut Membre Dernière intervention 17 février 2015 27
Modifié par coccoweb le 11/07/2010 à 20:55
Tu coince ou ?
Limite toi a la première parti.
Le script plus bas sera pour après
0
bretonm2004 Messages postés 319 Date d'inscription vendredi 9 mai 2008 Statut Membre Dernière intervention 30 août 2013 2
11 juil. 2010 à 20:55
je ne comprend pas concretement comment je doit m 'y prendre dsl c'est la premiere fois que j'ai a faire ca
0
coccoweb Messages postés 141 Date d'inscription dimanche 20 décembre 2009 Statut Membre Dernière intervention 17 février 2015 27
11 juil. 2010 à 20:59
un requete standard est comme ca

SELECT * FORM 'ma_table' LIMIT 0, 30

Donc : prend tout dans ma_table en commencant a 0 et affichant 30 lignes

Si tu avais mis :
SELECT * FORM 'ma_table' LIMIT 0, 5

Tu demande les 5 lignes en commancant de 0

Ca va toujours pour toi ?
0
bretonm2004 Messages postés 319 Date d'inscription vendredi 9 mai 2008 Statut Membre Dernière intervention 30 août 2013 2
11 juil. 2010 à 21:14
oui ce bout la je le connait deja mon probleme c'est pour faire les bouton en bas
0