Bonjour à tous,
Je ne comprends pas pourquoi ce code fonctionne :
Tout dans le fichier "index.php"
Alors que si je fais le même chose mais en séparant le php comme 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
87
88
89
90
91
92
93 <?php $bdListe = mysql_connect("localhost", "root", "") or die("Impossible de se connecter à la base de données !"); mysql_select_db("bd_lexique") or die("Base de données introuvable !"); $resultatParLettre = ""; $lettreCliquee = ""; if(isset($_GET['lettreCliquee']) && strlen($_GET['lettreCliquee']) == 1) { $laLettre = $_GET['lettreCliquee']; $laLettre = preg_replace("#[^a-z]#i", "", $laLettre); $requete = mysql_query("SELECT * FROM bd_artistes WHERE nom LIKE '$laLettre%' ORDER BY nom ASC") or die("Aucun résultat trouvé !"); $compteur = mysql_num_rows($requete); if($compteur == 0) { $resultatParLettre .= '<div class="erreur-recherche">Désolé, aucun artiste commençant par la lettre "'.$laLettre.'" ne figure dans notre base de données !</div>'; } else { while($ligne = mysql_fetch_array($requete)) { $nomChoisi = $ligne['nom']; $titreChoisi = $ligne['titre']; $idChoisi = $ligne['id']; $resultatParLettre .= '<div class="resultat-recherche">'.$nomChoisi.' '.$titreChoisi.'</div>'; } mysql_close($bdListe); } } ?> <!doctype html> <html> <head> <meta charset="utf-8"> <title>Search</title> <script> var divs = ""; var btns = ""; var lettres = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; var tableauLettres = lettres.split(""); for(var i = 0; i < 26; i++) { var lettre = tableauLettres.shift(); btns += '<button class="btns-lettres" onclick="lettreChoisie(\''+lettre+'\');">'+lettre+'</button>'; } function lettreChoisie(let) { document.location.href = "index.php?lettreCliquee="+let; } </script> </head> <body> <div id="bloque-lettres"> <script> document.write(btns); </script> </div> <!-- fin #bloque-lettres --> <?php print("$resultatParLettre"); ?> </body> </html>
Dans le fichier "index.php"
Puis dans le fichier "templates/lexique/recherche_par_click.php"
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 <!doctype html> <html> <head> <meta charset="utf-8"> <title>Search</title> <script> var divs = ""; var btns = ""; var lettres = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; var tableauLettres = lettres.split(""); for(var i = 0; i < 26; i++) { var lettre = tableauLettres.shift(); btns += '<button class="btns-lettres" onclick="lettreChoisie(\''+lettre+'\');">'+lettre+'</button>'; } function lettreChoisie(let) { // Chemin du fichier document.location.href = "templates/lexique/recherche_par_click.php?lettreCliquee="+let; } </script> </head> <body> <div id="bloque-lettres"> <script> document.write(btns); </script> </div> <!-- fin #bloque-lettres --> </body> </html>
Ca me génère une erreur et il m'affiche deux fois le chemin !?
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 <?php $bdListe = mysql_connect("localhost", "root", "") or die("Impossible de se connecter à la base de données !"); mysql_select_db("bd_lexique") or die("Base de données introuvable !"); $resultatParLettre = ""; $lettreCliquee = ""; if(isset($_GET['lettreCliquee']) && strlen($_GET['lettreCliquee']) == 1) { $laLettre = $_GET['lettreCliquee']; $laLettre = preg_replace("#[^a-z]#i", "", $laLettre); $requete = mysql_query("SELECT * FROM bd_artistes WHERE nom LIKE '$laLettre%' ORDER BY nom ASC") or die("Aucun résultat trouvé !"); $compteur = mysql_num_rows($requete); if($compteur == 0) { $resultatParLettre .= '<div class="erreur-recherche">Désolé, aucun artiste commençant par la lettre "'.$laLettre.'" ne figure dans notre base de données !</div>'; } else { while($ligne = mysql_fetch_array($requete)) { $nomChoisi = $ligne['nom']; $titreChoisi = $ligne['titre']; $idChoisi = $ligne['id']; $resultatParLettre .= '<div class="resultat-recherche">'.$nomChoisi.' '.$titreChoisi.'</div>'; } mysql_close($bdListe); } } ?> <?php include 'index.php'; // ici je ne peux pas lui dire le chemin templates/lexique/index.php. Pourtant il est bien dans ce dossier aussi print("$resultatParLettre"); ?>
J'ai eu beau y passer la nuit, je n'ai pas trouvé de solution... une aide serait la bienvenue, par avance merci à tous pour votre contribution.
Partager