Bon ca fait 2 jours que je seche et je n'y arrive pas!
Voila je code un site, avec un système de news
Donc mon système de news fonctions à 100%
Mais la pagination !
Donc je vous mes déjà mes codes:
Code PHP :
<?php
public function News($Template){
$this->RequeteRecupTitreNews = mysql_query('SELECT * FROM '.$this->NewsTables.' ORDER BY Dates DESC');
while ($this->ResultRecupTitreNews = mysql_fetch_array($this->RequeteRecupTitreNews)) {
$this->Message = stripslashes($this->ResultRecupTitreNews['Message']); // On enl?ve les slash qui se seraient ajout?s automatiquement
$this->Message = htmlspecialchars($this->Message); // On rend inoffensives les balises HTML que le visiteur a pu rentrer
$this->Message = nl2br($this->Message); // On cr?e des <br /> pour conserver les retours ? la ligne
$this->Message = preg_replace('#<gras>(.+)</gras>#isU', '<strong>$1</strong>', $this->Message);
$this->Message = preg_replace('#<italique>(.+)\</italique>#isU', '<em>$1</em>', $this->Message);
$this->Message = preg_replace('#<barre>(.+)\</barre>#isU', '<del>$1</del>', $this->Message);
$this->Message = preg_replace('#<clignote>(.+)\</clignote>#isU', '<blink>$1</blink>', $this->Message);
$this->Message = preg_replace('#<lien="(.+)">(.+)\</lien\>#isU', '<a href="$1" target="_blank">$2</a>', $this->Message);
$this->Message = preg_replace('#<images>(.+)\</images\>#isU', '<img src="$1" alt="$1" />', $this->Message);
$this->Message = preg_replace('#<citation nom=(.+)>(.+)\</citation\>#isU', "<table border= \"1\" width=\"100%\"><tr><th align=\"left\">Citation de: $1</th></tr><tr><td align=\"left\">$2</td></tr></table>", $this->Message);
$this->Message = preg_replace('#<ttpetit>(.+)\</ttpetit\>#isU', '<span style="font-size: 7px">$1</span>', $this->Message);
$this->Message = preg_replace('#<tpetit>(.+)\</tpetit\>#isU', '<span style="font-size: 12px">$1</span>', $this->Message);
$this->Message = preg_replace('#<petit>(.+)\</petit\>#isU', '<span style="font-size: 15px">$1</span>', $this->Message);
$this->Message = preg_replace('#<gros>(.+)\</gros\>#isU', '<span style="font-size: 20px">$1</span>', $this->Message);
$this->Message = preg_replace('#<tgros>(.+)\</tgros\>#isU', '<span style="font-size: 30px">$1</span>', $this->Message);
$this->Message = preg_replace('#<ttgros>(.+)\</ttgros\>#isU', '<span style="font-size: 40px">$1</span>', $this->Message);
$this->Message = preg_replace('#<ttgros>(.+)\</ttgros\>#isU', '<span style="font-size: 40px">$1</span>' , $this->Message);
$this->Message = preg_replace('#\<align=(left|center|right)\>(.+)\</align\>#isU', '<div style="float:$1">$2</span>', $this->Message);
$this->Message = preg_replace('#\<color=(red|green|blue|yellow|purple|olive)\>(.+)\</color\>#isU', '<span style="color:$1">$2</span>', $this->Message);
$this->SmiliesName = array(':magicien:', ':colere:', ':diable:', ':ange:', ':ninja:', '>_<', ':pirate:', ':zorro:', ':honte:', ':soleil:', ':\'\\(', ':waw:', ':\\)', ':D', ';\\)', ':p', ':lol:', ':euh:', ':\\(', ':o', ':colere2:', 'o_O', '\\^\\^', ':sifflote:');
$this->SmiliesUrl = array('magicien.png', 'angry.gif', 'diable.png', 'ange.png', 'ninja.png', 'pinch.png', 'pirate.png', 'zorro.png', 'rouge.png', 'soleil.png', 'pleure.png', 'waw.png', 'smile.png', 'heureux.png', 'clin.png', 'langue.png', 'rire.gif', 'unsure.gif', 'triste.png', 'huh.png', 'mechant.png', 'blink.gif', 'hihi.png', 'siffle.png');
$this->SmiliesPath = "http://www.siteduzero.com/Templates/images/smilies/";
for ($this->i = 0, $this->c = count($this->SmiliesName); $this->i < $this->c; $this->i++) {
$this->Message = preg_replace('`' . $this->SmiliesName[$this->i] . '`isU', '<img src="' . $this->SmiliesPath . $this->SmiliesUrl[$this->i] . '" title="'. $this->SmiliesName[$this->i] .'" alt="smiley" />', $this->Message);
}
$this->Final['Titre'] = $this->ResultRecupTitreNews['Titre'];
$this->Final['Id'] = $this->ResultRecupTitreNews['Id'];
$this->Final['Auteur'] = $this->ResultRecupTitreNews['Auteur'];
$this->Final['Message'] = $this->Message;
$this->Final['Dates'] = $this->ResultRecupTitreNews['Dates'];
$Template->setVar('News', $this->Final);
$Template->render('News');
}
?>
Code PHP :
<?php
$Template->importFile('News/Accueil.tpl');
$News = new News;
$News->NewsTitre($Template);
$News->News($Template);
echo $Template->render();
?>
et le template:
Code :
<div id="Content">
<!-- BLOCK::ON::News -->
<div class="News" id="NewsId{$News.Id}">
<div id="Header">
{$News.Titre}
<div id="ByAndDate">
Par {$News.Auteur} / Le {$News.Dates}
</div>
</div>
<div id="Message">
{$News.Message}
</div>
</div>
<!-- BLOCK::OFF::News -->
</div>
Donc je ne c'est pas quel code utiliser et ou le placer
Donc j'ai essayer de mettre :
Code PHP :
<?php
public function News($Template){
$retour_total = mysql_query('SELECT COUNT(*) AS total FROM '.$this->NewsTables.'');
$messagesParPage = 5;
$donnees_total = mysql_fetch_assoc($retour_total);
$total = $donnees_total['total'];
$nombreDePages = ceil($total/$messagesParPage);
if(isset($_GET['Page'])) {
$pageActuelle = intval($_GET['Page']);
if($pageActuelle > $nombreDePages){
$pageActuelle = $nombreDePages;
}
}
else{
$pageActuelle = 1;
}
$premiereEntree = ($pageActuelle-1) * $messagesParPage; ;
$this->RequeteRecupTitreNews = mysql_query('SELECT * FROM '.$this->NewsTables.' ORDER BY Dates DESC LIMIT '.$premiereEntree.','.$messagesParPage.'');
while ($this->ResultRecupTitreNews = mysql_fetch_array($this->RequeteRecupTitreNews)) {
$this->Message = stripslashes($this->ResultRecupTitreNews['Message']); // On enl?ve les slash qui se seraient ajout?s automatiquement
$this->Message = htmlspecialchars($this->Message); // On rend inoffensives les balises HTML que le visiteur a pu rentrer
$this->Message = nl2br($this->Message); // On cr?e des <br /> pour conserver les retours ? la ligne
$this->Message = preg_replace('#<gras>(.+)</gras>#isU', '<strong>$1</strong>', $this->Message);
$this->Message = preg_replace('#<italique>(.+)\</italique>#isU', '<em>$1</em>', $this->Message);
$this->Message = preg_replace('#<barre>(.+)\</barre>#isU', '<del>$1</del>', $this->Message);
$this->Message = preg_replace('#<clignote>(.+)\</clignote>#isU', '<blink>$1</blink>', $this->Message);
$this->Message = preg_replace('#<lien="(.+)">(.+)\</lien\>#isU', '<a href="$1" target="_blank">$2</a>', $this->Message);
$this->Message = preg_replace('#<images>(.+)\</images\>#isU', '<img src="$1" alt="$1" />', $this->Message);
$this->Message = preg_replace('#<citation nom=(.+)>(.+)\</citation\>#isU', "<table border= \"1\" width=\"100%\"><tr><th align=\"left\">Citation de: $1</th></tr><tr><td align=\"left\">$2</td></tr></table>", $this->Message);
$this->Message = preg_replace('#<ttpetit>(.+)\</ttpetit\>#isU', '<span style="font-size: 7px">$1</span>', $this->Message);
$this->Message = preg_replace('#<tpetit>(.+)\</tpetit\>#isU', '<span style="font-size: 12px">$1</span>', $this->Message);
$this->Message = preg_replace('#<petit>(.+)\</petit\>#isU', '<span style="font-size: 15px">$1</span>', $this->Message);
$this->Message = preg_replace('#<gros>(.+)\</gros\>#isU', '<span style="font-size: 20px">$1</span>', $this->Message);
$this->Message = preg_replace('#<tgros>(.+)\</tgros\>#isU', '<span style="font-size: 30px">$1</span>', $this->Message);
$this->Message = preg_replace('#<ttgros>(.+)\</ttgros\>#isU', '<span style="font-size: 40px">$1</span>', $this->Message);
$this->Message = preg_replace('#<ttgros>(.+)\</ttgros\>#isU', '<span style="font-size: 40px">$1</span>' , $this->Message);
$this->Message = preg_replace('#\<align=(left|center|right)\>(.+)\</align\>#isU', '<div style="float:$1">$2</span>', $this->Message);
$this->Message = preg_replace('#\<color=(red|green|blue|yellow|purple|olive)\>(.+)\</color\>#isU', '<span style="color:$1">$2</span>', $this->Message);
$this->SmiliesName = array(':magicien:', ':colere:', ':diable:', ':ange:', ':ninja:', '>_<', ':pirate:', ':zorro:', ':honte:', ':soleil:', ':\'\\(', ':waw:', ':\\)', ':D', ';\\)', ':p', ':lol:', ':euh:', ':\\(', ':o', ':colere2:', 'o_O', '\\^\\^', ':sifflote:');
$this->SmiliesUrl = array('magicien.png', 'angry.gif', 'diable.png', 'ange.png', 'ninja.png', 'pinch.png', 'pirate.png', 'zorro.png', 'rouge.png', 'soleil.png', 'pleure.png', 'waw.png', 'smile.png', 'heureux.png', 'clin.png', 'langue.png', 'rire.gif', 'unsure.gif', 'triste.png', 'huh.png', 'mechant.png', 'blink.gif', 'hihi.png', 'siffle.png');
$this->SmiliesPath = "http://www.siteduzero.com/Templates/images/smilies/";
for ($this->i = 0, $this->c = count($this->SmiliesName); $this->i < $this->c; $this->i++) {
$this->Message = preg_replace('`' . $this->SmiliesName[$this->i] . '`isU', '<img src="' . $this->SmiliesPath . $this->SmiliesUrl[$this->i] . '" title="'. $this->SmiliesName[$this->i] .'" alt="smiley" />', $this->Message);
}
for($iPage=1; $i<=$nombreDePages; $iPage++) {
if($iPage==$pageActuelle) {
$this->Final['MessagePagination'] = $iPage;
}
else {
$this->Final['MessagePagination'] = $iPage;
}
}
$this->Final['Titre'] = $this->ResultRecupTitreNews['Titre'];
$this->Final['Id'] = $this->ResultRecupTitreNews['Id'];
$this->Final['Auteur'] = $this->ResultRecupTitreNews['Auteur'];
$this->Final['Message'] = $this->Message;
$this->Final['Dates'] = $this->ResultRecupTitreNews['Dates'];
$Template->setVar('News', $this->Final);
$Template->render('News');
}
}
?>
Donc j'ai cette erreur :
Citation :Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in E:\xamppnouveaux\htdocs\zack-style.fr\Fonctions\News\News.class.php on line 62
Ma ligne 62 :
Code PHP :
<?php
while ($this->ResultRecupTitreNews = mysql_fetch_array($this->RequeteRecupTitreNews))
?>
Ce qui renvoie à :
Code PHP :
<?php
$this->RequeteRecupTitreNews = mysql_query('SELECT * FROM '.$this->NewsTables.' ORDER BY Dates DESC LIMIT '.$premiereEntree.','.$messagesParPage.'');
?>
Voila merci de votre aide
PS: merci de pas critiquer mon code