$var = 'a';
if($var == 'b')
echo 'Un';
echo 'Deux';
Va t'afficher : Deux<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1250">
<link rel="stylesheet" TYPE="text/css" href="css/style.css" />
</head>
<body>
<table width="560" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>
Nos tissus :
</td>
</tr>
</table>
<?php
function pagination($current = '', $nb_page = '', $link = '', $arround=3, $firstLast=1) {
$value = '?menu=4&cat='.$_GET['cat'].'&page=%d';
$link = (empty($link)) ? $value : $link;
$pagination = '';
if (!ereg('%d', $link)) $link .= '%d';
if ($nb_pages > 1) {
// Lien précédent
if ($current_page > 1)
$pagination .= '<a class="prevnext" href="'.sprintf($link, $current_page-1).'" title="Page précédente">« Précédent</a>';
else
$pagination .= '<span class="prevnext disabled">« Précédent</span>';
// Lien(s) début
for ($i=1 ; $i<=$firstlast ; $i++) {
$pagination .= ' ';
$pagination .= ($current_page==$i) ? '<span class="current">'.$i.'</span>' : '<a href="'.sprintf($link, $i).'">'.$i.'</a>';
}
// ... après pages début ?
if (($current_page-$around) > $firstlast+1)
$pagination .= ' …';
// On boucle autour de la page courante
$start = ($current_page-$around)>$firstlast ? $current_page-$around : $firstlast+1;
$end = ($current_page+$around)<=($nb_pages-$firstlast) ? $current_page+$around : $nb_pages-$firstlast;
for ($i=$start ; $i<=$end ; $i++){
$pagination .= ' ';
if ($i==$current_page)
$pagination .= '<span class="current">'.$i.'</span>';
else
$pagination .= '<a href="'.sprintf($link, $i).'">'.$i.'</a>';
}
// ... avant page nb_pages ?
if (($current_page+$around) < $nb_pages-$firstlast)
$pagination .= ' …';
// Lien(s) fin
$start = $nb_pages-$firstlast+1;
if($start <= $firstlast) $start = $firstlast+1;
for ($i=$start ; $i<=$nb_pages ; $i++){
$pagination .= ' ';
$pagination .= ($current_page==$i) ? '<span class="current">'.$i.'</span>' : '<a href="'.sprintf($link, $i).'">'.$i.'</a>';
}
// Lien suivant
if ($current_page < $nb_pages)
$pagination .= ' <a class="prevnext" href="'.sprintf($link, ($current_page+1)).'" title="Page suivante">Suivant »</a>';
else
$pagination .= ' <span class="prevnext disabled">Suivant »</span>';
}
return $pagination;
}
// Numero de page (1 par défaut)
if(isset($_GET['page']) && is_numeric($_GET['page']))
$page = $_GET['page'];
else
$page = 1;
// Nombre d'info par page
$pagination = 35;
// Numéro du 1er enregistrement à lire
$limit_start = ($page - 1) * $pagination;
// Nb d'enregistrement total
Connect_mySql();
$nb_total = mysql_query('SELECT COUNT(*) AS nb_total FROM article WHERE supArt='.$_GET['cat'].'');
$nb_total = mysql_fetch_array($nb_total);
$nb_total = $nb_total['nb_total'];
// Pagination
$nb_pages = ceil($nb_total / $pagination);
// liste des articles
Connect_mySql();
$query = "SELECT * FROM article WHERE supArt = ".$_GET['cat']." ORDER BY image ASC LIMIT ".$limit_start.",".$pagination;
$result = mysql_query($query) or die("<font color='#006600'> Erreur sur la page affiche_liste_art.php - (ligne 83).</font>");
$i = 0;
while($row = mysql_fetch_row($result)) {
$i++;
?>
<div class="content">
<a href="<?php echo $_SERVER['PHP_SELF']; ?>?menu=4&art=<?php echo $row[0]; ?>"><img src="./admin/media_tissus/<?php echo $row[12]; ?>" title="<?php echo $row[3]; ?> €/m" border="0" width="75" height="60" /></a>
<br />
<center><?php echo $row[1]; ?></center>
</div>
<?php
}
mysql_close();
?>
<div class="pagination">
<?php
$page = (isset($page)) ? trim($page) : null;
$nb_pages = (isset($nb_pages)) ? trim($nb_pages) : null;
if(!empty($page) && !empty($nb_pages)) {
echo pagination($page, $nb_pages);
}
else {
echo 'Lien Invalide';
}
?>
</div>
</body>
</html>
merci d'avanceJe crois me souvenir, d'après ton premier post, que tu n'as fais qu'ajouter le $_GET. Si le scriptbesoin d'aide, je dois m'embrouiller les pinceaux quelque part.
j'ai essayé, réessayé et réréessayé mais KO, je ni arrive pas
je post à nouveau le code, si quelqu'un peut m'aider a placer les accolades } car je commence a desespèrer
merci d'avance
function pagination($current = '', $nb_page = '', $link = '', $arround=3, $firstLast=1) {
$value = '?menu=4&cat='.$_GET['cat'].'&page=%d';
$link = (empty($link)) ? $value : $link;
function pagination($current_page, $nb_pages, $link='?menu=4&cat=2&page=%d', $around=3, $firstlast=1){
$pagination = '';
if (!ereg('%d', $link)) $link .= '%d';
if ($nb_pages > 1) {
// Lien précédent
if ($current_page > 1)
$pagination .= '<a class="prevnext" href="'.sprintf($link, $current_page-1).'" title="Page précédente">« Précédent</a>';
else
$pagination .= '<span class="prevnext disabled">« Précédent</span>';
// Lien(s) début
for ($i=1 ; $i<=$firstlast ; $i++) {
$pagination .= ' ';
$pagination .= ($current_page==$i) ? '<span class="current">'.$i.'</span>' : '<a href="'.sprintf($link, $i).'">'.$i.'</a>';
}
// ... après pages début ?
if (($current_page-$around) > $firstlast+1)
$pagination .= ' …';
// On boucle autour de la page courante
$start = ($current_page-$around)>$firstlast ? $current_page-$around : $firstlast+1;
$end = ($current_page+$around)<=($nb_pages-$firstlast) ? $current_page+$around : $nb_pages-$firstlast;
for ($i=$start ; $i<=$end ; $i++){
$pagination .= ' ';
if ($i==$current_page)
$pagination .= '<span class="current">'.$i.'</span>';
else
$pagination .= '<a href="'.sprintf($link, $i).'">'.$i.'</a>';
}
// ... avant page nb_pages ?
if (($current_page+$around) < $nb_pages-$firstlast)
$pagination .= ' …';
// Lien(s) fin
$start = $nb_pages-$firstlast+1;
if($start <= $firstlast) $start = $firstlast+1;
for ($i=$start ; $i<=$nb_pages ; $i++){
$pagination .= ' ';
$pagination .= ($current_page==$i) ? '<span class="current">'.$i.'</span>' : '<a href="'.sprintf($link, $i).'">'.$i.'</a>';
}
// Lien suivant
if ($current_page < $nb_pages)
$pagination .= ' <a class="prevnext" href="'.sprintf($link, ($current_page+1)).'" title="Page suivante">Suivant »</a>';
else
$pagination .= ' <span class="prevnext disabled">Suivant »</span>';
}
return $pagination;
}
// Numero de page (1 par défaut)
if(isset($_GET['page']) && is_numeric($_GET['page']))
$page = $_GET['page'];
else
$page = 1;
// Nombre d'info par page
$pagination = 20;
// Numéro du 1er enregistrement à lire
$limit_start = ($page - 1) * $pagination;
// Nb d'enregistrement total
Connect_mySql();
$nb_total = mysql_query('SELECT COUNT(*) AS nb_total FROM article WHERE supArt='.$_GET['cat'].'');
$nb_total = mysql_fetch_array($nb_total);
$nb_total = $nb_total['nb_total'];
// Pagination
$nb_pages = ceil($nb_total / $pagination);
// liste des articles
Connect_mySql();
$query = "SELECT * FROM article WHERE supArt = ".$_GET['cat']." ORDER BY image ASC LIMIT ".$limit_start.",".$pagination;
$result = mysql_query($query) or die("<font color='#006600'> Erreur sur la page affiche_liste_art.php - (ligne 77).</font>");
$i = 0;
while($row = mysql_fetch_row($result)) {
$i++;
?>
<div class="content">
<a href="<?php echo $_SERVER['PHP_SELF']; ?>?menu=4&art=<?php echo $row[0]; ?>"><img src="./admin/media_tissus/<?php echo $row[12]; ?>" title="<?php echo $row[3]; ?> €/m" border="0" width="106" height="85" /></a>
<br />
<center><?php echo $row[1]; ?></center>
</div>
<?php
}
mysql_close();
?>
<div class="pagination">
<?php echo "<center>".pagination($page, $nb_pages)."</center>"; ?>
</div>
cordialementBonjour FuZZyLine
notre ami dr@ke a trouvé comment incerer la variable dans la fonctionfunction pagination($current = '', $nb_page = '', $link = '', $arround=3, $firstLast=1) { $value = '?menu=4&cat='.$_GET['cat'].'&page=%d'; $link = (empty($link)) ? $value : $link;
function pagination($current = '', $nb_page = '', $link = false, $arround=3, $firstLast=1)
{
$value = "?menu=4&cat=".$_GET["cat"]."&page=%d";
$link = !$link ? $value : $link;
[...]
Ce n'est donc pas un problème d'accolades... Si biensur (comme spécifié) tu n'as fais qu'ajouter le GETla variable $_GET['cat'] est bien prise en compte mais je n'affiche pas ma barre de pagination
alors qu'en mettant en dur une valeur à cat= tous fonctionne correctement, j'ai ma barre de pagination
// Ta valeur à tester dans un print_r ou un var_dump
print_r($ta_valeur);
die("Ligne : ".__LINE__);
T'en fais pas, je ne me considère pas comme un gourou du php lolCi-dessous le code d'origne (celui qui fonctionne)
Je fait différentes manipulations, différents test mais comme précisé au tout début, je ne suis qu'un débutant, parfois difficile de lire et de mettre en oeuvre vos explications
<?php
// !!! IMPORTANT: Ajoute les lignes qui suivent
//
// Complément sur les erreurs, ajoute cette ligne en haut de ta page.
// Très utile lors du développement.
//
error_reporting(E_ALL | E_STRICT);
ini_set("display_error", 1);
function pagination($current_page, $nb_pages, $link='?menu=4&cat=2&page=%d', $around=3, $firstlast=1)
{
$pagination = '';
if (!ereg('%d', $link)) $link .= '%d';
if ($nb_pages > 1)
{
// Lien précédent
if ($current_page > 1)
{
$pagination .= '<a class="prevnext" href="'.sprintf($link, $current_page-1).'" title="Page précédente">«
Précédent</a>';
}
else $pagination .= '<span class="prevnext disabled">« Précédent</span>';
// Lien(s) début
for ($i=1 ; $i<=$firstlast ; $i++)
{
$pagination .= ' ';
$pagination .= ($current_page==$i) ? '<span class="current">'.$i.'</span>' : '<a href="'.sprintf($link,
$i).'">'.$i.'</a>';
}
// ... après pages début ?
if (($current_page-$around) > $firstlast+1) $pagination .= ' …';
// On boucle autour de la page courante
$start = ($current_page-$around)>$firstlast ? $current_page-$around : $firstlast+1;
$end = ($current_page+$around)<=($nb_pages-$firstlast) ? $current_page+$around : $nb_pages-$firstlast;
for ($i=$start ; $i<=$end ; $i++)
{
$pagination .= ' ';
if ($i==$current_page) $pagination .= '<span class="current">'.$i.'</span>';
else $pagination .= '<a href="'.sprintf($link, $i).'">'.$i.'</a>';
}
// ... avant page nb_pages ?
if (($current_page+$around) < $nb_pages-$firstlast) $pagination .= ' …';
// Lien(s) fin
$start = $nb_pages-$firstlast+1;
if ($start <= $firstlast) $start = $firstlast+1;
for ($i=$start ; $i<=$nb_pages ; $i++)
{
$pagination .= ' ';
$pagination .= ($current_page==$i) ? '<span class="current">'.$i.'</span>' : '<a href="'.sprintf($link,
$i).'">'.$i.'</a>';
}
// Lien suivant
if ($current_page < $nb_pages)
{
$pagination .= ' <a class="prevnext" href="'.sprintf($link, ($current_page+1)).'" title="Page suivante">Suivant
»</a>';
}
else $pagination .= ' <span class="prevnext disabled">Suivant »</span>';
}
return $pagination;
}
// Numero de page (1 par défaut)
if(isset($_GET['page']) && is_numeric($_GET['page'])) $page = $_GET['page'];
else $page = 1;
// Nombre d'info par page
$pagination = 20;
// Numéro du 1er enregistrement à lire
$limit_start = ($page - 1) * $pagination;
// Nb d'enregistrement total
Connect_mySql();
$nb_total = mysql_query('SELECT COUNT(*) AS nb_total FROM article WHERE supArt='.$_GET['cat'].'');
$nb_total = mysql_fetch_array($nb_total);
$nb_total = $nb_total['nb_total'];
// Pagination
$nb_pages = ceil($nb_total / $pagination);
// liste des articles
Connect_mySql();
$query = "SELECT * FROM article WHERE supArt = ".$_GET['cat']." ORDER BY image ASC
LIMIT ".$limit_start.",".$pagination;
$result = mysql_query($query) or die("<font color='#006600'> Erreur sur la page affiche_liste_art.php
- (ligne 77).</font>");
$i = 0;
while($row = mysql_fetch_row($result))
{
$i++;
?>
<div class="content">
<a href="<?php echo $_SERVER['PHP_SELF']; ?>?menu=4&art=<?php echo $row[0]; ?>"><img src="./admin/media_tissus/<?php echo $row[12]; ?>" title="<?php echo $row[3]; ?> €/m" border="0" width="106" height="85" /></a>
<br />
<center><?php echo $row[1]; ?></center>
</div>
<?php
}
mysql_close();
?>
<div class="pagination">
<?php echo "<center>".pagination($page, $nb_pages)."</center>"; ?>
</div>
Nota sur le script: J'en viens à me demander si vraiment le GET que tu veux mettre est utile...<?php
// !!! IMPORTANT: Ajoute les lignes qui suivent
//
// Complément sur les erreurs, ajoute cette ligne en haut de ta page.
// Très utile lors du développement.
//
error_reporting(E_ALL | E_STRICT);
ini_set("display_error", 1);
?>
Mais une petite explication s'impose<?php
function pagination($current = '', $nb_page = '', $link = false, $arround = 3, $firstLast = 1) {
?>
function pagination($current_page = '', $nb_pages = '', $link = false, $around = 3, $firstlast = 1){
après avoir modifié une par une ces variables HO miracle cela fonctionne, je redecouvre ma barre de pagination et qui plus ai fonctionne merveilleusement bienQue ce problème soit résolu, c'est cool, mais qu'en plus tu en ais retiré une certaine expèrience je trouveBonjour à tous
Tout d'abord, je tiens à remercier toutes les personnes qui ont contribué à la résolution de mon souci et
plus particulièrement à FuZZyLine qui m'a permis en quelque minute de résoudre mon problème avec son bout de code
[...]
après avoir modifié une par une ces variables HO miracle cela fonctionne, je redecouvre ma barre de pagination et qui plus ai fonctionne merveilleusement bien
Encore une fois MERCI à tous
Merci pour tous vos conseilles, que j'appliquerais a la lettre.
Grace a vous tous, j'aurais apris plein de choses.
eh eh eh...PS : FuZZyLine ce petit bout de code fera systematiquement partie de ma programation.