Bonjour à tous !
Je suis débutante à php et je me forme sur un site (qui tourne en local) d'annonces immobilières. J'ai un problème de pagination, il y a sans aucun doute une ou plusieurs erreurs dans mon code que je ne vois pas... Si quelqu'un pouvait jeter un oeil à mon code et me donner son avis, cela m'aiderait beaucoup car je bloque sur ce problème depuis plusieurs jours... en fait maintenant je ne sais plus par quel bout prendre le problème.
Désolée je sais que cette question a été posée 1000 fois mais je n'y arrive pas...
Voici mon code :
<?php
//connexion
$liaison = mysql_connect("localhost","root","") or die("erreur de connexion au serveur $host");
mysql_select_db("century21");
//Récupération le contenu de la requête dans $req1
$req1 = mysql_query('SELECT COUNT(*) AS total FROM annonce');
//On range retour sous la forme d'un tableau.
$donnees_total=mysql_fetch_assoc($req1);
//On récupère le total pour le placer dans la variable total.
$total=$donnees_total['total'];
//Nous allons afficher 5 messages par page.
$messagesParPage=5;
//Nous allons maintenant compter le nombre de pages et en faire un chiffre rond.
$nombreDePages=ceil($total/$messagesParPage);
// Si la variable $_GET['page'] existe...
if(isset($_GET['page']))
{
$pageActuelle=intval($_GET['page']);
// Si la valeur de $pageActuelle (le numéro de la page) est plus grande que $nombreDePages...
if($pageActuelle>$nombreDePages)
{
$pageActuelle=$nombreDePages;
}
}
else
{
// La page actuelle est la n°1
$pageActuelle=1;
}
// On calcule la première entrée à lire
$premiereEntree=($pageActuelle-1)*$messagesParPage;
// requete de sélection de toutes les annonces 'Vente' classé de manière décroissante
$req2 = mysql_query('SELECT * FROM annonce WHERE annonce_le_type!="Location" ORDER BY id DESC LIMIT '.$premiereEntree.','.$messagesParPage.'');
$annonces = mysql_query($req2);
mysql_close($liaison);
$compteur=0;$dernier_id=0;
@$img_type = "";
@$annonce_id = ""; //annonce_id
@$la_ref = ""; //annonce_la_ref
@$la_transaction = ""; //annonce_le_type
@$le_bien = ""; //annonce_le_bien
@$le_dep = ""; //annonce_le_dpt
@$le_prix = ""; //annonce_le_prix
@$lactivite = ""; //annonce_lactivite
//Boucle
while(($annonce=mysql_fetch_assoc($annonces))!==false){
$annonce_id=$annonce["annonce_id"];
$la_ref=$annonce["annonce_la_ref"];
$la_transaction=$annonce["annonce_le_type"];
$le_bien=$annonce["annonce_le_bien"];
$le_dep=$annonce["annonce_le_dpt"];
$le_prix=$annonce["annonce_le_prix"];
$lactivite=$annonce["annonce_lactivite"];
$la_photo=$annonce["annonce_les_photos"];
$img_type = array();
$img_type[] = 'alimentaire.jpg';
$img_type[] = 'autre.jpg';
$img_type[] = 'bar.jpg';
$img_type[] = 'boutique.jpg';
$img_type[] = 'cafe-salon-de-the.jpg';
$img_type[] = 'hotel.jpg';
$img_type[] = 'pme.jpg';
$img_type[] = 'restaurant.jpg';
$img_type[] = 'restauration-rapide.jpg';
$img_type[] = 'services.jpg';
$img_type[] = 'tabac.jpg';
@$le_titre = $lactivite." - ".$le_dep." - ".$la_transaction." - ".$le_bien;
//echo $annonce_id;
echo("<table class='table_annonce' style='width:540px;' cellpadding='0' cellspacing='0'>");
echo("<tr><td class='titre_annonce' style='width:540px;height:20px;' colspan='3'><a href='annonce-danton-immobilier?$annonce_id' target='_self' title='Détail de l annonce'>".$le_titre."</a></td></tr>");
echo("<tr><td style='width:180px;height:120px;' rowspan='3'>");
switch($lactivite)
{
case "Alimentaire":
echo("<a href='annonce-danton-immobilier?$annonce_id' target='_self' title='Détail de l annonce'><img src='wp-content/themes/zeebusiness/img-type/alimentaire.jpg' alt='alimentaire' /></a>");
break;
case "Bar brasserie":
echo("<a href='annonce-danton-immobilier?$annonce_id' target='_self' title='Détail de l annonce'><img src='wp-content/themes/zeebusiness/img-type/bar.jpg' alt='bar' /></a>");
break;
case "Commerce détail boutique":
echo("<a href='annonce-danton-immobilier?$annonce_id' target='_self' title='Détail de l annonce'><img src='wp-content/themes/zeebusiness/img-type/boutique.jpg' alt='boutique' /></a>");
break;
case "Café hotel restaurant":
echo("<a href='annonce-danton-immobilier?$annonce_id' target='_self' title='Détail de l annonce'><img src='wp-content/themes/zeebusiness/img-type/cafe-salon-de-the.jpg' alt='cafe-salon-de-the' /></a>");
break;
case "Hotel":
echo("<a href='annonce-danton-immobilier?$annonce_id' target='_self' title='Détail de l annonce'><img src='wp-content/themes/zeebusiness/img-type/hotel.jpg' alt='cafe-salon-de-the' /></a>");
break;
case "Pme":
echo("<a href='annonce-danton-immobilier?$annonce_id' target='_self' title='Détail de l annonce'><img src='wp-content/themes/zeebusiness/img-type/pme.jpg' alt='pme' /></a>");
break;
case "Restaurant":
echo("<a href='annonce-danton-immobilier?$annonce_id' target='_self' title='Détail de l annonce'><img src='wp-content/themes/zeebusiness/img-type/restaurant.jpg' alt='restaurant' /></a>");
break;
case "Restauration rapide":
echo("<a href='annonce-danton-immobilier?$annonce_id' target='_self' title='Détail de l annonce'><img src='wp-content/themes/zeebusiness/img-type/restauration-rapide.jpg' alt='restauration-rapide' /></a>");
break;
case "Services":
echo("<a href='annonce-danton-immobilier?$annonce_id' target='_self' title='Détail de l annonce'><img src='wp-content/themes/zeebusiness/img-type/services.jpg' alt='services' /></a>");
break;
case "Tabac presse loto":
echo("<a href='annonce-danton-immobilier?$annonce_id' target='_self' title='Détail de l annonce'><img src='wp-content/themes/zeebusiness/img-type/tabac.jpg' alt='tabac' /></a>");
break;
default:
echo("<a href='annonce-danton-immobilier?$annonce_id' target='_self' title='Détail de l annonce'><img src='wp-content/themes/zeebusiness/img-type/autre.jpg' alt='autre activite' /></a>");
break;
}
echo("</td>");
echo("<td class='ref_annonce' style='width:180px;height:40px;'>Réf : ".$la_ref."</td>");
echo("<td class='prix_annonce' style='width:180px;height:40px;'>".$le_prix." euros </td></tr>");
echo("<td valign='top' style='width:360px;height:60px;' colspan='2'><ul><li>- Département ".$le_dep."</li>");
echo("<li>- Activité : ".$lactivite."</li>");
echo("<li>- Type de bien : ".$le_bien."</li>");
echo("<li>- ".$la_transaction."</li></ul></td></tr>");
echo("<td class='detail' style='width:360px;height:20px;' colspan='2'><a href='annonce-danton-immobilier?$annonce_id' target='_self' title='Détail de l annonce'>Détails</a></td></tr>");
echo("</table><br /> ");
$compteur++;
}
?>