Salut tout le monde,

Je suis occupé à créer une pagination sur base d'un tuto trouvé sur dvp.com.

J'adapte donc le code, ce qui me donne ceci :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
<?php
include('../Scripts/connexion.php');
//Je sélectionne le matricule, nom et prénom de l'étudiant qui sont dans dans le requete apres le premier IN
 
//requête qui nous permet d'avoir le nombre d'enregistrements pour la pagination
$Selection_etudiants = " 
SELECT DISTINCT MATRICULE_ET 
FROM inscrits_en 
WHERE MNEMONIC IN (
		SELECT MNEMONIC 
		FROM cours 
		WHERE NOM_ANNEE = 'BA3' 
		AND TYPE_DE_COURS = 'TH' 
		AND CATEGORIE = 'NORMAL'
		
) ORDER BY MATRICULE_ET LIMIT 1
";
 
 
 
//echo $Selection_etudiants;
 
// On met dans une variable le nombre d'étudiant qu'on veut par page
$nombreDeMessagesParPage = 1;
// On récupere le nombre total d'étudiants
$retour = mysql_query('SELECT COUNT(*) AS nb_etudiants FROM ('. $Selection_etudiants.') AS plop') or die(mysql_error());
//echo '<p> $retour :   ' . $retour . '</p>';
$donnees = mysql_fetch_array($retour);
$totalDesMessages = $donnees['nb_etudiants'];
//echo $totalDesMessages;
// On calcule le nombre de pages a créer
$nombreDePages  = ceil($totalDesMessages / $nombreDeMessagesParPage);
//echo '<p> $nombreDePages : '.$nombreDePages.' $totalDesMessages '.$totalDesMessages.'$nombreDeMessagesParPage '.$nombreDeMessagesParPage;
// Puis on fait une boucle pour écrire les liens vers chacune des pages
 
$pageActuelle=1; // La page actuelle est la n°1
 
$premiereEntree=($pageActuelle-1)*$nombreDeMessagesParPage; // On calcul la première entrée à lire
 
 
$Selection_etudiants_2 = "SELECT DISTINCT etudiants.MATRICULE_ET, etudiants.nom_et, etudiants.prenom_et
FROM etudiants
WHERE etudiants.matricule_et
IN (

SELECT DISTINCT MATRICULE_ET
FROM inscrits_en
WHERE MNEMONIC
IN (

SELECT MNEMONIC
FROM cours
WHERE NOM_ANNEE = 'BA3'
AND TYPE_DE_COURS = 'TH'
AND CATEGORIE = 'NORMAL'
)
)";
 
//echo $Selection_etudiants_2;
 
// La requête sql pour récupérer les messages de la page actuelle.
$retour_messages=mysql_query($Selection_etudiants_2 . 'ORDER BY id DESC LIMIT '.$premiereEntree.', '.$messagesParPage.'');
echo $retour_messages;
 
echo 'message par page : '.$messagesParPage.'<p>';
//echo $Selection_etudiants_2 . 'ORDER BY id DESC LIMIT '.$premiereEntree.', '.$messagesParPage; 
 
while($donnees_messages=mysql_fetch_assoc($retour_messages)) // On lit les entrées une à une grâce à une boucle
{
     //Je vais afficher les messages dans des petits tableaux. C'est à vous d'adapter pour votre design...
     //De plus j'ajoute aussi un nl2br pour prendre en compte les sauts à la ligne dans le message.
     echo '<table width="400" border="0" align="center" cellpadding="0" cellspacing="0">
                <tr>
                     <td><strong>Ecrit par : '.stripslashes($donnees_messages['MATRICULE_ET']).'</strong></td>
                </tr>
                <tr>
                     <td>'.nl2br(stripslashes($donnees_messages['MATRICULE_ET'])).'</td>
                </tr>
            </table><br /><br />';
    //J'ai rajouté des sauts à la ligne pour espacer les messages.   
}
 
 
?>
 
</p>
j'obtiens ce message d'erreur :

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in C:\wamp\www\Deliberations\pagination2.php on line 68
sur cette ligne :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
while($donnees_messages=mysql_fetch_assoc($retour_messages)) // On lit les entrées une à une grâce à une boucle
la variable $messageparpage ne donne rien :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
$retour_messages=mysql_query($Selection_etudiants_2 . 'ORDER BY id DESC LIMIT '.$premiereEntree.', '.$messagesParPage.'');
message par page :
Sauriez-vous svp me dire ce que je dois faire ?

Merci d'avance.

beegees