<?
$nb = $board_newspg;
if (!isset($_GET['page'])) $page = 1;
else $page = intval($_GET['page']);
if (!isset($_GET['total']))
{
$sql = "select count(*) as qte from ".$prefixe."_news";
$p = @mysql_query($sql,$c);
$total = @mysql_result($p,'0','qte');
}
else $total = intval($_GET['total']);
$debut = ($page - 1) * $nb;
$sql = "SELECT *, DATE_FORMAT(date, '%M') as mois, DATE_FORMAT(date, '%d') as jour, DATE_FORMAT(heure, '%H:%i') as heure FROM ".$prefixe."_news ORDER BY id DESC";
if($p = @mysql_query($sql,$c)){
$i = 1;
while($resultat = @mysql_fetch_array($p)){
$resultat['titre'] = substr($resultat['titre'], 0, 60);
include ('includes/function_bbcode.php');
$max=140;
if(strlen($texte)>=$max){$texte=substr($texte,0,$max);
$espace=strrpos($texte," ");
$texte=substr($texte,0,$espace)."..."; }
echo'
<div class="post" id="post-'.stripslashes($resultat['id']).'">
<div class="date"><span>'.stripslashes($resultat['mois']).'</span> '.stripslashes($resultat['jour']).'</div>
<div class="title">
<h3><a href="index.php?name=view_news&id='.stripslashes($resultat['id']).'" title="'.stripslashes($resultat['titre']).'">'.stripslashes($resultat['titre']).'</a></h3>
<div class="postdata"><span class="category">Posté à '.stripslashes($resultat['heure']).'</span> <span class="comments"><a href="index.php?name=view_news&id='.stripslashes($resultat['id']).'#comment" title="Commentaires sur '.stripslashes($resultat['titre']).'">No Comments »</a></span></div>
</div>
<div class="entry">
<p>'.$texte.'</p>
</div>
<div class="suite">
<span class="txt"><a href="index.php?name=view_news&id='.stripslashes($resultat['id']).'" title="'.stripslashes($resultat['titre']).'">[Lire la suite]</a></span>
</div>
</div>
<br />
';
$i++;
}
echo'';
if($total < 1) echo'
<div align="center">
<table cellpadding="0" cellspacing="0" align="center" width="685">
<tr>
<td align="center">Aucune news pour le moment.</td>
</tr>
</table>
</div>
';
// calcul du nombre de pages
$nbpages = ceil($total / $nb); // arrondi a l'entier superieur
// on affiche les pages
echo'<div align="right">';
$page_moins_un = $page-1;
if($page_moins_un >= 1)
{
echo'<a href="?name=news&page='.$page_moins_un.'&total='.$total.'" class="page">«</a> ';
}
for($i = 1;$i <= $nbpages;$i ++)
{
echo'<a href="?name=news&page='.$i.'&total='.$total.'" class="page">'.$i.'</a> ';
if($i < $nbpages) echo '';
}
$page_plus_un = $page+1;
if($page_plus_un <= $nbpages)
{
echo'<a href="?name=news&page='.$page_plus_un.'&total='.$total.'" class="page">»</a>';
}
echo'</div>';
$i++;
}
mysql_close();
?>
J'ai cette fonction qui sert a compter le nombre de news pour l'affichage par pageif (!isset($_GET['total']))
{
$sql = "select count(*) as qte from ".$prefixe."_news";
$p = @mysql_query($sql,$c);
$total = @mysql_result($p,'0','qte');
}
else $total = intval($_GET['total']);
Mais cette fonction indique 0 s'il y a rien je ne sais vraiment pas comment faire désoler.$total = mysql_result($p,'0','qte');
Tu envoies trois paramètres dans une fonction qui n'en attend que deux :$total = mysql_result($p, 0);
Enfin, tu as un :
if($total < 1)
Où donc est le "else" qui devrait suivre pour traiter l'autre option "Il y a n commentaires" if (!isset($_GET['total']))
{
$comment = le code du comptage de nb de commentaire
}
else
$comment = 'Pas de commentaire';
J'espère avoir été assez expliciste dans le genre de script car c'est dur a expliquer quand on connait pasCode : Tout sélectionner
CREATE TABLE `sg__news` (
`id` int(11) NOT NULL auto_increment,
`titre` text NOT NULL,
`texte` text NOT NULL,
`date` date NOT NULL default '0000-00-00',
`heure` time NOT NULL default '00:00:00',
PRIMARY KEY (`id`)
) TYPE=MyISAM ;Code : Tout sélectionner
CREATE TABLE `sg__comment` (
`id` int(11) NOT NULL auto_increment,
`id_news` varchar(255) NOT NULL default '',
`pseudo` varchar(255) NOT NULL default '',
`email` varchar(255) NOT NULL default '',
`titre` varchar(255) NOT NULL default '',
`texte` text NOT NULL,
`date` date NOT NULL default '0000-00-00',
`heure` time NOT NULL default '00:00:00',
PRIMARY KEY (`id`)
) TYPE=MyISAM ;Code : Tout sélectionner
SELECT n.id AS news, COUNT(c.id) AS total_reponses
FROM sg__news n
LEFT OUTER JOIN sg__comment c
ON n.id = c.id_news
GROUP BY news;while($resultat = mysql_fetch_array($p)){
$resultat['titre'] = substr($resultat['titre'], 0, 60);
include ('includes/function_bbcode.php');
if (!isset($_GET['comment']))
{
$sqlc = "select count(id_news) as qte from ".$prefixe."_comment where id_news='".stripslashes($resultat['id'])."'";
$pc = mysql_query($sqlc,$c);
$comment = mysql_result($pc, 0);
}
else
$comment = intval($_GET['comment']);
$max=140;
if(strlen($texte)>=$max){$texte=substr($texte,0,$max);
$espace=strrpos($texte," ");
$texte=substr($texte,0,$espace)."..."; }
echo'
<div class="post" id="post-'.stripslashes($resultat['id']).'">
<div class="date"><span>'.stripslashes($resultat['mois']).'</span> '.stripslashes($resultat['jour']).'</div>
<div class="title">
<h3><a href="index.php?name=view_news&id='.stripslashes($resultat['id']).'" title="'.stripslashes($resultat['titre']).'">'.stripslashes($resultat['titre']).'</a></h3>
<div class="postdata"><span class="category">Posté à '.stripslashes($resultat['heure']).'</span> <span class="comments">';
if ($comment == 0){ echo 'Aucun commentaire';}
elseif($comment == 1){ echo '<a href="index.php?name=view_comment_news&id='.stripslashes($resultat['id']).'">Un seul commentaire</a>';}
else {echo '<a href="index.php?name=view_comment_news&id='.stripslashes($resultat['id']).'">'.$comment.' commentaires</a>';}echo' »</span></div>
</div>
<div class="entry">
<p>'.$texte.'</p>
</div>
<div class="suite">
<span class="txt"><a href="index.php?name=view_news&id='.stripslashes($resultat['id']).'" title="'.stripslashes($resultat['titre']).'">[Lire la suite]</a></span>
</div>
</div>
<br />
';
Et sa fonctionne nikel