Affichage

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Affichage

par ornitho13 » 29 oct. 2008, 17:13

mysql_select_db('bdd',$db); 
ce ne serait pas plutot :
mysql_select_db('bdd',$connexion); 
En effet ton erreur vient du fait que ta connexion n'est pas valide.

Vérifie a ce niveau là

Edit : mysql_select_db retourne un booléen verifie si il est a false ou non

par Invité » 29 oct. 2008, 16:59

J'ai à nouveau un message d'erreur
Warning: mysql_select_db(): supplied argument is not a valid MySQL-Link resource in ****** on line 97

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in ****** on line 105

Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in ****** on line 115

par yaug » 29 oct. 2008, 13:45

SELECT pseudo,date,texte_blague, DATE_FORMAT(date, '%d-%m-%Y') as datefr FROM LIMIT blague ORDER BY date DESC 
Attention à l'ordre de tes données sql

SELECT
FROM
WHERE
ORDER BY
LIMIT

Ici ton FROM blague ne fonctionne pas vu que ton limit (sans valeur?) est mal placé.

Cela devrait donner ceci :
SELECT pseudo,date,texte_blague, DATE_FORMAT(date, '%d-%m-%Y') as datefr 
FROM blague
ORDER BY date DESC 
LIMIT 0, 10
par exemple.

Après pour le cas d'une pagination, cela peut donner ceci par exemple :
$page = intval($_GET['page']);
$nb_per_page = 10;
$query = "SELECT pseudo,date,texte_blague, DATE_FORMAT(date, '%d-%m-%Y') as datefr 
FROM blague
ORDER BY date DESC 
LIMIT ".($page * $nb_per_page).",  $nb_per_page";

par albat » 29 oct. 2008, 13:40

