Aller au menu - Aller au contenu

Un livre d'or

Pour accéder à cette section
Connectez-vous !
connexion_rpx
Page Précédente  1  2  3  4  5  6  7 
Pseudo Commentaire
Page Précédente  1  2  3  4  5  6  7 
Hors ligne maousi # Posté le 06/12/2010 à 12:56:54
Diviser pour mieux régner !
Avatar

HELP

HTML/CSS: |||||||||| (100%)-------PHP: |||||||||| (90%)-------PDO:.|||||||||| (80%)
Javascript: |||||||||| (50%)--------QT:--|||||||||| (80%)-------Java: |||||||||| (20%)
 
Hors ligne Claw69 # Posté le 17/12/2010 à 17:03:02

Bonjour,

J'ai rencontré un gros problème avec la dernière boucle WHILE du script proposé par le tuto (boucle qui permet d'afficher tous les messages).

Si je la désactive, tout fonctionne au détail près de l'affichage des messages.
Si je l'active, MA PAGE EST INACCESSIBLE ! (je suis sous chrome)

J'ai planché pdt 2h sur le pb !

Et je l'ai contourné en écrivant différemment la requête en l'occurrence:
$req = $bdd->query('SELECT * FROM cap_livreor ORDER BY id DESC LIMIT ' . $premierMessageAafficher . ', ' . $nombreDeMessagesParPage);

MAIS JE NE SAIS TOUJOURS PAS POURQUOI CA NE MARCHE PAS AVEC LA METHODE TUTO ! :(

Si ça peut aider qqn........

et si qqn peut me trouver la cause aussi ;)
 
Hors ligne the_gameur # Posté le 23/12/2010 à 20:47:35
1++1=11

Bonjour,
je n'arrive pas a me connecter.
Je suis chez free.
Le code que je met est:
Code : PHP
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
<!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>
       <title>Livre d'or</title>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
 
        <style type="text/css">
        form, .pages
        {
            text-align:center;
        }
        </style>
    </head>
    <body>
 
    <form method="post" action="livredor.php">
        <p>Mon site vous plaît ? Laissez-moi un message !</p>
        <p>
            Pseudo : <input name="pseudo" /><br />
            Message :<br />
            <textarea name="message" rows="8" cols="35"></textarea><br />
            <input type="submit" value="Envoyer" />
        </p>
    </form>
 
    <p class="pages">
 
<?php
mysql_connect("sql.free.fr", "game.tv", "monmotdepasse");
mysql_select_db("livredor");
 
// --------------- Etape 1 -----------------
// Si un message est envoyé, on l'enregistre
// -----------------------------------------
 
if (isset($_POST['pseudo']) AND isset($_POST['message']))
{
    $pseudo = mysql_real_escape_string(htmlspecialchars($_POST['pseudo'])); // On utilise mysql_real_escape_string et htmlspecialchars par mesure de sécurité
    $message = mysql_real_escape_string(htmlspecialchars($_POST['message'])); // De même pour le message
    $message = nl2br($message); // Pour le message, comme on utilise un textarea, il faut remplacer les Entrées par des <br />
 
    // On peut enfin enregistrer :o)
    mysql_query("INSERT INTO livredor VALUES('', '" . $pseudo . "', '" . $message . "')");
}
 
// --------------- Etape 2 -----------------
// On écrit les liens vers chacune des pages
// -----------------------------------------
 
// On met dans une variable le nombre de messages qu'on veut par page
$nombreDeMessagesParPage = 10; 
// On récupère le nombre total de messages
$retour = mysql_query('SELECT COUNT(*) AS nb_messages FROM livreor');
$donnees = mysql_fetch_array($retour);
$totalDesMessages = $donnees['nb_messages'];
// On calcule le nombre de pages à créer
$nombreDePages  = ceil($totalDesMessages / $nombreDeMessagesParPage);
// Puis on fait une boucle pour écrire les liens vers chacune des pages
echo 'Page : ';
for ($i = 1 ; $i <= $nombreDePages ; $i++)
{
    echo '<a href="livredor.php?page=' . $i . '">' . $i . '</a> ';
}
?>
 
</p>
 
<?php
 
 
// --------------- Etape 3 ---------------
// Maintenant, on va afficher les messages
// ---------------------------------------
 
if (isset($_GET['page']))
{
        $page = $_GET['page']; // On récupère le numéro de la page indiqué dans l'adresse (livreor.php?page=4)
}
else // La variable n'existe pas, c'est la première fois qu'on charge la page
{
        $page = 1; // On se met sur la page 1 (par défaut)
}
 
// On calcule le numéro du premier message qu'on prend pour le LIMIT de MySQL
$premierMessageAafficher = ($page - 1) * $nombreDeMessagesParPage;
 
$reponse = mysql_query('SELECT * FROM livreor ORDER BY id DESC LIMIT ' . $premierMessageAafficher . ', ' . $nombreDeMessagesParPage);
 
while ($donnees = mysql_fetch_array($reponse))
{
        echo '<p><strong>' . $donnees['pseudo'] . '</strong> a écrit :<br />' . $donnees['message'] . '</p>';
}
 
mysql_close(); // On n'oublie pas de fermer la connexion à MySQL ;o)
?>
 
</body>
</html>

cela me dit:
Code : Autre
1
2
3
4
5
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /mnt/153/sdc/b/d/game.tv/livredor.php on line 55
Page :


Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /mnt/153/sdc/b/d/game.tv/livredor.php on line 90

xHtml: ||||||||||
Php: ||||||||||
Mysql: ||||||||||
 
Connecté ko_ok70 # Posté le 03/01/2011 à 00:26:25
@silence
Avatar

bonjour,
voici mon code en utilisant PDO comme dans le cours de m@teo21
En espérant vous aider
Secret (cliquez pour afficher)
Code : PHP
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
<!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>
       <title>Bienvenue sur mon site !</title>
       <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
   
<style type="text/css">
    form ,.pages
        {    
         text-align:center;
	}
</style>
<body>

<form method="post" action="livreor.php">
<p> Mon site vous plait ? Laissez-moi un message ! <p>
<p>
<label for="pseudo">Pseudo</label> : <input type="text" name="pseudo"  /><br /><label for="message">votre message:</label><br />
<textarea name="message"  rows="10" cols="50"></textarea><br />
<input type="submit" value="Envoyer"/>
</p>
</form>
<p class="pages">
<?php
  // Connexion à la base de données chez moi c'est(dev_dev) et la table c'est (livreor) 
 try
{
    $pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
    $bdd = new PDO('mysql:host=localhost;dbname=dev_dev', 'root', '', $pdo_options);
    if (isset($_POST['pseudo']) AND !empty($_POST['pseudo']) AND isset($_POST['message']))
	{
    // Insertion du message à l'aide d'une requête préparée
    $req = $bdd->prepare('INSERT INTO livreor (pseudo, message) VALUES(?, ?)');
    $req->execute(array($_POST['pseudo'], $_POST['message']));
	
	}	
	
   $nombreDeMessagesParPage = 5;
   $ret = $bdd->query('SELECT COUNT(*) AS nb FROM livreor');

   $data = $ret->fetch();
   $totalDesMessages = $data['nb'];
 
   $nombreDePages  = ceil($totalDesMessages / $nombreDeMessagesParPage);
 
   echo 'Page : ';
   
      {
        for ($i = 1 ; $i <= $nombreDePages ; $i++)
          {
           echo '<a href="livreor.php?page=' . $i . '">' . $i . '</a> ';
          }
       }
	echo '<br /><em> nombre totale des messages</em>'.$totalDesMessages;
}
   catch(Exception $e)
{
    die('Erreur : '.$e->getMessage());
}
?>
</p>
  
   
<?php
   // --------------- Etape 3 ---------------
   // Maintenant, on va afficher les messages
   // ---------------------------------------
 if (isset($_GET['page']) )
  {
    $page = intval($_GET['page']); // On récupère le numéro de la page indiqué dans l'adresse (livreor.php?page=4)
  }
 else // La variable n'existe pas, c'est la première fois qu'on charge la page
  {
        $page = 1; // On se met sur la page 1 (par défaut)
  }
    // On calcule le numéro du premier message qu'on prend pour le LIMIT de MySQL
  $premierMessageAafficher = ($page - 1) * $nombreDeMessagesParPage;
  $reponse = $bdd->query('SELECT pseudo, message FROM livreor ORDER BY id DESC LIMIT ' . $premierMessageAafficher . ', ' . $nombreDeMessagesParPage);
    

    // Affichage de chaque message (toutes les données sont protégées par htmlspecialchars)
 while ($donnees = $reponse->fetch())
    {

       echo '<p><strong>' . htmlspecialchars($donnees['pseudo']) . ' a écrit:</strong> :<br /> ' . nl2br( htmlspecialchars($donnees['message'])) . '</p>';
    }
    $reponse->closeCursor();

?>
</body>
</html>

Mes yeux de Coleur # :D ;)
 
Hors ligne Zedy # Posté le 21/02/2011 à 18:03:19
Script Kidz
Avatar
Flux RSS

Très bon tuto, juste une petite remarque pour ce qui sont chez Free (avec la version 5.1.3 de PHP), il faut mieux faire ceci pour protéger :
Code : PHP
1
2
3
4
5
6
$nom = mysql_real_escape_string(htmlspecialchars($_POST['nom'])); //On échappe le HTML et le SQL du nom
$livredo = htmlspecialchars($_POST['livredo']); //On échappe  le HTML du message
$livredo = nl2br($livredo); //On convertis les "\n" en <br />
$livredo = mysql_real_escape_string($livredo); //On échappe le SQL du message 
$query="INSERT INTO livredo VALUES ('','".$livredo."','".$nom."')"; //Préparation de la requête
mysql_query($query); //envoie


Enfin chez moi ça marche beaucoup comme ça.
Merci quand même pour ce superbe tuto ;)
Hors ligne ouille1er # Posté le 22/05/2011 à 07:30:43
Avatar

très bon tutoriel
merci



Absentem lædit, qui cum ebrio
 
Connecté ori0N42 # Posté le 26/07/2011 à 17:55:31
Souriez : demain ce sera pire
Avatar

Avis : Très bon

Merciiii mathéo ... :)

« Un langage informatique est sencé être une façon simple et conventionnelle de donner des ordres à un ordinateur ; il n'est pas censé être obscur, bizarre, et pleins de pièges subtils (attributs que l'on associe souvent à la magie) ! »
 
Hors ligne Moll # Posté le 11/09/2011 à 09:49:38
Avatar

bonjour,

quand je me connecte sur la page du livre d'or: j'ai aussitôt "a écrit: " qui s'affiche en première ligne au-dessus des messages déjà envoyés! (sans que je n'envoie quoique ce soit)

merci de votre aide
Hors ligne moonpearl # Posté le 17/10/2011 à 19:08:47

Je n'arrive pas à le faire fonctionner ... vais relire mais s'il y a quelqu'un qui s'y connait, votre aide serait apprécié.

Merci
Hors ligne cptbartok # Posté le 24/10/2011 à 22:11:06

Bonjour à tous :
J'ai un soucis qui me gave un peu car je ne trouve pas le résultat :
Je me suis fortement inspiré du script de M@teo pour mon livre d'or (j'ai tout appris ici pour développer mon site orienté photo)...
Et il se trouve qu'en essayant de rajouter simplement la date aux posts de mes visiteurs, je n'arrive pas à me dépatouiller : en effet, l'ordi m'affiche inexorablement 01/01/1970 !!!!! Voilà ce que j'ai rajouté dans le script :

PS : j'ai donc crée ma table "livreor" : iD/Pseudo/Message/Date
mysql_query("INSERT INTO livreor VALUES('', '" . $pseudo . "', '" . $message . "', '" . $date . "')");

Et pour l'affichage de la date :
echo '<font color="orange">'.date("d/m/Y",$val['date_post']).'</font>';


Je me rend compte que c'est au niveau de l'enregistrement que cela pêche, car dans phpmyadmin, il y a toujours écrit 00/00/00 dans la colonne date...


HELP !!!
Hors ligne cptbartok # Posté le 24/10/2011 à 22:17:40

AH et puis tiens, un autre problème sur lequel je m'arrache les cheveux ...
Pour une raison que je n'explique pas du tout, lorsque je crée un message sur mon livre d'or, une fois celui ci posté, lorsque je rafraichi ma page, eh bien il se trouve que ce dernier est dupliqué, puis si je rafraichi encore, c'est à nouveau le cas, etc.....
Quel diable possède ma page?? !!!
HELP BIS !!!
Hors ligne chaplin # Posté le 09/12/2011 à 17:56:23
Avatar

Bonsoir,
Donc comme beaucoup j'ai un souci dont je n'ai pas trouvé la reponse dans les commentaires des autres pages, mais qui ai pourtant enumere. Jai pris le code du tuto sachant que cétait la corection donc voila lendroit de mon souci:

55 $donnees = mysql_fetch_array($retour);

90 while ($donnees = mysql_fetch_array($reponse))

Cela fait maintenant toute lapres midi que je suis passé dessus sans trouver la bonne reponse. Jimplore maintenant de l'aide ;(
Hors ligne MinePod # Posté le 10/01/2012 à 20:56:53
Linux inside!
Avatar

Ville : Antagnes
Pays : Suisse

Citation : maousi
Bonjour à tous...

Moi j'ai juste un petit problème que je ne comprend pas

Citation : M@teo

mysql_connect("localhost", "sdz", "mot_de_passe");
mysql_select_db("coursphp");


C'est la première foi qu'il utilise cette technique...

Alors par quoi faut-il remplacer "sdz", "mot_de_passe" et "coursphp" dans notre cas??




Par le nom de ta base de donnée pour "coursphp"?

Citation : Albert Einstein
Placez votre main sur un poêle une minute et ça vous semble durer une heure. Asseyez vous auprès d'une jolie fille une heure et ça vous semble durer une minute. C'est ça la relativité.
:p
 
Hors ligne mimipoc # Posté le 05/02/2012 à 22:46:58

alors là moi je me dis bravo!
j'ai même ouvert une bouteille!
mon livre d'or est presque parfait mais surtout c'est le mien et je comprends tout ce qu'il y a dedans.

Maintenant place aux remerciements:

je remercie Mathieu pour ses tutos, pas toujours faciles à suivre, mais comme j'y suis arrivée, moi :ange: c'est qu'il est drôlement fort!
puisqu'il faut lui mettre une note, ce sera Secret (cliquez pour afficher)
Code : zCode
1
2
19/20
ben oui quoi ?php commence à compter à 0 et non pas à 1


