Bonjour,
Je suis nouveau ici je me presente je m'appel David j'ai 26ans, je fait des sites juste pour passer le temps je ne suis pas un expert.

Donc voila mon problème j'ai suivis le tutoriel de pagination en php et j'ai cette erreur:

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in ... on line 6

Mon code est comme cela :
<?php
require "config.php";
mysql_connect(DB_HOST,DB_LOGIN,DB_PASS);
mysql_select_db(DB_BDD);
$sql="SELECT COUNT (id) as nbArt FROM news";
$req = mysql_query($sql) or die('Erreur SQL! : '.$sql.'<br />'.mysql_error());
$data=mysql_fetch_assoc($req);

$nbArt=$data'nbArt'];
$perPage=5;
$nbPage=ceil($nbArt/$perPage);

if(isset($_GET'p'])&&$_GET'p']>0 && $_GET'p']<=$nbPage){
$cPage=$_GET'p'];
}
else{
$cPage=1;
}

J'ai voulu faire une pagination sur le script "News" qui est dans votre tutorial mais une fois tous fini j'ai cette erreur.
Je vous remercie.

6 réponses


davidovpereira
Auteur
Réponse acceptée

Voila j'ai trouver, après beaucoup de recherche je l'ai, donc j'ai regarder chez Mysql sur internet ...
l'erreur était simple la voici :
Le code avec l'erreur :

$sql="SELECT COUNT (id) as nbArt FROM jeux";

et voici le bon code :

$sql="SELECT COUNT(id) as nbArt FROM jeux";

Un simple espace !! entre "COUNT" et "(id)"

Merci pour votre aide.

Essaye de remplacer cette ligne :

$req = mysql_query($sql) or die('Erreur SQL! : '.$sql.'<br />'.mysql_error());

Par :

$req = mysql_query($sql) or die(mysql_error());

Peut être que cela ne va rien changer, mais essaye tout de même.

Merci, le problème est que maintenant j'ai l'erreur suivante :

Column count of mysql.proc is wrong. Expected 20, found 16. The table is probably corrupted

Les pages admins sont sécurisée avec htacess.
Merci.

Je n'ai jamais vu cette erreur, il faudrait avoir l'avis de quelqu'un d'autre.
Sinon tu n'as pas suivi le tuto jusqu'au bout non ?

Si j'ai suivi tous le tuto voici donc la page :

<?php
    require "config.php";
    mysql_connect(DB_HOST,DB_LOGIN,DB_PASS);
    mysql_select_db(DB_BDD);
    $sql="SELECT COUNT (id) as nbArt FROM jeux";
    $req = mysql_query($sql) or die(mysql_error());
    $data=mysql_fetch_assoc($req);

    $nbArt=$data'nbArt'];
    $perPage=5;
    $nbPage=ceil($nbArt/$perPage);
    if(isset($_GET'p'])&&$_GET'p']>0 && $_GET'p']<=$nbPage){
        $cPage=$_GET'p'];
    }
    else{
        $cPage=1;
    }   

    $sql="SELECT * FROM jeux ORDER BY titre ASC LIMIT ".(($cPage-1)*$perPage).",$perPage";
    $req = mysql_query($sql) or die('Erreur SQL! : '.$sql.'<br />'.mysql_error());
    while($data=mysql_fetch_assoc($req)){ 
        echo "<h1>{$data"titre"]}</h1>"; 
        echo "<p>{$data"contenu"]}</p>"; 
        echo "<p align\"right\">".date("j/n/Y",strtotime($data"date"]))."</p>";
        echo "<a href=\"{$data"url"]}\" target=\"_blank\"> <img src=\"../img/goapli.gif\" width=\"250\" height=\"20\" border=\"0\"></a>";
    }

for($i=1;$i<=$nbPage;$i++){
    if($i==$cPage){
        echo " $i /";
    }
    else{
        echo" <a herf=\"codetest.php?p=$i\">$i</a> /";
    }
}
?>

J'ai effectuer une recherche chez Mysql, j'ai rien trouver par rapport a cette erreur.
J'ai pus comprendre qu'il y a une relation avec un problème de version Mysql (sur un site espagnol, mais comme Google traduit pas très bien j'ai peur d'avoir mal compris).

Le problème est que la page ne s'affiche pas du tous, depuis que j'ai rajouter le script de pagination.
Merci, de votre aide.