Erreur de syntaxe que je ne peux résoudre

Eléphanteau du PHP | 41 Messages

26 juil. 2012, 16:21

Bonjour,

l'erreur est sans doute toute bête mais je ne vois pas pourquoi elle m'en fait voir de toutes les couleurs.
J'ai besoin d'un p'tit système de pagination, j'ai donc suivis des tutos à la lettre (oui plusieurs, au cas où l'un provoquerait le bug). Il s'avère que j'ai toujours le même soucis : mon mysql_fetch_array() ne répond plus... La pagination pas de soucis et sans erreur mais pas pratique d'avoir des n° de page sans les articles.

je vous joins mon code simplifié pour y voir plus clair
<?php
include('header.php'); ?>
		
<?php
include('../manager/connect.php');
		
	// Numero de page (1 par défaut)
if( isset($_GET['page']) && is_numeric($_GET['page']) )
    $page = $_GET['page'];
else
    $page = 1;
	
	// Nombre d'infos par page
$pagination = 3;
// Numéro du 1er enregistrement à lire
$limit_start = ($page - 1) * $pagination;
		
		$sql = "SELECT * FROM actu WHERE afficher='oui' ORDER BY date DESC LIMIT $limit_start, $pagination";
		$res = mysql_query($sql);
?>	 




<article class="parte">
<?php while($aff = mysql_fetch_assoc($res)) {
			
			$img=$aff['img_une'];
			$titre=$aff['titre'];
			$id=$aff['id'];
			$texte=$aff['news'];
		
// introduction
			$nbCaracteres = 300;
			$extrait_actu = array();
			if( strlen($texte) > $nbCaracteres ) 
				{
				$extrait_actu = substr($texte, 0, $nbCaracteres);
				}
			else 
				{
				$extrait_actu = $texte;
				}
			
			?>
<table class="partenaires">
<tr><td><a href="actualite.php?id=<?php echo $id ?>" title="<?php echo $titre; ?>"><img src="../actu/<?php echo $img ?>" alt="<?php echo $titre ?>" width="260" /></a></td>
<td class="tab"><p><h3><?php echo $titre ?></h3>
<?php echo $extrait_actu ?>(...)<br>
<span><a href="actualite.php?id=<?php echo $id ?>" title="<?php echo $titre; ?>">Lire la suite</a></span>
</p></td>
</tr>
</table>

<?php } ?>
</article>

<?php 
// Nb d'enregistrement total
$nb_total = mysql_query('SELECT COUNT(*) AS nb_total FROM actu');
$nb_total = mysql_fetch_array($nb_total);
$nb_total = $nb_total['nb_total'];

// Pagination
$nb_pages = ceil($nb_total / $pagination);
 
echo '<p>[ Page :';
// Boucle sur les pages
for ($i = 1 ; $i <= $nb_pages ; $i++) {
    if ($i == $page )
        echo " $i";
    else
        echo " <a href=\"?page=$i\">$i</a> ";
}
echo ' ]</p>'; ?>
Merci pour vos réponses utiles grâce à vos yeux d'experts

ViPHP
xTG
ViPHP | 7331 Messages

26 juil. 2012, 17:27

Pour debugguer :
$sql = "SELECT * FROM actu WHERE afficher='oui' ORDER BY date DESC LIMIT $limit_start, $pagination";
echo $sql; // copier/coller l'affichage dans phpmyadmin pour tester la requête
$res = mysql_query($sql) or die(mysql_error());

Mammouth du PHP | 2278 Messages

26 juil. 2012, 18:07

quand $page vaut 1, $limit_start vaut 0, si je ne me trompe pas.
Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD