par
auclairp » 23 mai 2007, 22:05
Ok j'ai essayer un des script... mais ca marche pas vraiment. le problème vient du comptage du nombre de résultats.
voici...
<?
// SÉLECTION 10 DERNIER //
if(isset($_POST['dernier']))
{
$order = $_POST['order'];
$showimg = "oui";
$showinfo = "oui";
$afficher1 = 1;
$champs = "description.code, description.nom, description.nomfr, description.genre, description.description, description.video, loan.loanto, loan.date_out, loan.attente"; $nom_table = "loan RIGHT JOIN description";
$nom_table = "loan RIGHT JOIN description ON description.code=loan.code";
$order_by = "code DESC";
$limite = "LIMIT 10";
$where = " ";
}
// SÉLECTION RECHERCHE PAR MOTS CLEFS //
if(isset($_POST['rechercher'])) // POST RECHERCHER
{
$afficher1 = 1;
$showimg = "oui";
$showinfo = "oui";
$order = "code";
$keywords = $_POST["recherche"];
$champs = "description.code, description.nom, description.nomfr, description.genre, description.description, description.video, loan.loanto, loan.date_out, loan.attente";
$nom_table = "loan RIGHT JOIN description ON description.code=loan.code";
$where = "description.code LIKE '%".$keywords."%' OR description.nom LIKE '%".$keywords."%' OR description.nomfr LIKE '%".$keywords."%' OR loan.loanto LIKE '%".$keywords."%'";
$order_by = "code DESC";
$limite = "";
} // IF RECHERCHER
else {}
if($afficher1 == 1)
{
//Pages par Pages
$nb_results_p_page = 10; // nombre de résultats par page
$courant = empty($_GET['page']) ? 1 : $_GET['page']; // page
$start = ($courant - 1) * $nb_results_p_page; // start (requete mysql)
// comptage du nombre de lignes de la base
$result1 = mysql_query("SELECT ".$champs." FROM ".$nom_table." WHERE ".$where."");
$ret = mysql_fetch_array($result1);
// nombre de lignes
$nb_results = $ret[0];
// requete
$result = mysql_query("SELECT ".$champs." FROM ".$nom_table." WHERE ".$where." ORDER BY ".$order_by." LIMIT $start, $nb_results_p_page");
// nombre total de pages
$nb_pages = ceil($nb_results / $nb_results_p_page);
// page précédente
if($courant > 1)
echo '<a href="search.php?page=' . ($courant - 1) . '">Précédente</a> ';
// page suivante
if($courant < $nb_pages)
echo '<a href="search.php?page=' . ($courant + 1) . '">Suivante</a> ';
?>
<tr class="onglet">
<td class="dvd-image"></td>
<td class="dvd-code">CODE</td>
<td class="dvd-titre">TITRE</td>
<td class="dvd-genre">GENRE</td>
<td class="dvd-loan">LOUER À</td>
</tr>
<?
}
if (mysql_num_rows($resultat) >= 1)
echo "$result";
while ($rows=mysql_fetch_array($result))
{
?>
et ma requête s'affiche pas de problème, avec le limit inclus, mais j'ai pas les "suivant" "précédant" ???
Merci de votre aide
Ok j'ai essayer un des script... mais ca marche pas vraiment. le problème vient du comptage du nombre de résultats.
voici...
[php]
<?
// SÉLECTION 10 DERNIER //
if(isset($_POST['dernier']))
{
$order = $_POST['order'];
$showimg = "oui";
$showinfo = "oui";
$afficher1 = 1;
$champs = "description.code, description.nom, description.nomfr, description.genre, description.description, description.video, loan.loanto, loan.date_out, loan.attente"; $nom_table = "loan RIGHT JOIN description";
$nom_table = "loan RIGHT JOIN description ON description.code=loan.code";
$order_by = "code DESC";
$limite = "LIMIT 10";
$where = " ";
}
// SÉLECTION RECHERCHE PAR MOTS CLEFS //
if(isset($_POST['rechercher'])) // POST RECHERCHER
{
$afficher1 = 1;
$showimg = "oui";
$showinfo = "oui";
$order = "code";
$keywords = $_POST["recherche"];
$champs = "description.code, description.nom, description.nomfr, description.genre, description.description, description.video, loan.loanto, loan.date_out, loan.attente";
$nom_table = "loan RIGHT JOIN description ON description.code=loan.code";
$where = "description.code LIKE '%".$keywords."%' OR description.nom LIKE '%".$keywords."%' OR description.nomfr LIKE '%".$keywords."%' OR loan.loanto LIKE '%".$keywords."%'";
$order_by = "code DESC";
$limite = "";
} // IF RECHERCHER
else {}
if($afficher1 == 1)
{
//Pages par Pages
$nb_results_p_page = 10; // nombre de résultats par page
$courant = empty($_GET['page']) ? 1 : $_GET['page']; // page
$start = ($courant - 1) * $nb_results_p_page; // start (requete mysql)
// comptage du nombre de lignes de la base
$result1 = mysql_query("SELECT ".$champs." FROM ".$nom_table." WHERE ".$where."");
$ret = mysql_fetch_array($result1);
// nombre de lignes
$nb_results = $ret[0];
// requete
$result = mysql_query("SELECT ".$champs." FROM ".$nom_table." WHERE ".$where." ORDER BY ".$order_by." LIMIT $start, $nb_results_p_page");
// nombre total de pages
$nb_pages = ceil($nb_results / $nb_results_p_page);
// page précédente
if($courant > 1)
echo '<a href="search.php?page=' . ($courant - 1) . '">Précédente</a> ';
// page suivante
if($courant < $nb_pages)
echo '<a href="search.php?page=' . ($courant + 1) . '">Suivante</a> ';
?>
<tr class="onglet">
<td class="dvd-image"></td>
<td class="dvd-code">CODE</td>
<td class="dvd-titre">TITRE</td>
<td class="dvd-genre">GENRE</td>
<td class="dvd-loan">LOUER À</td>
</tr>
<?
}
if (mysql_num_rows($resultat) >= 1)
echo "$result";
while ($rows=mysql_fetch_array($result))
{
?>
[/php]
et ma requête s'affiche pas de problème, avec le limit inclus, mais j'ai pas les "suivant" "précédant" ???
Merci de votre aide