Mammouth du PHP |
19672 Messages
08 août 2005, 17:50
Bon, d'abord, ton code remis à peu près droit, les explications suvent:
<?
require_once("connexion.php");
$connexion = mysql_connect($server, $user, $motdepasse);
echo "Connexion au serveur ". $connexion ? "réussie": "ratée";
$connexion2 = mysql_select_db($base);
echo "Connexion à la base ". $connexion2 ? "réussie": "ratée";
$debut = isset($_GET['debut']) ? $_GET['debut'] : 0;
$requete="select * from produit where nomfamille='horizontaux' order by nomproduit ASC LIMIT ". $debut .",1";
$resultat=mysql_query($requete,$connexion) or die ('Erreur : '.mysql_error() );
//echo $requete;
$nb_resultats = mysql_num_rows($resultat); // compte le nombre de résultats de la requète
echo $nb_resultats;
while ($ligne = mysql_fetch_array($resultat))
{
?>
<table border="1" bordercolor="#000000" width="95%" align="center">
<tr>
<td bgcolor="#00CC00">
<font face="Verdana, Arial, Helvetica, sans-serif" size="2"><b>Nom Produit</b></font>
</td>
<td>
<font face="Verdana, Arial, Helvetica, sans-serif" size="2"><b><?php echo $ligne["nomproduit"];?></font></b>
</td>
</tr>
<tr>
<?
if ($ligne["description"]!= "") //si le champ application de la table produit est vide
{
?>
<td bgcolor="#00CC00">
<font face="Verdana, Arial, Helvetica, sans-serif" size="2"><b>Description</b></font>
</td>
<td>
<font size="1" face="Verdana, Arial, Helvetica, sans-serif"><?php echo($ligne ["description"]);?></font>
</td>
<?
}
?>
</tr>
</table>
<?
if($debut == "0")
# si la variable "$debut" est égal à zéro, c'est que l'on est au début des résultats, alors on affiche
# seulement le bouton "suivants"
{
$debut = $debut + 1; // on ajoute 5 à la variable "$debut"
echo "<a href=\"page.php?debut=". $debut. "\"> Suivant </a>";
}
elseif($nb_resultats == 1 && $debut != 0)
# si le nombre de résultats est égal à 5 ET que la variable de début est différente de zéro, alors c'est que
# l'on est ni au début ni à la fin des résultats, donc on affiche les boutons "suivants" et précédents à la foi
{
$debut = $debut - 1; // on retire 5 à la variable "$debut"
echo "<a href=\"page.php?debut=". $debut ."\">Précédent </a> ";
$debut = $debut + 2; // ici, on rajoute 10 à "$debut", forcément car on à retiré 5 a cette variable deux lignes plus haut!
echo "<a href=\"page.php?debut=". $debut ."\">Suivant</a>";
}
elseif($nb_resultats < 1)
# si le nombre de résultats est inférieur à 5, alors c'est que l'on a atteint
# la fin des résultats, donc on affiche seulement le bouton "précedents"
{
$debut = $debut - 1; // on retire 5 à la variable "$debut"
echo "<a href=\"page.php?debut=". $debut ."\">Précédent</a>";
}
}
mysql_close();
?>
</div>
Où est ta variable fixant le nombre de ligne à afficher par page ?
Ensuite tu avais mis de + "2" ou des -"1" : les chiffres entre guillemets sont donc traités en chaine de caractère, les opérations ne peuvent pas fonctionner correctement.
Essaye déjà ça et ensuite on verra l'évolution des erreurs restantes.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse 