Bonjour,
J'ai deux scripts que je voudrais synthétiser . L'un affiche les informations de ma base de données en fonction d'un id se trouvant dans url. Si je choisis un artiste , il m'affiche seulement les œuvres de cette artiste.
L'autre script ne sélectionne pas les œuvres de l'artiste mais affiche toutes les œuvres de ma bd avec une pagination .
Depuis 5 jours j'essaye de synthétiser les deux pour obtenir, avec une pagination, des œuvres qui s'affiche en fonction d'un artiste spécifique. J'ai tout essayé. Les deux scripts ,indépendamment, fonctionnent; mais la synthèse non
script affiche info de l'artiste spécifique :
et le code qui affiche toutes les œuvres dans une pagination:
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 <?php require('mysql.connect.php'); if(isset($_GET['id'])&&((int) $_GET['id']>=1)){ $q='SELECT titre FROM oeuvre WHERE id='.$_GET['id']; $r=mysqli_query($db_connect,$q); $row=mysqli_fetch_array($r,MYSQLI_ASSOC); if(mysqli_num_rows($r)!=1){ $page_title='ERREUR!'; include('./include/header.html'); echo'<p class="error">L\'accés à cette page s\'est fait par erreur! Script oeuvre.php.</p>'; include('./include/footer.html'); exit(); } include('./include/header.html'); $r=mysqli_query($db_connect,$q); if(mysqli_num_rows($r)>0){ ?> <article> <div id="vitrine"> <!--menu ARTISTE dynamique récupération des artistes --> <ul id="sous_menu_vitrine"> <?php $q='SELECT * FROM artiste ORDER BY nom'; $r=mysqli_query($db_connect,$q); while(list($id,$nom)=mysqli_fetch_array($r,MYSQLI_NUM)){ echo'<li><a href="artiste.php?id='.$id.'" title="'.$nom.'">'.$nom.'</a></li>'; } ?> </ul><div id="texte_vitrine"> <?php // affichage des informations liées l'artiste sélectionné dans le menu dnzamique // echo"<div class='majuscule'>{$row['titre']}\n .</div> "; if(isset($_GET['id'])&&((int) $_GET['id']>=1)){ $q='SELECT titre FROM oeuvre WHERE id='.$_GET['id']; $r=mysqli_query($db_connect,$q); $row=mysqli_fetch_array($r,MYSQLI_ASSOC); if(mysqli_num_rows($r)!=1){ $page_title='ERREUR!'; include('./include/header.html'); echo'<p class="error">L\'accés à cette page s\'est fait par erreur! Script oeuvre.php.</p>'; include('./include/footer.html'); exit(); } include('./include/header.html'); $r=mysqli_query($db_connect,$q); if(mysqli_num_rows($r)>0){ ?> <article> <div id="vitrine"> <!--menu ARTISTE dynamique récupération des artistes --> <ul id="sous_menu_vitrine"> <?php $q='SELECT * FROM artiste ORDER BY nom'; $r=mysqli_query($db_connect,$q); while(list($id,$nom)=mysqli_fetch_array($r,MYSQLI_NUM)){ echo'<li><a href="artiste.php?id='.$id.'" title="'.$nom.'">'.$nom.'</a></li>'; } ?> </ul><div id="texte_vitrine"> <?php // affichage des informations liées l'artiste sélectionné dans le menu dnzamique // echo"<div class='majuscule'>{$row['titre']}\n .</div> ";($_GET['id']))
Je suis vraiment perdu et mon niveau de me permet pas d'y arrivé et pourtant j'ai cherché. Si je viens vers vous c'est que je ne vois pas comment. J'ai tout essayé même avec d'autres scripts de pagination.
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 <?php //Connexion à la base de données require('mysql.connect.php'); $messagesParPage=1; //Nous allons afficher 5 messages par page. //Une connexion SQL doit être ouverte avant cette ligne... $retour_total='SELECT COUNT(*) AS total FROM oeuvre WHERE id='.mysql_real_escape_string('id'); $r=mysqli_query($db_connect,$retour_total); //Nous récupérons le contenu de la requête dans $retour_total $donnees_total=mysqli_fetch_array($r); //On range retour sous la forme d'un tableau. $total=$donnees_total['total']; //On récupère le total pour le placer dans la variable $total. //Nous allons maintenant compter le nombre de pages. $nombreDePages=ceil($total/$messagesParPage); if(isset($_GET['page'])) // Si la variable $_GET['page'] existe... { $pageActuelle=intval($_GET['page']); if($pageActuelle>$nombreDePages) // Si la valeur de $pageActuelle (le numéro de la page) est plus grande que $nombreDePages... { $pageActuelle=$nombreDePages; } } else // Sinon { $pageActuelle=1; // La page actuelle est la n°1 } $premiereEntree=($pageActuelle-1)*$messagesParPage; // On calcul la première entrée à lire $retour_messages='SELECT * FROM oeuvre LIMIT '.$premiereEntree.', '.$messagesParPage.''; $r=mysqli_query($db_connect,$retour_messages); while($donnees_messages=mysqli_fetch_assoc($r)) // On lit les entrées une à une grâce à une boucle { $lien=$donnees_messages['photo']; //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"> <td> <img src="'.$lien.'"/> </tr> <tr> <td><strong>Titre de l\'oeuvre : '.stripslashes($donnees_messages['titre']).'</strong></td> </tr> <tr> <td><strong>Genre : '.nl2br(stripslashes($donnees_messages['discipline'])).'</td> </tr> <tr> </table><br /><br />'; //J'ai rajouté des sauts à la ligne pour espacer les messages. } echo '<p align="center">Page : '; //Pour l'affichage, on centre la liste des pages for($i=1; $i<=$nombreDePages; $i++) //On fait notre boucle { //On va faire notre condition if($i==$pageActuelle) //Si il s'agit de la page actuelle... { echo ' [ '.$i.' ] '; } else //Sinon... { echo ' <a href="information.php?page='.$i.'">'.$i.'</a> '; } } echo '</p>'; ?>
Un grand merci à celui ou celle qui pourra m'aider.
Laurent
Partager