je remercie tous ceux qui poste dans ce forum et ceux qui font des tutos
un merci particulier aussi à `Haku son tuto m'a bien aidée aussi
J'ai abandonné plein de fois, et je m'y suis remise ...
des longs moments en me disant que c'était trop dur pour moi
j'ai acheté le livre de Mathieu, j'aime bien le papier aussi pas que mon clavier ...

bref et sans honte ... il m'a fallu du temps mais je suis contente

je suis pas si vieille que ça mais plus très jeune
Hors ligne funkatronix # Posté le 29/02/2012 à 18:54:33
Avatar

@ cptbartok

Je sais que ton message est vieux mais si d'autres personnes sont dans le même cas et viennent sur ce site : vérifie dans ta base de données que ton champ "date" est bien de type "timestamp" et que son attribut est bien "on update CURRENT_TIMESTAMP".

@+
Hors ligne duke37100 # Posté le 01/03/2012 à 22:42:04

salut j'ai un petit ou gros probleme voici mes message derreur o_O :

Warning: mysql_connect() [function.mysql-connect]: Can't connect to local MySQL server through socket '/tmp/mysqld.sock' (2) in /homepages/14/d403598085/htdocs/Tescommentaires.php on line 29

Warning: mysql_select_db() [function.mysql-select-db]: Can't connect to local MySQL server through socket '/tmp/mysqld.sock' (2) in /homepages/14/d403598085/htdocs/Tescommentaires.php on line 30

Warning: mysql_select_db() [function.mysql-select-db]: A link to the server could not be established in /homepages/14/d403598085/htdocs/Tescommentaires.php on line 30

Warning: mysql_query() [function.mysql-query]: Can't connect to local MySQL server through socket '/tmp/mysqld.sock' (2) in /homepages/14/d403598085/htdocs/Tescommentaires.php on line 47

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /homepages/14/d403598085/htdocs/Tescommentaires.php on line 47

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /homepages/14/d403598085/htdocs/Tescommentaires.php on line 48
Page :


Warning: mysql_query() [function.mysql-query]: Can't connect to local MySQL server through socket '/tmp/mysqld.sock' (2) in /homepages/14/d403598085/htdocs/Tescommentaires.php on line 78

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /homepages/14/d403598085/htdocs/Tescommentaires.php on line 78

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /homepages/14/d403598085/htdocs/Tescommentaires.php on line 80

Warning: mysql_close(): no MySQL-Link resource supplied in /homepages/14/d403598085/htdocs/Tescommentaires.php on line 85


comment regler sa merci d'avance :D
Hors ligne funkatronix # Posté le 05/03/2012 à 10:25:33
Avatar

Tente la méthode de connexion via PDO comme indiqué dans le post de ko_ok70 que tu trouveras un peu plus haut. Elle marche nickel.
Connecté G'orgio # Posté le 11/04/2012 à 19:32:07
Geek in progrees
Avatar

Avis : Très bon

Ville : Montréal
Pays : France métropolitaine

Très bien mais pour les plus nouveaux faudrait le mettre à jour en utilisant PDO sinon nickel.

Vive notre administrateur :soleil:

Sans code l'aide est impossible.

Quand votre problème est résolue indique le avec la réponse qui vous à aidé.

Image utilisateur

Si quelqu'un ce connait en MathML me contactez par MP :)
 
Hors ligne celianvdb # Posté le 13/04/2012 à 12:31:39

Avis : Très bon

Super tp

Merci beaucoup
Hors ligne JeeDay # Posté il y a 1h59
Free Yourself and so be 2 geek
Avatar

Salut à vous les zéros, voici la pagination que je proposes en PDO :-° :

Image utilisateur

Avantage : Si vous avez 200 pages, vous n'aurais pas affiché 200 boutons juste 9 quelque soit le nombre cool hein ? :D :

Tenez c'est cadeau :) :

** Etape 1 mettre les fonctions dans un fichier fonctions.php (copiez le bloc) ***



Code : PHP
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
<?php   
// A - Fonction pour calculer le nombre de pages      

function calcul_des_pages($table, $bdd, $resultats)      
{      
//je compte le nombre de messages postés dans ma base de donnée      
         $reponse = $bdd->query('SELECT COUNT(*) AS nbr_publication FROM '.$table.'');      
         $donnees = $reponse->fetch();      
         $GLOBALS['nb_req']++;      
         if (isset($_GET['page'])) //Si le numéro de page est connu ( parametre $_GET['page'] est prit dans l'url ), celui_ci est égal a la variable $pages      
         {      
         $page = (int)$_GET['page'];      
         }                              
         else //Mais Si le numéro de page est inconnu, celui_ci est égal a 1      
         {      
         $page = 1;      
         }                      
         $nbr_publication = $donnees['nbr_publication']; //Nombre de méssages dans ma base de donnée                      
         $nbr_pages = $nbr_publication/$resultats; //Nombre de page du site en fonction du nombre de méssages e le nombre de résultats demandé par page                      
         $nbr_pages = ceil($nbr_pages); //Ce nombre est arrondi au supperieur (ex : si j'ai 2,3 pages je l'arrondi comme ça 2,3 -> 3      
$premier_article = $resultats*$page-($resultats*$page/$page); //Ligne a partir de laquelle on va afficher les résultats      
         $dernier_article = $resultats; //Le nombre de résultats à afficher a partir de la ligne séléctionnée avant.                      
return array($page, $nbr_pages, $premier_article, $dernier_article); // Pour pouvoir récuperer les variables $nbr_pages, $premier et $dernier par la suite dans mon code              
}     


// B la fonction pour afficher les liens (page 1, 2 3 etc..) :      

   
function affichage_des_liens($page, $nbr_pages)      
{      
/******** DEBUT *********/      
echo '<div id ="liens_pages">      
<p>Pages :';      
$precedent = $page - 1;      

                if($page > 5 AND $page != 6) //Si le numero de la page sur laquelle on se trouve est inférieur a 5      
{      
                                 //On affiche les deux premiers liens et un lien précédent      
$debut = '<a href="votresite.com?page='.$precedent.'" title="Page précédente"><img src="http://b2geek.com/images/icones/fleche-erreur-a-gauche-precedente-icone-3917-16.png" alt="fleche-erreur-a-gauche-precedente-icone-3917-16.png"/></a>      
<a class ="liens_pages" href="votresite.com?page=1" title="page n° 1">1</a>      
<a class ="liens_pages" href="votresite.com?page=2" title="page n° 2">2</a> ... ';      
}                                      
                elseif($page == 1)      
                {                                      
                $debut = '';      
                }      
                                      
                elseif($page < 5 AND 1 < $page)      
                {      
                $debut = '<a href="votresite.com?page='.$precedent.'" title="Page précédente"><img src="http://b2geek.com/images/icones/fleche-erreur-a-gauche-precedente-icone-3917-16.png" alt="fleche-erreur-a-gauche-precedente-icone-3917-16.png"/></a>';      
                }      

elseif($page == 5)      
{      
$debut = '<a class ="liens_pages" href="votresite.com?page=1">1</a>';      
}      
                      
elseif($page == 6)      
{      
$debut = '<a href="votresite.com?page='.$precedent.'" title="Page précédente"><img src="images/icones/fleche-erreur-a-gauche-precedente-icone-3917-16.png" alt="fleche-erreur-a-gauche-precedente-icone-3917-16.png"/></a>      
<a class ="liens_pages" href="votresite.com?page=1" title="page n° 1">1</a> ...';      
}                                      

else      
{      
$debut = '<a class ="liens_pages"      
href="votresite.com?page='.$precedent.'" title="Page précédente"><img src="images/icones/fleche-erreur-a-gauche-precedente-icone-3917-16.png" alt="fleche-erreur-a-gauche-precedente-icone-3917-16.png"/></a>      
<a class ="liens_pages" href="votresite.com?page=1">1</a> ... ';      
}      
echo ''.$debut.'';      

/*********** MILIEU *********/      
        for ($i = 1; $i <= $nbr_pages; $i++)      
{      

if($i==$page) //Si il s'agit de la page actuelle...      
{      
echo '<span class = "liens_actif">'.$i.'</span>';      
}      
         elseif($i > $page + 3) //Si il s'agit de la page actuelle...      
{      
echo '';      
}      
         elseif($i < $page - 3) //Si il s'agit de la page actuelle...      
{      
echo '';      
}              
         else      
         {      
echo '<a class ="liens_pages" href="votresite.com?page='.$i.'" title="page n° '.$i.'">'.$i.'</a> ';      
         }      
                              
}      
                              
/******** FIN ********/      
                              
$totalmoins1 = $nbr_pages - 1;      
$totalmoins4 = $nbr_pages - 4;      
$totalmoins5 = $nbr_pages - 5;                              
                              

                                $suivant = $page + 1;      
                                      

if($page < $totalmoins4 AND $page != $totalmoins5)      
{      
$fin = '... <a class ="liens_pages" href="votresite.com?page='.$totalmoins1.'" title="page n° '.$totalmoins1.'">'.$totalmoins1.'</a>      
                                         <a class ="liens_pages" href="votresite.com?page='.$nbr_pages.'" title="page n° '.$nbr_pages.'">'.$nbr_pages.'</a>      
                         <a class ="liens_pages" href="votresite.com?page='.$suivant.'" title="Page suivante"><img src="http://b2geek.com/images/icones/prochain-a-droite-icone-5523-16-2.png" alt="prochain-a-droite-icone-5523-16.png"/></a>';      
}      

elseif($page == $totalmoins4)      
{      
$fin = '<a class ="liens_pages" href="votresite.com?page='.$nbr_pages.'" title="page n° '.$nbr_pages.'">'.$nbr_pages.'</a>';      
}      

elseif($page == $totalmoins5)      
{      
$fin = '... <a class ="liens_pages" href="votresite.com?page='.$nbr_pages.'" title="page n° '.$nbr_pages.'">'.$nbr_pages.'</a>      
                         <a class ="liens_pages" href="votresite.com?page='.$suivant.'" title="Page suivante"><img src="http://b2geek.com/images/icones/prochain-a-droite-icone-5523-16-2.png" alt="prochain-a-droite-icone-5523-16.png"/></a>';      
}                                      
                                      
else      
{      
$fin = '';      
}      


echo ''.$fin.'</p>';      

echo'</div>';      
}      
?>



Dans la fonction A (calcul_des_pages) vous n'avez rien a modifier. Et dans la fonction B (affichage_des_liens) vous devez juste remplace "votresite.com" par la vraie URL de votre site. (15 remplacements faisable en 2 minutes :) ).

Après avoir enregistré vos deux fonctions dans votre fichier fonctions.php vous pouvez utiliser le code sur votre page. enfin ^^




************** Etape 2 : Utilisation dans votre code **************




Code : PHP
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<?php      
include('fonctions.php');      

//definition de la table ou compter le nombre de contenu      
$table = 'REMPLACER';      
$resultats = 10; //vous choisissez le nombre de publications à afficher sur chaque page (réglé à 10 mais peut etre modifié).      
$hote = "REMPLACER";//votre hote      
$base = "REMPLACER";//votre nom de base de donne      
$pseudo_bdd = "REMPLACER";//pseudo      
$mdp_bdd = "REMPLACER";//mot de passe      

try      
{      
$pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;      
$bdd = new PDO('mysql:host='.$hote.';dbname='.$base, $pseudo_bdd, $mdp_bdd, $pdo_options);      
}      

catch (Exception $e)      
{      
        die('Erreur : ' . $e->getMessage());      
}              


//CALCUL DU NOMBRE DE PAGE      
calcul_des_pages($table, $bdd, $resultats);      

//EXTRAIRE LES VALEURS DE $page, $nbr_pages, $premier ET $dernier DE LA FONCTION calcul_des_pages($table, $bdd, $resultats)      
list($page, $nbr_pages, $premier_article, $dernier_article) = calcul_des_pages($table, $bdd, $resultats);              

// Je récupère tous les articles postés ainsi que le nombre de commentaire associés à chacuns      
$req = $bdd->query('SELECT * FROM '.$table.' ORDER BY id DESC LIMIT '.$premier.', '.$dernier.'');                                                                      
              
while ($donnees = $req->fetch())      
{      
              
//vos données à afficher              

}      
              
affichage_des_liens($page, $nbr_pages);              
?>




Vous devez copier-coller cette page sur votre page ou vous voulez voir apparaitre la pagination.

Données à remplacer :

Code : PHP
1
2
3
4
5
6
7
$table = 'REMPLACER';//Le nom de la table o|u se trouve vos publications
$resultats = 10; //vous choisissez le nombre de publications à afficher sur chaque page (réglé à 10 mais peut etre modifié).

$hote = "REMPLACER";//votre hote
$base = "REMPLACER";//votre nom de base de donne
$pseudo_bdd = "REMPLACER";//pseudo
$mdp_bdd = "REMPLACER";//mot de passe



LE CSS qui va avec si vous voulez des liens vraiment identiques :


Code : CSS
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#liens_pages
{
text-align:center;
margin-top:10px;
}
.liens_pages
{
padding: 2px 4px 2px 4px;
margin: 2px;
font-weight: bold;
border: 1px solid #1B99C2;
border-radius: 5px;
color: white;
background-color: #4D6AA6;
}
.liens_pages:hover
{
color:white;
background-color: #1B99C2;
}

.liens_actif
{
color: white;
padding: 2px 4px 2px 4px;
margin: 2px;
font-weight: bold;
border: 1px solid #3A4043;
border-radius: 5px;
background-color: #1B99C2;
}




Etape 3 : C'est une blague, il y a pas d'étape 3 c'est finit :lol: .

L'informatique au service du partage, du divertissement, des passions, de la communication, de la technologie, du futur :D, c'est ça l'aventure sur : b2geek Site communautaire d'entraide | Geekez en toute impunité c'est permit
Tutoriels (écrits et vidéos) d'informatique, de graphisme, ainsi que des Guides et Stratégies pour GAMER | 2 tutoriels déjà en ligne !

Code : PHP
1
<?php if (Isset($_GET['personne']) AND $_GET['personne'] == 'You') { echo 'HELLO THE WORLD';} ?>
 
Pour accéder à cette section
Connectez-vous !
connexion_rpx