affichage page par page
Posté : 29 sept. 2011, 12:27
Bonjour je viens vers vous pour un problème, j'interroge une bdd conséquente (environ 200 lignes) avec une 20aine de champs et je souhaite mettre en place la fonction LIMIT afin que mon moteur de recherche n'affiche que 1 ligne par page et avoir un bouton
-page 1- -page 2- -page 3- ...
j'ai essayé de suivre le tuto sur http://www.phpdebutant.org/article84.php
mais je n'arrive pas à le modifier pour le mettre sur ma ligne de code pour le rendre opérationnel je souhaiterai avoir des conseils. et je m'énerve car je ne comprends pas. et cette suite de code me provoque des problèmes.
1 : où placer les codes dans la page
2 : comment modifier mes requêtes SQL.
3 : Pourqoi est-ce que ce code ne marche pas
Merci d'avance
je vous joins un bout de code ci-dessous
-page 1- -page 2- -page 3- ...
j'ai essayé de suivre le tuto sur http://www.phpdebutant.org/article84.php
mais je n'arrive pas à le modifier pour le mettre sur ma ligne de code pour le rendre opérationnel je souhaiterai avoir des conseils. et je m'énerve car je ne comprends pas. et cette suite de code me provoque des problèmes.
$verifLimite= verifLimite($limite,$total,$nombre);
// si la limite passée n'est pas valide on la remet à zéro
if(!$verifLimite) {
$limite = 0;
}
Mes questions sont les suivantes1 : où placer les codes dans la page
2 : comment modifier mes requêtes SQL.
3 : Pourqoi est-ce que ce code ne marche pas
Merci d'avance
je vous joins un bout de code ci-dessous
<?php
mysql_connect("", "", ""); //connexion à la BDD
mysql_select_db("");
if (isset($_POST['rechercher'])) //si on a validé le formulaire
{
$recherche = mysql_real_escape_string(htmlspecialchars($_POST['recherche'])); //sécurisation des variables
$mode = mysql_real_escape_string(htmlspecialchars($_POST['mode']));
if ($mode == "tous_les_mots")
{
$and_ou_or = 'AND'; //on utilisera AND dans la boucle
}
else
{
$and_ou_or = 'OR'; //on utilisera OR dans la boucle
}
if ($mode == "expression_exacte") //si le mode de recherche est par expression exacte
{
$selection_recherche = mysql_query("SELECT * FROM metadata WHERE search LIKE '%$recherche%' ORDER BY titre");
}
else //si le mode de recherche n'est pas par expression exacte
{
$mots = explode(" ", $recherche); //séparation des mots
$nombre_mots = count ($mots); //comptage du nombre de mots
$valeur_requete = '';
for($nombre_mots_boucle = 0; $nombre_mots_boucle < $nombre_mots; $nombre_mots_boucle++) //tant que le nombre de mots de la recherche est supérieur à celui de la boucle, on continue en incrémentant à chaque fois le nombre de mots
{
$valeur_requete .= '' . $and_ou_or . ' search LIKE \'%' . $mots[$nombre_mots_boucle] . '%\''; //modification de la variable $valeur_requete
}
$valeur_requete = ltrim($valeur_requete,$and_ou_or); //suppression de AND ou de OR au début de la boucle
$selection_recherche = mysql_query("SELECT * FROM metadata WHERE $valeur_requete "); //requête contenant le résultat de la boucle
}
$nombre_resultats = mysql_num_rows($selection_recherche); //comptage du nombre d'entrées sélectionnées par la recherche
if ($nombre_resultats == 0) //s'il n'y a pas de résultat
{
echo 'Il n y a aucun résultat correspondant effectuez une nouvelle recherche. <a href="index.php">Recommencer</a>';
}
else //il y a au moins un résultat
{
echo "<font face='Verdana' size='3' font color='#222222'><br /> résultats correspondants : " . $nombre_resultats . "<font face='Verdana' size='2'><br />"; //nombre de résultats
"<font face='Verdana' size='2'><br />"; //nombre de résultats
echo'<br/><a href="index.php">Nouvelle recherche</a><br/>';
while($resultats = mysql_fetch_array($selection_recherche) ) //boucle affichant les résultats
{
echo
'<br />'.
'<br /><font size="4" font color="#8B0000"><strong>_____________'. $resultats['titre'] .''.
'<br /><br /><font size="2" font color="#808080"><strong>__________1. INFORMATIONS SUR ' .$resultats['titre'] . '</strong></strong>
'<br /><font size="2" font color="#808080">____________________1.1 Identification</strong></strong>
'<br /><font size="2" font color="#8B0000"><strong> Titre : <font size="2" font color="#000000"></strong> ' . $resultats['titre'] .
'<br /></strong><font size="2" font color="#8B0000"><strong> Description : </strong><font size="2" font color="#000000"> ' . $resultats['Description'] .
}
echo '<a href="index.php">Nouvelle recherche</a>';
}
}
else //si on n'a pas validé le formulaire, on l'affiche
{
<?php
}
mysql_close(); //déconnexion de la BDD
?>