Modération :
Romuald632, veille à retirer de tes interventions
(messages d'erreurs, url, code, etc.) tout élément douteux.

J'ai édité ton précédent message pour retirer un tel élément.

par Romuald632 » 29 oct. 2008, 13:00

Bonjour,
Voilà mon code
SELECT pseudo,date,texte_blague, DATE_FORMAT(date, '%d-%m-%Y') as datefr FROM LIMIT blague ORDER BY date DESC
Et voilà mon ereur :
Warning: mysql_select_db(): supplied argument is not a valid MySQL-Link resource in D:\Romuald\Travail\wamp\www\**************\affichage_blague_2.php on line 97
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 'LIMIT blague ORDER BY date DESC' at line 1

par charabia » 29 oct. 2008, 12:28

Sans le LIMIT c'est normal que tu as tous les enregistrements. Quelle erreur as-tu en le mettant ?

par Romuald632 » 29 oct. 2008, 12:04

Bonjour,
J'ai trouvé un tuto sur le site OK
J'essaye de l'adapter à mon problème, mais j'ai quelques soucis.
Le nombre de page à afficher : OK
Mais j'ai quand même toutes mes données qui s'affiche sur chacune des pages. J'ai essayé de mattre un "LIMIT" mais ça m'a mis une erreur...
Voici mon code
<?php 
echo("<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n"); 
?> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" xml:lang="fr" /> 
<title></title> 
</head> 
<body> 
<?php 
/** 
Commençons par fixer les paramètres : 
 */ 
/* Paramètres de connexion */ 
$admin_bd   = "root";              /* Le pseudonyme permettant à l'administrateur de se connecter */ 
$mdp_bd     = "";                  /* Le mot d passe de l'administrateur de base de données */ 
$serveur_bd = "localhost";         /* L'adresse du serveur de base de données */ 
$base_bd    = "bdd";           /* La base de données où sont enregistrées les informations */ 

/* Paramètres de pagination */ 
$nb_nouv_par_page = 5;             /* Nombre de nouvelles qui seront affichées sur chaque page */ 
$url = "./affichage_blague_2.php?page="; 

/* On détermine quelle est la page qui est actuellement affichée */ 
$page_en_cours    = isset($_GET['page']) ? $_GET['page'] : 0; 
$page_affichee    = ($page_en_cours + 1); 

/* Connexion au serveur de base de données */ 
$connexion = mysql_pconnect($serveur_bd, $admin_bd, $mdp_bd); 
mysql_select_db($base_bd); 

/* Requête pour compter les nouvelles présentes dans notre base de données */ 
$sql_nb = "SELECT COUNT(*) FROM `blague`"; 

/* Exécution de la requête et récupération du résultat */ 
$resultat_1 = mysql_query($sql_nb); 
$nb_nouvelles = mysql_result($resultat_1, 0); 

/* Calcul du nombre total de pages : on arrondit à l'entier supérieur (ceil() ) */ 
$nb_pages = ceil($nb_nouvelles / $nb_nouv_par_page); 

/**  
Nous disposons maintenant de suffisament d'éléments pour créer notre barre de navigation. 
Première chose à vérifier : avons-nous plusieurs pages, et au moins une ? 
 */ 
if($nb_pages > 0) 
{ 
    /* On définit une variable qui contiendra les données de navigation */ 
    $barre_nav = ""; 
    /* Nous avons au moins une page : avons nous besoin d'une barre de navigation ? */ 
    if($nb_pages > 1) 
    { 
        /**  
        Nous avons plusieurs pages: nous allons afficher successivement les liens vers 
        les pages précédentes s'il y en a, la page en cours et les liens vers les pages 
        suivantes. Nous aurons une barre sous la forme : 1 | 2 | 3 etc.. en liens clicables 
        sauf pour la page en cours dont nous mettrons le chiffre en gras 
         */ 
        if($page_en_cours > 0) 
        { 
            for($i = 0; $i < $page_en_cours; $i++) 
            { 
                $p = $i + 1; 
                $barre_nav .= "<a href=\"". $url . $i ."\" title=\"page ". $p ."\">". $p ."</a> | "; 
            } 
        } 
        /** 
        On affiche la page en cours : notez le (+ 1) : pour les calculs, nous partons d'une  
        page 0 mais pour l'internaute, il est préférable de commencer à la page 1, donc on incrémente 
         */ 
        $barre_nav .= "<strong>". $page_affichee ."</strong>"; 
        /* Enfin on affiche (s'il y a lieu) les liens vers les pages suivantes */ 
        if(($page_affichee) < $nb_pages) 
        { 
            /* Il reste encore d'autres pages à afficher */ 
            $nb_suivantes = $nb_pages - ($page_affichee); 
            for($j = ($page_affichee); $j < $nb_pages; $j++) 
            { 
                $p = $j + 1; 
                $barre_nav .= " | <a href=\"". $url . $j ."\" title=\"page ". $p ."\">". $p ."</a>"; 
            } 
        } 
         
        /* On peut définir en plus la situation dans une autre variable à afficher ailleurs */ 
        $page_affichee = "Page ". $page_affichee ." sur ". $nb_pages ." pages."; 
    } 
    else 
    { 
        /* Nous n'avons qu'une seule page, on peut se contenter d'afficher juste page 1/1 */ 
        $barre_nav .= "Page 1/1"; 
    } 
    /** 
    On peut maintenant afficher notre page. On va commencer par récupérer les informations 
    On doit définir à partir de quelle nouvelle on doit récupérer les données dans la clause LIMIT. 
     */ 
mysql_select_db('bdd',$db);

$affichage = mysql_query("SELECT pseudo,date,texte_blague, DATE_FORMAT(date, '%d-%m-%Y') as datefr FROM blague ORDER BY date DESC") or die(mysql_error());
 
while ($donnees = mysql_fetch_array($affichage) )
{
?>

Postée par <?php echo $donnees['pseudo'];?>, le <?php echo $donnees['datefr'];?><br />
<?php echo $donnees['texte_blague'];?><br /><hr />
<?php 
    } 
    /* on libère la mémoire */ 
    mysql_free_result($resultat_1); 
    mysql_free_result($affichage); 
    /* On peut fermer la connexion à MySQL */ 
    mysql_close($connexion); 
    /* On affiche maintenant la barre de navigation */ 
?> 
<p class="navigation"><?php echo($barre_nav); ?></p> 
<?php 
} 
else 
{ 
    /**  
    Nous n'avons aucune page, on peut alors afficher un message autre  
    sans devoir nous préoccuper de la navigation 
     */ 
?> 

<hr /> 
<?php 
} 
?> 
</body> 
</html> 
Merci d'avance

par charabia » 29 oct. 2008, 11:14

Affichage

par Romuald632 » 29 oct. 2008, 11:07

Bonjour,
Je sais que lorsqu'on veut limiter un nombre d'affichage d'élément de la BDD on utilise LIMIT 0,10 !
Mais là où je coince, c'est quand je veux afficher 10 résultats par page par exemple et mettre un lien permettant d'aller aux 10 résultats suivants et ainsi de suite...
Si vous pouviez m'aider...
Merci d'avance