Probleme de code en PHP mysql_fetch_array()

Fermé
EcoCup - 13 août 2009 à 14:56
 neo - 15 août 2009 à 10:54
Bonjour, je me code mon site en local, j'ai une page qui va dans ma base de donné SQL et qui sort les résultat par page, genre page 1,2,3 etc... j'ai définit ma variable page=x
tous marche parfaitement si je veut les 10 premier articles je fais page 1, après page 2 pour les 10 plus anciens etc...
le probleme c'est quand je fais une page qui n'existe pas par exemple page=-9
PHP me retourne une erreur: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\wamp\www\livrable2\_inc\releases.site.php on line 65
voila mon code

       	elseif($page == 0)
       		$r = mysql_query("SELECT * FROM articles");
        else
            $r = mysql_query("SELECT * FROM articles ORDER BY date DESC LIMIT $FirstMessAafficher, $ArticleParPage");
        while($donnees = mysql_fetch_array($r) )
        {


comment je doit fixé le problème ?
A voir également:

2 réponses

Tu pourrais mettre un variable limit... exemple:

$retour = mysql_query(" SELECT COUNT(*) AS nbree FROM `articles` ");
$donne = mysql_fetch_array($retour);
$limit = $donne['nbree];
if($page > $limit)
{
$page == '0';
}
et le reste de ton code....
Cette sécurité éviterai que le nombre de page soit trop grand ou inégale a ton nombre d'article...
Bien sur, ce n'est qu'une idée de base^^ À toi de jouer ;-)

Amicalement,
Anonyme
0
salut
je crois que sa marchera :
       	elseif($page == 0)
       		$r = mysql_query("SELECT * FROM articles");
        else
            $r = mysql_query("SELECT * FROM articles ORDER BY date DESC LIMIT $FirstMessAafficher, $ArticleParPage");
         if( $r ){
                     while($donnees = mysql_fetch_array($r) )
                    {


tu doit verifier le type de retour de mysql_query ($r) :
Valeurs de retour
Pour les requêtes du type SELECT, SHOW, DESCRIBE, EXPLAIN et les autres requêtes retournant un jeu de résultats, mysql_query() retournera une ressource en cas de succès, ou FALSE en cas d'erreur.
https://www.php.net/mysql_query

see you
0