Bonjour à tous, et merci d'avance pour vos lumières!
Je ne suis pas un vrai développeur PHP, mais jusque là j'ai su me débrouiller seul avec le manuel et quelques exemples.
Mais là je bloque. Je n'ai aucune idée de pourquoi puisque je n'ai aucun moyen de le savoir, d'où ma présence en espérant trouver quelqu'un qui a l'expérience nécessaire pour comprendre où ça bloque.
Le sujet :
- Un diaporama
- Avec un système de recherche des images dans plusieurs dossiers classé par thème.
- création d'un tableau regroupant toutes les images
- affichage du contenu du tableau
Le problème :
- Les images d'une seule rubrique s'affichent, alors que j'ai toutes les urls (en gros seul trois d'entre elles fonctionnent sur 5, toutes de la même rubrique)
Le code :
Mon diaporama randomize les images et les affichent. Seulement, seul 3/5 sont trouvé, celles correspondant à $c = 2; sachant qu'il va jusqu'à 3.
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 /***************** Première partie *******************/ /* Je récupère les différentes adresses de mes dossiers */ $photos = $wpdb->get_results("SELECT * FROM " .$wpdb->nggpictures. "" , 'ARRAY_A');; $last_id_Array = $wpdb->get_results("SELECT MAX(gid) FROM " .$wpdb->nggallery. "", 'ARRAY_A'); $last_id = implode($last_id_Array[0]); $list_dir = scandir("C:\wamp\www\MonAdresse\Cible\wp-content\gallery"); // recup list des galeries existantes (URL ne fonctionne pas) $i = 0; foreach($list_dir as $dir){ // loops to organize all gallery in array $fichier = array(); $path[] = array(); if (($dir != ".") && ($dir != "..") && ($dir != "cache")){ $fichier[$i] = $dir; $path[$i] = 'http://localhost/MonAdresse/Cible/wp-content/gallery/'.$fichier[$i]; // chemin img $i = $i+1; } $thumbs_path = ''; // chemin thumbs annulé. Pas besoin. } /**************** Deuxième partie *****************/ /* Je vais chercher mes images pour chaque adresse */ $c = 1; // gid (galleryid dans BDD) commence par 1 $p = 0; $folio = array(); do{ $photos = $wpdb->get_results("SELECT * FROM " .$wpdb->nggpictures. " WHERE galleryid='" .$c. "'" , 'ARRAY_A'); // recup les infos des photos de chaque galerie, 1 par 1. if($photos !=false){ if (!empty($photos)) { foreach($photos as $photo) { // ajoute la liste de photos de la galerie au tableau $folio[] = '<li><a href="'.$path[$p].'/'.$photo['filename'].'" class="thumb" id="thumb'.$photo['pid'].'" title="'.$photo['alttext'].'"> <img src="'.$thumbs_path.'/thumbs_'.$photo['filename'].'" title="'.$photo['alttext'].'" alt="'.$photo['alttext'].'" id="'.$photo['pid'].'" class="" width="" /> </a> <div class="caption"> <div class="image-title">'.$photo['alttext'].'</div> </div> </li>'; } } } $c = $c+1; $p = $p+1; } while( $c <= $last_id ); // fin de boucle définit par le nombre de galerie shuffle($folio); echo implode($folio); // affiche le tableau
Quand je vérifie chaque variable, tout est bon... y compris mes chemins d'accès aux images qui sont absentes. C'est pourquoi je ne comprends pas.
Si quelqu'un a une idée, elle est la bienvenue.
Merci d'avance.
Partager