Script de pagination

Répondre
abkm
le 23/06/2010 à 13:39
abkm
Bonjour, ou rebonjour.
Voila, un souci sur un script de pagination qui fontionne bien en locale et quand J'ai uploder sur mon serveur on m'affiche l'erreur suivant
Erreur : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FROM news ORDER BY id ASC limit 0,2' at line 1 J'ai passé pas mal de temps dessus, mais je pique sur cette erreur.
S'il vous plai pourriez-vous m'aider. Merci d'avance!
LA GLOBULE
le 23/06/2010 à 14:10
LA GLOBULE
Ben ta requête SQL à une erreur de syntaxe.

Montre nous le code qui la génére.
abkm
le 23/06/2010 à 16:06
abkm
OK OK merci d'avance voila le code

<?php
//=========================================
// includes du fichier fonctions
//=========================================
require 'fonctions.php';
//=========================================
// information pour la connection à le DB
//=========================================
$host = 'localhost';
$user = 'root';
$pass = '';
$db = 'basedn';
//=========================================
// initialisation des variables
//=========================================
// on va afficher 2 résultats par page.
$nombre = 2;
// si limite n'existe pas on l'initialise à zéro
if (!$limite) $limite = 0;
// on cherche le nom de la page.
$path_parts = pathinfo($_SERVER['PHP_SELF']);
$page = $path_parts["basename"];
//=========================================
// connection à la DB
//=========================================
$link = mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error() );
mysql_select_db($db) or die ('Erreur :'.mysql_error());
//=========================================
// requête SQL qui compte le nombre total
// d'enregistrements dans la table.
//=========================================
$select = 'SELECT * FROM news';
$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
$row = mysql_fetch_row($result);
$total = $row[0];

//=========================================
// vérifier la validité de notre variable
// $limite;
//=========================================
$verifLimite= verifLimite($limite,$total,$nombre);
// si la limite passée n'est pas valide on la remet à zéro
if(!$verifLimite) {
$limite = 0;
}
//=========================================
// requête SQL qui ne prend que le nombre
// d'enregistrement necessaire à l'affichage.
//=========================================
$select = 'select titre,contenu FROM
news ORDER BY id ASC limit '.$limite.','.$nombre;
$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );

//=========================================
// si on a récupéré un resultat on l'affiche.
//=========================================
if($total) {
// début du tableau
echo '<table class="tabcentre" align="center"'."\n";
// première ligne on affiche les titres de colonnes
echo '<tr>';
echo '<td align="center" bgcolor="#D6E1FA"><b>titre</b></td>';
echo '<td align="center" bgcolor="#D6E1FA"><b>contenu</b></td>';
echo '</tr>'."\n";
// lecture et affichage des résultats sur 2 colonnes
while($row = mysql_fetch_array($result)) {
echo '<tr>';
echo '<td class="winxpv" bgcolor="#e1ebf4">'.$row['titre'].'</td>';
echo '<td class="winxpv" bgcolor="#e1ebf4">'.$row['contenu'].'</td>';
echo '</tr>'."\n";
}
echo '</table>'."\n";
}
else echo 'Pas d\'enregistrements dans cette table...';
mysql_free_result($result);
//=========================================
// si le nombre d'enregistrement à afficher
// est plus grand que $nombre
//=========================================
if($total > $nombre) {
// affichage des liens vers les pages
affichePages($nombre,$page,$total);
// affichage des boutons
displayNextPreviousButtons($limite,$total,$nombre,$page);
}
?>
dark_nemo
le 23/06/2010 à 22:14
dark_nemo
Tu veux ordonner tes résultats par l'identifiant mais tu ne le selectionne pas donc ta requête plante
LA GLOBULE
le 24/06/2010 à 08:57
LA GLOBULE
Pour moi, ce n'est pas la raison.

abkm, es tu sur de nous montrer le code qui plante ?

Au début, je pensais que ca chiait à cause du retour chariot, mais j'ai testé ton code (surtout la partie du select sql) :

<?php
define ('SQL_HOST', '***');
define ('SQL_USER', '***');
define ('SQL_PWD', '***');
define ('SQL_DATA', '***');

$link = mysql_connect (SQL_HOST,SQL_USER,SQL_PWD) or die ('Erreur : '.mysql_error() );
mysql_select_db(SQL_DATA) or die ('Erreur :'.mysql_error());

$limite = 0;
$nombre = 2;

$select = 'select titre,contenu
FROM news ORDER BY id ASC limit '.$limite.','.$nombre;
$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error());
?>


Mais je n'ai aucune erreur sur ce code.
abkm
le 24/06/2010 à 11:53
abkm
Merci d'avance comme je l'est bien signifier le code marche correctement en local , mais ne marche pas une foi que j'envoie sur mon serveur et l'erreur c'est ceci
Erreur : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FROM news ORDER BY id ASC limit 0,2' at line 1
LA GLOBULE
le 24/06/2010 à 12:32
LA GLOBULE
Es tu sur de bien d'executer ce code la sur ton serveur ?

Quelles sont tes versions de php / mysql sur ton serveur ?
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours