IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Problème de Galerie


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Programmeur
    Inscrit en
    Mai 2012
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Programmeur

    Informations forums :
    Inscription : Mai 2012
    Messages : 55
    Par défaut Problème de Galerie
    Reformulation :

    Bonjour à tous ! J'ai une petite galerie photo en php. Chaque utilisateurs met leurs photos sur dans un répertoire (répertoire créer à l'enregistrement du compte). Je crée un tableau de 6/10 en plaçant les images l'unes après l'autres. Jusque là tous fonctionnes. Cependant avec la jointures de mes tables dans la base de donnée, je me suis rendu compte qu'il y avais un problème. Il cherchait dans le répertoire du premier utilisateur enregistré. J'ai donc fait une boucle pour savoir dans l'ordre les utilisateurs qui on poster leurs photos. Mais je ne sais pas ou placer cette dernière boucle.

    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
    <?php
    	//images/utilisateurs/$utilisateurs/img.jpg/
    	//$utilisateurs est par exemple : Awery 
    	//images/utilisateurs/Awery/img.jpg
     
    	//initialisation des variables
    	$width = 5;
    	$height = 9;
     
    	echo 'Les photos présentent dans cette catégie son visible que par les membes identifés. <br /> <br /><h2>Galerie</h2>';
    	echo '<table border="1" >';
     
    	if(isset($_GET['page']) && !empty($_GET['page'])){
    		if(is_numeric($_GET['page'])){
    			$page = $_GET['page'];
    		}
    		else{
    				echo 'Erreur de page, veuillez faire attention';
    		}
    	}
    	else{
    		$page = 0;
    	}
     
    	$debut = 60*$page;
    	$requete = mysql_query("SELECT * FROM Photo WHERE Position=1 LIMIT $debut,60");
    	$requete_max = mysql_query("SELECT COUNT(Nom_Photo) FROM Photo WHERE Position=1");
    	$data_max = mysql_fetch_array($requete_max);
    	$nb_max = $data_max[0];
    	$i=0;
    	$j=0;
     
    	while($data=mysql_fetch_array($requete)){
    		if($i==0){
    			echo '<tr>';
    		}
    		echo '<td>';	
    		$rqt_utilisateurs_posteur = "SELECT * FROM Photo INNER JOIN Utilisateurs ON Utilisateurs.ID_Utilisateurs = Photo.ID_Utilisateurs";
    		$exe_rqt_utilisateurs_posteur = mysql_query($rqt_utilisateurs_posteur) or die ('Erreur lors de la rechercher de l\'utilisateurs posteur : '.mysql_error());
    		while($data_rqt_utilisateurs_posteur = mysql_fetch_array($exe_rqt_utilisateurs_posteur)){
    			$utilisateurs = $data_rqt_utilisateurs_posteur['Pseudo_Utilisateurs'];					
    			echo '<img src="images/utilisateurs/'.$utilisateurs.'/'.$data['Nom_Photo'].'" style="height:100px;" /><br />';
    			echo 'Par'. $data_rqt_utilisateurs_posteur['Pseudo_Utilisateurs'];
    		}
    		echo'</td>';
     
    		$i++;
    		if($i>$width){
    			echo '</tr>';
    			$j++;
    			$i=0;
    		}
    	}
     
    	echo '</table>';
     
    	$nb_page = 0;
    	$reste = $nb_max%60;
    	if($reste>0){
    		$nb_page++;
    	}
    	$nombre_divisible = ($nb_max - $reste);
    	$nb_page += ($nombre_divisible/60);
     
    	echo '<div style="text-align:center;">';
    	for($i=0;$i<$nb_page;$i++){
    		if($i==$page){
    			echo '<strong style="color:red;" >'.$i.'</strong> ';
    		}
    		else{
    			echo '<a href="index.php?id=Membre&cat=Entre_nous&page='.$i.'" >'.$i.'</a>';
    		}
    	}
    	echo '</div>';
     
    ?>
    A la ligne 40 je fait cette boucle qui me répete les utilisateurs mais tous autant de fois qu'il y a de photo !

    Je ne sais vraiment plus quoi tester, si vous avez la solution dites la moii

  2. #2
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut
    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
     
    $rqt_utilisateurs_posteur = "SELECT * FROM Photo INNER JOIN Utilisateurs ON Utilisateurs.ID_Utilisateurs = Photo.ID_Utilisateurs ORDER BY Utilisateurs.nom";
    $exe_rqt_utilisateurs_posteur = mysql_query($rqt_utilisateurs_posteur) or die ('Erreur lors de la rechercher de l\'utilisateurs posteur : '.mysql_error());
    // ici faire un premier fetch et premier affichage
    // mis à jour d'une variable ref_nom = $data_rqt_utilisateurs_posteur['Pseudo_Utilisateurs'];
    while($data_rqt_utilisateurs_posteur = mysql_fetch_array($exe_rqt_utilisateurs_posteur)){
       $utilisateurs = $data_rqt_utilisateurs_posteur['Pseudo_Utilisateurs'];
       // ici test le nom par rapport à la référence
       // voir str_compare, je vais vite ...
       if($ref_nom<>$utilisateurs) {
          echo 'Par'. $data_rqt_utilisateurs_posteur['Pseudo_Utilisateurs'];
     
          //maj pour liste suivante
          $ref_nom=$utilisateurs
       } else {			
          echo '<img src="images/utilisateurs/'.$utilisateurs.'/'.$data['Nom_Photo'].'" style="height:100px;" /><br />';
    		}
    		echo'</td>';
    Par exemple ...

  3. #3
    Membre confirmé
    Homme Profil pro
    Programmeur
    Inscrit en
    Mai 2012
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Programmeur

    Informations forums :
    Inscription : Mai 2012
    Messages : 55
    Par défaut
    Ce qui nous donne alors ?

    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
    $rqt_utilisateurs_posteur = "SELECT * FROM Photo INNER JOIN Utilisateurs ON Utilisateurs.ID_Utilisateurs = Photo.ID_Utilisateurs";
    $exe_rqt_utilisateurs_posteur = mysql_query($rqt_utilisateurs_posteur) or die ('Erreur lors de la rechercher de l\'utilisateurs posteur : '.mysql_error());
    // ici faire un premier fetch et premier affichage
    // mis à jour d'une variable 
    $data_rqt_utilisateurs_posteur = mysql_fetch_array($exe_rqt_utilisateurs_posteur);
    $ref_nom = $data_rqt_utilisateurs_posteur['Pseudo_Utilisateurs'];
    while($data_rqt_utilisateurs_posteur = mysql_fetch_array($exe_rqt_utilisateurs_posteur)){
    	$utilisateurs = $data_rqt_utilisateurs_posteur['Pseudo_Utilisateurs'];
    	// ici test le nom par rapport à la référence
    	// voir str_compare, je vais vite ...
    	if($ref_nom<>$utilisateurs) {
    		echo 'Par'. $data_rqt_utilisateurs_posteur['Pseudo_Utilisateurs'];
    		//maj pour liste suivante
    		$ref_nom=$utilisateurs;
    	} 
    	else {			
    		echo '<img src="images/utilisateurs/'.$utilisateurs.'/'.$data['Nom_Photo'].'" style="height:100px;" /><br />';
    	}
    }
    Mais je me trouve qu'avec les photo du premier utilisateurs et les "Par" du dernier utilisateurs...

  4. #4
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut
    * Manque le premier affichage avant le While (la première photo)

    * Manque le ORDER BY dans ta requête

  5. #5
    Membre confirmé
    Homme Profil pro
    Programmeur
    Inscrit en
    Mai 2012
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Programmeur

    Informations forums :
    Inscription : Mai 2012
    Messages : 55
    Par défaut
    Comment ça le première affichage avant le while ?

  6. #6
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut
    Bein oui, sinon tu oublies la première photo de ta requête ...

    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
     
    // ici faire un premier fetch et premier affichage
    // mis à jour d'une variable 
    $data_rqt_utilisateurs_posteur = mysql_fetch_array($exe_rqt_utilisateurs_posteur);
    $ref_nom = $data_rqt_utilisateurs_posteur['Pseudo_Utilisateurs'];
    echo '<img src="images/utilisateurs/'.$ref_nom'/'.$data['Nom_Photo'].'" style="height:100px;" /><br />';
     
    // Ensuite nous déroulons avec la boucle ....
    while($data_rqt_utilisateurs_posteur = mysql_fetch_array($exe_rqt_utilisateurs_posteur)){
    	$utilisateurs = $data_rqt_utilisateurs_posteur['Pseudo_Utilisateurs'];
    	// ici test le nom par rapport à la référence
    	// voir str_compare, je vais vite ...
    	if($ref_nom<>$utilisateurs) {
    		echo 'Par'. $data_rqt_utilisateurs_posteur['Pseudo_Utilisateurs'];
    		//maj pour liste suivante
    		$ref_nom=$utilisateurs;
    	} 
    	else {			
    		echo '<img src="images/utilisateurs/'.$utilisateurs.'/'.$data['Nom_Photo'].'" style="height:100px;" /><br />';
    	}
    }
    Remarque: Pour être parfait , il faudrait tester le premier fetch car si rien alors, il y aura plantage.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Galerie] Problème sur galerie tutoriel
    Par JCMANSION dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 10
    Dernier message: 13/05/2011, 12h00
  2. Problème loader Galerie UIloader
    Par rauw69 dans le forum Flash
    Réponses: 0
    Dernier message: 09/01/2011, 00h28
  3. [VB.NET 2005] Problème sur une galerie photo ..
    Par jobunn dans le forum VB.NET
    Réponses: 5
    Dernier message: 29/05/2007, 15h09
  4. Problème de chargement de galeries Flash
    Par Strix dans le forum Flash
    Réponses: 8
    Dernier message: 06/12/2006, 15h51
  5. Problème Galerie photos Flash XML
    Par fredhali2000 dans le forum Flash
    Réponses: 2
    Dernier message: 30/08/2006, 11h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo