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

PHP & Base de données Discussion :

Probleme de pagination [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Décembre 2008
    Messages
    299
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2008
    Messages : 299
    Par défaut Probleme de pagination
    Bonjour,
    je travail actuellement sur un site et à ce jour j'ai un gros soucis sur la pagination. En fait je veux que la pagination soit gérée automatiquement lorsqu'un certain nombre de Photo est affiché la page suivant est générer. J'ai fait le tour des tutoriel a moin qu'il y a eu quelque chose qui m'a échappé je n'y suis pas arrivé.
    En effet les photos sont organisé par catégorie.

    Voici mon code :
    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
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
     
     
     
    <?php
    include ("../inc/inc_conexion.php");
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
    <head>
    	<title>Bienvenue sur mon site !</title>
    	<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
    	<meta http-equiv="refresh" CONTENT="10000;URL=../pages/inc_image.php">
    	<link rel="stylesheet" media="screen" type="text/css" title="ZIMAGE COMM ZOT I AIME" href="pages/designe.css" />
    </head>
    <body style="background-color:#DDDDDD;">
    <?php
    // ----------------------------------------
    // requete de toutes les RUBRIQUES
    $query = "SELECT RubriqueID, RubriqueName FROM Rubrique ORDER BY RubriqueName DESC";
    $result = mysql_query($query) or die("ERROR");
    // ----------------------------------------
    // formulaire de selection
    echo '<form action="inc_image.php" enctype="multipart/form-data" method="post">';
    echo '<select name="frm_select_rubrique">';
    $Selected = 0;
    while ($row = mysql_fetch_array($result)){
    	if($Selected == 0){
    		echo '<option value="'.$row['RubriqueID'].'" selected="selected">'.$row['RubriqueName'].'</option>';
    		$Selected = 1;
    	} else {
    		echo '<option value="'.$row['RubriqueID'].'">'.$row['RubriqueName'].'</option>';
    	}
    }
    echo '</select>';
    echo '<input type="submit" value="Go"/>';
    echo '</form>';	
    // ----------------------------------------
    // SI LE FORMULAIRE A ETE RENSEIGNE (choix de la rubrique)
    if (isset($_POST['frm_select_rubrique']))
    {
    // ----------------------------------------
    	// recuperation des infos de la RUBRIQUE
    	$RubriqueID = $_POST['frm_select_rubrique'];
    	$sql_rubrique = "SELECT * FROM Rubrique WHERE RubriqueID=".$RubriqueID;
    	$result_rubrique = mysql_query($sql_rubrique);
    	$val_rubrique = mysql_fetch_array($result_rubrique);
    	// affichage du nom et de la description de la rubrique
    	echo $val_rubrique['RubriqueName'].'<br />';
    	echo $val_rubrique['RubriqueDesc'];
    	echo '<br /><br />';
     
    //************************************************************************************************************
    				//	PAGINATION EN FONCTION DU NOMBRE D'IMAGE AFFICHER PAR RUBRIQUE
    //************************************************************************************************************
    	/* Numero de page (1 par défaut) */
    if( isset($_GET['page']) && is_numeric($_GET['page']) )
      $page = $_GET['page'];
    else
      $page = 1;
     
    /* Nombre d'info par page */
    $pagination = 5;
    /* Numéro du 1er enregistrement à lire */
    $limit_start = ($page - 1) * $pagination;
     
    /* Préparation de la requête */
    $sql = "SELECT ImageID FROM image LIMIT $limit_start, $pagination";
    	ECHO ("$sql");
    /* Requête SQL */
    $resultat = mysql_query($sql);
     
    /* Traitement et affichage des données */
    while ( $donnee = mysql_fetch_assoc($resultat) ) {
     
    //*********************************************************************************************************//
    //*********************************************************************************************************//
    	// AFFICHAGE DES RESULTATS
    	// ----------------------------------------
    	// affichage sur 5 colonnes
    	$NbrCol = 5;
    	// ----------------------------------------
    	// La requete des IMAGES de la RUBRIQUE selectionnee :
    	$sql_images = "SELECT * FROM image, rubrique 
    		WHERE image.RubriqueID=rubrique.RubriqueID 
    		AND image.RubriqueID=".$RubriqueID." 
    		ORDER BY image.ImageName"; 
    	$result_images = mysql_query($sql_images);
    	// ----------------------------------------
    	// nombre total de cellules a remplir (peut servir a la PAGINATION)
    	$NbreData_images = mysql_num_rows($result_images);
    	// ----------------------------------------
    	// affichage des images
    	$NbrLigne = 0; //  (peut servir a la PAGINATION)
    	if ($NbreData_images != 0) {
    	$j = 1;
    	echo '<table border="-1">';
    	while ($img = mysql_fetch_array($result_images))
    	{
    		if ($j%$NbrCol == 1) {
    			$NbrLigne++;
    			echo "<tr>";
    			$fintr = 0;
    		}
    		echo '<td>';
    		// -------------------------
    		// DONNEES A AFFICHER dans la cellule : image et description
    		$src = '../photos/'.$img['RubriqueName'].'/'.str_replace(".JPEG",".JPG",strtolower($img['ImageName'])); //strtolower 
    		echo '<a href="visualisation.php?cheminimage='.$src.'&ImageName='.$img['ImageName'].'" target="_blank"><img src="'.$src.'" alt="Visuel de : '.$img['ImageName'].'" width="150" height="150" border="1"/></a>';				
    		echo '<br />'.stripslashes(nl2br($img['ImageDesc']));
    		// -------------------------
    		echo '</td>';
    		if ($j%$NbrCol == 0) {
    			echo "</tr>"; 
    			$fintr = 1;
    		}
    		$j++;
    	} // (fin du while)
    	// derniere balise /tr
    	if ($fintr!=1) { echo '</tr>'; }
    	echo '</table>';
    	} else {
    		echo 'pas de données à afficher';
    	}
    // ----------------------------------------
    } // (fin du if : formulaire renseigne)
    // ----------------------------------------
    }
    //************************************************** Nb d'enregistrement total ******************************/
    //***********************************************************************************************************/
     
    $nb_total = mysql_query('SELECT COUNT (*) AS nb_total FROM image');
    $nb_total = mysql_fetch_array($nb_total);
    $nb_total = $nb_total['nb_total'];
     
    /* Pagination */
    $nb_pages =ceil($nb_total/$pagination);
     
    echo '<p>[ Page :';
    /* Boucle sur les pages */
    for ($i = 1 ; $i <= $nb_pages ; $i++) {
      if ($i == $page )
        echo " $i";
      else
        echo " <a href=\"?page=$i\">$i</a> ";
    }
    echo ' ]</p>';
    ?>
    </body>
    </html>
    <?php
    // deconnexion de la base
    mysql_close(); 
    ?>
    Ci-joint la capture écran

    Je vous remercie de l'aide que vous pourriez m'apporté.

    Runcafre974-91

  2. #2
    Membre chevronné
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2004
    Messages
    304
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 304
    Par défaut
    remplace
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <?php
    include ("../inc/inc_conexion.php");
    ?>
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <?php
    include ("../inc/inc_conexion.php");
    $pagination = 5;
    ?>
    EDIT : mais je dirais que toute la partie "Nb d'enregistrement total" est mal placé, ça ne serait pas la 1ère fois qu'on se trompe dans un "}" mal placé
    Cette partie devrait se trouvé dans le cas où le formulaire est validé.

    De plus, La requête est complètement fausse.

  3. #3
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Décembre 2008
    Messages
    299
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2008
    Messages : 299
    Par défaut
    Citation Envoyé par zehle Voir le message
    remplace
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <?php
    include ("../inc/inc_conexion.php");
    ?>
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <?php
    include ("../inc/inc_conexion.php");
    $pagination = 5;
    ?>
    EDIT : mais je dirais que toute la partie "Nb d'enregistrement total" est mal placé, ça ne serait pas la 1ère fois qu'on se trompe dans un "}" mal placé
    Cette partie devrait se trouvé dans le cas où le formulaire est validé.

    De plus, La requête est complètement fausse.
    Bonsoir,

    Merci pour ta réponse, pourrais tu me donner plus d'éléments pour bien placer les éléments. Pour ma requête les mêmes soit en 5 fois jeux de photo s'affiche plusiurs fois de suite.

    A la fin de l'affichage j'ai bien la notion de page mais pas de numérotation

    Merci de votre aide

    Runcafre974-91

  4. #4
    Membre chevronné
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2004
    Messages
    304
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 304
    Par défaut
    la requête de sélection des photos est fausse.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    /* Préparation de la requête */
    $sql = "SELECT ImageID FROM image LIMIT $limit_start, $pagination";
    On a besoin de sélectionner et d'afficher 5 ($pagination) image à partir de l'enregistrement $limit_start, qui appartiennent à la rubrique sélectionnée.
    Là ta requête ne fait pas ça du tout!! Ta requête sélectionne 5 image à partir de $limit_start quelques soit la rubrique...

    Alors la bonne requête serait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $sql="SELECT * FROM image, rubrique 
    WHERE image.RubriqueID=rubrique.RubriqueID 
    AND image.RubriqueID=".$RubriqueID." 
    ORDER BY image.ImageName LIMIT $limit_start, $pagination"
    et pour le nombre total d'images dans la rubrique sélectionnée, la reqête serait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $sql="SELECT Count(*) as nb_total FROM image, rubrique 
    WHERE image.RubriqueID=rubrique.RubriqueID 
    AND image.RubriqueID=".$RubriqueID." 
    ORDER BY image.ImageName LIMIT $limit_start, $pagination"

  5. #5
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Décembre 2008
    Messages
    299
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2008
    Messages : 299
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    /* Préparation de la requête */
    $sql = "SELECT ImageID FROM image LIMIT $limit_start, $pagination";
    On a besoin de sélectionner et d'afficher 5 ($pagination) image à partir de l'enregistrement $limit_start, qui appartiennent à la rubrique sélectionnée.
    Là ta requête ne fait pas ça du tout!! Ta requête sélectionne 5 image à partir de $limit_start quelques soit la rubrique...

    Alors la bonne requête serait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $sql="SELECT * FROM image, rubrique 
    WHERE image.RubriqueID=rubrique.RubriqueID 
    AND image.RubriqueID=".$RubriqueID." 
    ORDER BY image.ImageName LIMIT $limit_start, $pagination"
    et pour le nombre total d'images dans la rubrique sélectionnée, la reqête serait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $sql="SELECT Count(*) as nb_total FROM image, rubrique 
    WHERE image.RubriqueID=rubrique.RubriqueID 
    AND image.RubriqueID=".$RubriqueID." 
    ORDER BY image.ImageName LIMIT $limit_start, $pagination"
    [/QUOTE]

    Bonjour,
    Merci pour votre réponse cela a pu me faire avancé un peux, du coup j'ai pu supprimer les multi affichage de la même photo.
    Le probleme rest que j'ai pas la génération des numéro de page
    Ce que je voudrais faire c'est d'avoir :
    - 5 colonnes
    - 2 ligne (soit au total 10 photo par page 5*2)
    Ci-joint mon code modifié

    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
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
     
     
    <?php
    include ("../inc/inc_conexion.php");
    $pagination = 5;
    ?>
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
    <head>
    	<title>Bienvenue sur mon site !</title>
    	<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
    	<meta http-equiv="refresh" CONTENT="10000;URL=../pages/inc_image.php">
    	<link rel="stylesheet" media="screen" type="text/css" title="ZIMAGE COMM ZOT I AIME" href="pages/designe.css" />
    </head>
    <body style="background-color:#DDDDDD;">
    <?php
    // ----------------------------------------
    // requete de toutes les RUBRIQUES
    $query = "SELECT RubriqueID, RubriqueName FROM Rubrique ORDER BY RubriqueName DESC";
    $result = mysql_query($query) or die("ERROR");
    // ----------------------------------------
    // formulaire de selection
    echo '<form action="inc_image.php" enctype="multipart/form-data" method="post">';
    echo '<select name="frm_select_rubrique">';
    $Selected = 0;
    while ($row = mysql_fetch_array($result)){
    	if($Selected == 0){
    		echo '<option value="'.$row['RubriqueID'].'" selected="selected">'.$row['RubriqueName'].'</option>';
    		$Selected = 1;
    	} else {
    		echo '<option value="'.$row['RubriqueID'].'">'.$row['RubriqueName'].'</option>';
    	}
    }
    echo '</select>';
    echo '<input type="submit" value="Go"/>';
    echo '</form>';	
    // ----------------------------------------
    // SI LE FORMULAIRE A ETE RENSEIGNE (choix de la rubrique)
    if (isset($_POST['frm_select_rubrique']))
    {
    // ----------------------------------------
    	// recuperation des infos de la RUBRIQUE
    	$RubriqueID = $_POST['frm_select_rubrique'];
    	$sql_rubrique = "SELECT * FROM Rubrique WHERE RubriqueID=".$RubriqueID;
    	$result_rubrique = mysql_query($sql_rubrique);
    	$val_rubrique = mysql_fetch_array($result_rubrique);
     
     
    	// affichage du nom et de la description de la rubrique
    	echo $val_rubrique['RubriqueName'].'<br />';
    	echo $val_rubrique['RubriqueDesc'];
    	echo '<br />';
     
    //************************************************************************************************************
    				//	PAGINATION EN FONCTION DU NOMBRE D'IMAGE AFFICHER PAR RUBRIQUE
    //************************************************************************************************************
    	/* Numero de page (1 par défaut) */
    if( isset($_GET['page']) && is_numeric($_GET['page']) )
      $page = $_GET['page'];
    else
      $page = 1;
     
     
    /* Numéro du 1er enregistrement à lire */
    $limit_start = ($page - 1) * $pagination;
     
    	$sql="SELECT * FROM image, rubrique 
    	WHERE image.RubriqueID=rubrique.RubriqueID 
    	AND image.RubriqueID=".$RubriqueID." 
    	ORDER BY image.ImageName LIMIT $limit_start, $pagination";
     
    	$sql="SELECT Count(*) as nb_total FROM image, rubrique 
    WHERE image.RubriqueID=rubrique.RubriqueID 
    AND image.RubriqueID=".$RubriqueID." 
    ORDER BY image.ImageName LIMIT $limit_start, $pagination";
     
     
    /* Requête SQL */
    $resultat = mysql_query($sql);
     
    /* Traitement et affichage des données */
    while ( $donnee = mysql_fetch_assoc($resultat) ) {
     
    //*********************************************************************************************************//
    //*********************************************************************************************************//
    	// AFFICHAGE DES RESULTATS
    	// ----------------------------------------
    	// affichage sur 5 colonnes
    	$NbrCol = 5;
    	// ----------------------------------------
    	// La requete des IMAGES de la RUBRIQUE selectionnee :
    	$sql_images = "SELECT * FROM image, rubrique 
    		WHERE image.RubriqueID=rubrique.RubriqueID 
    		AND image.RubriqueID=".$RubriqueID." 
    		ORDER BY image.ImageName"; 
    	$result_images = mysql_query($sql_images);
    	// ----------------------------------------
    	// nombre total de cellules a remplir (peut servir a la PAGINATION)
    	$NbreData_images = mysql_num_rows($result_images);
    	// ----------------------------------------
    	// affichage des images
    	$NbrLigne = 0; //  (peut servir a la PAGINATION)
    	if ($NbreData_images != 0) {
    	$j = 1;
    	echo '<table border="-1">';
    	while ($img = mysql_fetch_array($result_images))
    	{
    		if ($j%$NbrCol == 1) {
    			$NbrLigne++;
    			echo "<tr>";
    			$fintr = 0;
    		}
    		echo '<td>';
    		// -------------------------
    		// DONNEES A AFFICHER dans la cellule : image et description
    		$src = '../photos/'.$img['RubriqueName'].'/'.str_replace(".JPEG",".JPG",strtolower($img['ImageName'])); //strtolower 
    		echo '<a href="visualisation.php?cheminimage='.$src.'&ImageName='.$img['ImageName'].'" target="_blank"><img src="'.$src.'" alt="Visuel de : '.$img['ImageName'].'" width="150" height="150" border="1"/></a>';				
    		echo '<br />'.stripslashes(nl2br($img['ImageDesc']));
    		// -------------------------
    		echo '</td>';
    		if ($j%$NbrCol == 0) {
    			echo "</tr>"; 
    			$fintr = 1;
    		}
    		$j++;
    	} // (fin du while)
    	// derniere balise /tr
    	if ($fintr!=1) { echo '</tr>'; }
    	echo '</table>';
    	} else {
    		echo 'pas de données à afficher';
    	}
    // ----------------------------------------
    } // (fin du if : formulaire renseigne)
    // ----------------------------------------
    }
    //************************************************** Nb d'enregistrement total ******************************/
    //***********************************************************************************************************/
     
    $nb_total = mysql_query('SELECT COUNT (*) AS nb_total FROM image');
    $nb_total = $nb_total['nb_total'];
     
    /* Pagination */
    $nb_pages =ceil($nb_total/$pagination);
     
    echo '<p>[ Page :';
    /* Boucle sur les pages */
    for ($i = 1 ; $i <= $nb_pages ; $i++) {
      if ($i == $page )
        echo " $i";
      else
        echo " <a href=\"?page=$i\">$i</a> ";
    }
    echo ' ]</p>';
    ?>
    </body>
    </html>
    <?php
    // deconnexion de la base
    mysql_close(); 
    ?>
    [/

    une nouvelle capture écran

    Merci de votre aide

    Runcafre974-91

  6. #6
    Membre chevronné
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2004
    Messages
    304
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 304
    Par défaut
    tu as besoin d'afficher tes images dans un tableau de 2 lignes et 5 colonnes. (2*5 = ?).
    en vue de cette dernière information, la variable $pagination passe de 5 à 10!!
    Enfin bref, voici un code qui pourrait résoudre ton problème, si tu as besoin encore d'aide n'hésite pas à ...





    regarder les TUTO
    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
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
     
    <?php
    include ("../inc/inc_conexion.php");
     
    ?>
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
    <head>
    	<title>Bienvenue sur mon site !</title>
    	<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
    	<meta http-equiv="refresh" CONTENT="10000;URL=../pages/inc_image.php">
    	<link rel="stylesheet" media="screen" type="text/css" title="ZIMAGE COMM ZOT I AIME" href="pages/designe.css" />
    </head>
    <body style="background-color:#DDDDDD;">
    <?php
    // ----------------------------------------
    // requete de toutes les RUBRIQUES
    $query = "SELECT RubriqueID, RubriqueName FROM Rubrique ORDER BY RubriqueName DESC";
    $result = mysql_query($query) or die("ERROR");
    // ----------------------------------------
    // formulaire de selection
    echo '<form action="inc_image.php" enctype="multipart/form-data" method="post">';
    echo '<select name="frm_select_rubrique">';
    $Selected = 0;
    while ($row = mysql_fetch_array($result)){
    	if($Selected == 0){
    		echo '<option value="'.$row['RubriqueID'].'" selected="selected">'.$row['RubriqueName'].'</option>';
    		$Selected = 1;
    	} else {
    		echo '<option value="'.$row['RubriqueID'].'">'.$row['RubriqueName'].'</option>';
    	}
    }
    echo '</select>';
    echo '<input type="submit" value="Go"/>';
    echo '</form>';	
    // ----------------------------------------
    // SI LE FORMULAIRE A ETE RENSEIGNE (choix de la rubrique)
    if (isset($_POST['frm_select_rubrique']))
    {
    // ----------------------------------------
    	// recuperation des infos de la RUBRIQUE
    	$RubriqueID = $_POST['frm_select_rubrique'];
    	$sql_rubrique = "SELECT * FROM Rubrique WHERE RubriqueID=".$RubriqueID;
    	$result_rubrique = mysql_query($sql_rubrique);
    	$val_rubrique = mysql_fetch_array($result_rubrique);
     
     
    	// affichage du nom et de la description de la rubrique
    	echo $val_rubrique['RubriqueName'].'<br />';
    	echo $val_rubrique['RubriqueDesc'];
    	echo '<br />';
     
    	//************************************************************************************************************
    					//	PAGINATION EN FONCTION DU NOMBRE D'IMAGE AFFICHER PAR RUBRIQUE
    	//************************************************************************************************************
    		/* Numero de page (1 par défaut) */
    	if( isset($_GET['page']) && is_numeric($_GET['page']) )
    	  $page = $_GET['page'];
    	else
    	  $page = 1;
     
    	$pagination = 10; 
    	/* Numéro du 1er enregistrement à lire */
    	$limit_start = ($page - 1) * $pagination;
     
    	// La requete des IMAGES de la RUBRIQUE selectionnee :
    	$sql="SELECT * FROM image, rubrique 
    		WHERE image.RubriqueID=rubrique.RubriqueID 
    		AND image.RubriqueID=".$RubriqueID." 
    		ORDER BY image.ImageName LIMIT $limit_start, $pagination";
     
    	/* Requête SQL */
    	$resultat = mysql_query($sql);
     
    	/* Traitement et affichage des données */
    	// affichage sur 5 colonnes
    	$NbrCol = 5;
    	$NbrLigne = 0;
    	echo '<table border="-1">';
    	while ( $img = mysql_fetch_assoc($resultat) ) 
    	{
    		if ($j%$NbrCol == 1) 
    		{
    			$NbrLigne++;
    			echo "<tr>";
    			$fintr = 0;
    		}
    		echo '<td>';
    		// -------------------------
    		// DONNEES A AFFICHER dans la cellule : image et description
    		$src = '../photos/'.$img['RubriqueName'].'/'.str_replace(".JPEG",".JPG",strtolower($img['ImageName'])); //strtolower 
    		echo '<a href="visualisation.php?cheminimage='.$src.'&ImageName='.$img['ImageName'].'" target="_blank"><img src="'.$src.'" alt="Visuel de : '.$img['ImageName'].'" width="150" height="150" border="1"/></a>';				
    		echo '<br />'.stripslashes(nl2br($img['ImageDesc']));
    		// -------------------------
    		echo '</td>';
     
    		if ($j%$NbrCol == 0) {
    			echo "</tr>"; 
    			$fintr = 1;
    		}
    		$j++;
    	} // (fin du while)
    	// derniere balise /tr
    	if ($fintr!=1) { echo '</tr>'; }
    	echo '</table>';
     
    	//************************************************** Nb d'enregistrement total ******************************/
    	//***********************************************************************************************************/
    	$sql="SELECT Count(*) as nb_total FROM image, rubrique 
    	WHERE image.RubriqueID=rubrique.RubriqueID 
    	AND image.RubriqueID=".$RubriqueID;
     
    	$nb_total = mysql_query($sql);
    	$nb_total = $nb_total['nb_total'];
     
    	/* Pagination */
    	$nb_pages =ceil($nb_total/$pagination);
     
    	echo '<p>[ Page :';
    	/* Boucle sur les pages */
    	for ($i = 1 ; $i <= $nb_pages ; $i++) {
    	  if ($i == $page )
    		echo " $i";
    	  else
    		echo " <a href=\"?page=$i\">$i</a> ";
    	}
    	echo ' ]</p>';
     
    }
    ?>
    </body>
    </html>
    <?php
    // deconnexion de la base
    mysql_close(); 
    ?>

  7. #7
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Décembre 2008
    Messages
    299
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2008
    Messages : 299
    Par défaut
    Citation Envoyé par zehle Voir le message
    tu as besoin d'afficher tes images dans un tableau de 2 lignes et 5 colonnes. (2*5 = ?).
    en vue de cette dernière information, la variable $pagination passe de 5 à 10!!
    Enfin bref, voici un code qui pourrait résoudre ton problème, si tu as besoin encore d'aide n'hésite pas à ...





    regarder les TUTO
    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
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
     
    <?php
    include ("../inc/inc_conexion.php");
     
    ?>
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
    <head>
    	<title>Bienvenue sur mon site !</title>
    	<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
    	<meta http-equiv="refresh" CONTENT="10000;URL=../pages/inc_image.php">
    	<link rel="stylesheet" media="screen" type="text/css" title="ZIMAGE COMM ZOT I AIME" href="pages/designe.css" />
    </head>
    <body style="background-color:#DDDDDD;">
    <?php
    // ----------------------------------------
    // requete de toutes les RUBRIQUES
    $query = "SELECT RubriqueID, RubriqueName FROM Rubrique ORDER BY RubriqueName DESC";
    $result = mysql_query($query) or die("ERROR");
    // ----------------------------------------
    // formulaire de selection
    echo '<form action="inc_image.php" enctype="multipart/form-data" method="post">';
    echo '<select name="frm_select_rubrique">';
    $Selected = 0;
    while ($row = mysql_fetch_array($result)){
    	if($Selected == 0){
    		echo '<option value="'.$row['RubriqueID'].'" selected="selected">'.$row['RubriqueName'].'</option>';
    		$Selected = 1;
    	} else {
    		echo '<option value="'.$row['RubriqueID'].'">'.$row['RubriqueName'].'</option>';
    	}
    }
    echo '</select>';
    echo '<input type="submit" value="Go"/>';
    echo '</form>';	
    // ----------------------------------------
    // SI LE FORMULAIRE A ETE RENSEIGNE (choix de la rubrique)
    if (isset($_POST['frm_select_rubrique']))
    {
    // ----------------------------------------
    	// recuperation des infos de la RUBRIQUE
    	$RubriqueID = $_POST['frm_select_rubrique'];
    	$sql_rubrique = "SELECT * FROM Rubrique WHERE RubriqueID=".$RubriqueID;
    	$result_rubrique = mysql_query($sql_rubrique);
    	$val_rubrique = mysql_fetch_array($result_rubrique);
     
     
    	// affichage du nom et de la description de la rubrique
    	echo $val_rubrique['RubriqueName'].'<br />';
    	echo $val_rubrique['RubriqueDesc'];
    	echo '<br />';
     
    	//************************************************************************************************************
    					//	PAGINATION EN FONCTION DU NOMBRE D'IMAGE AFFICHER PAR RUBRIQUE
    	//************************************************************************************************************
    		/* Numero de page (1 par défaut) */
    	if( isset($_GET['page']) && is_numeric($_GET['page']) )
    	  $page = $_GET['page'];
    	else
    	  $page = 1;
     
    	$pagination = 10; 
    	/* Numéro du 1er enregistrement à lire */
    	$limit_start = ($page - 1) * $pagination;
     
    	// La requete des IMAGES de la RUBRIQUE selectionnee :
    	$sql="SELECT * FROM image, rubrique 
    		WHERE image.RubriqueID=rubrique.RubriqueID 
    		AND image.RubriqueID=".$RubriqueID." 
    		ORDER BY image.ImageName LIMIT $limit_start, $pagination";
     
    	/* Requête SQL */
    	$resultat = mysql_query($sql);
     
    	/* Traitement et affichage des données */
    	// affichage sur 5 colonnes
    	$NbrCol = 5;
    	$NbrLigne = 0;
    	echo '<table border="-1">';
    	while ( $img = mysql_fetch_assoc($resultat) ) 
    	{
    		if ($j%$NbrCol == 1) 
    		{
    			$NbrLigne++;
    			echo "<tr>";
    			$fintr = 0;
    		}
    		echo '<td>';
    		// -------------------------
    		// DONNEES A AFFICHER dans la cellule : image et description
    		$src = '../photos/'.$img['RubriqueName'].'/'.str_replace(".JPEG",".JPG",strtolower($img['ImageName'])); //strtolower 
    		echo '<a href="visualisation.php?cheminimage='.$src.'&ImageName='.$img['ImageName'].'" target="_blank"><img src="'.$src.'" alt="Visuel de : '.$img['ImageName'].'" width="150" height="150" border="1"/></a>';				
    		echo '<br />'.stripslashes(nl2br($img['ImageDesc']));
    		// -------------------------
    		echo '</td>';
     
    		if ($j%$NbrCol == 0) {
    			echo "</tr>"; 
    			$fintr = 1;
    		}
    		$j++;
    	} // (fin du while)
    	// derniere balise /tr
    	if ($fintr!=1) { echo '</tr>'; }
    	echo '</table>';
     
    	//************************************************** Nb d'enregistrement total ******************************/
    	//***********************************************************************************************************/
    	$sql="SELECT Count(*) as nb_total FROM image, rubrique 
    	WHERE image.RubriqueID=rubrique.RubriqueID 
    	AND image.RubriqueID=".$RubriqueID;
     
    	$nb_total = mysql_query($sql);
    	$nb_total = $nb_total['nb_total'];
     
    	/* Pagination */
    	$nb_pages =ceil($nb_total/$pagination);
     
    	echo '<p>[ Page :';
    	/* Boucle sur les pages */
    	for ($i = 1 ; $i <= $nb_pages ; $i++) {
    	  if ($i == $page )
    		echo " $i";
    	  else
    		echo " <a href=\"?page=$i\">$i</a> ";
    	}
    	echo ' ]</p>';
     
    }
    ?>
    </body>
    </html>
    <?php
    // deconnexion de la base
    mysql_close(); 
    ?>
    Bonsoir,

    Merci pour votre aide, j'ai fais une copie du code et j'ai une valeur non défini : j
    ci-dessous dont j'ai défini de cette manière

    L'affichage est correcte j'ai bien mes 10 photos par page mais voila lorsque j'ai plus de 10 photo, la numérotation ne s'éffectue pas deplus le numéro de la page actuelle ne s'affiche pas.

    cf capture écran

    Je vous remercie de votre aide

    Runcafre974-91

  8. #8
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Décembre 2008
    Messages
    299
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2008
    Messages : 299
    Par défaut
    Citation Envoyé par runcafre91 Voir le message
    Bonsoir,

    Merci pour votre aide, j'ai fais une copie du code et j'ai une valeur non défini : j
    ci-dessous dont j'ai défini de cette manière

    L'affichage est correcte j'ai bien mes 10 photos par page mais voila lorsque j'ai plus de 10 photo, la numérotation ne s'éffectue pas deplus le numéro de la page actuelle ne s'affiche pas.

    cf capture écran

    Je vous remercie de votre aide

    Runcafre974-91
    Bonsoir,
    J'ai un problème avec ce code qui n'affiche pas la page suivant lorsque les conditions sont respectées c'est a dire 10 photo par page.

    Merci de pour l'aide que vous pourriez m'apporter

    Runcafre974-91

  9. #9
    Membre émérite Avatar de obito
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2008
    Messages
    773
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2008
    Messages : 773
    Par défaut
    Bonsoir ! Désolé je n'ai pas trop lu. Pour la pagination de 10 en 10 j'aurais fait comme ca:

    1 - Lorsque je clique sur suivant je passe en GET soit 10 soit 20(donc le nombre le plus haut). Bien sur en php je fais le test :

    2 -Si le GET est vide (donc n'existe pas) prenons l'exemple $_GET['nb'] :

    Si $_GET['nb'] existe alors je récupère le get, je crée une variable $max = $_GET['nb']+10, et dans me requête je ferais un truc du genre :

    SELECT...
    FROM...
    ...
    LIMIT $_GET['nb'],$max;

    Si $_GET['nb'] n'existe pas, j'affiche les 10 premiers.

    Ca donnerais un truc du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    if (isset($_GET['nb'])){
      $max=$_GET['nb']+10;
      mysql_query("SELECT... LIMIT".$_GET['nb'].",".$max,$cnx);
    }
    else{
      mysql_query("SELECT... LIMIT 10",$cnx);
    }
    Bien sur tu gère le suivant donc il faudra gérer le précédent donc $_GET['nb'] -10

  10. #10
    Membre chevronné
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2004
    Messages
    304
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 304
    Par défaut
    ça crève les yeux!!!!!
    Tu ne mérite même pas que je te donne la solution!!!
    Tu n'as même pas fait d'effort!!!


    Le problème est au niveau de l'affichage des différentes pages disponibles, concentrons nous là dessus.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    	$sql="SELECT Count(*) as nb_total FROM image, rubrique 
    	WHERE image.RubriqueID=rubrique.RubriqueID 
    	AND image.RubriqueID=".$RubriqueID;
     
    	$nb_total = mysql_query($sql);
    	$nb_total = $nb_total['nb_total'];
     
    	/* Pagination */
    	$nb_pages =ceil($nb_total/$pagination);
    Vérifions que notre requête est bonne, et qu'elle retourne au moins une ligne!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    	$nb_total = mysql_query($sql);
    	echo mysql_num_rows($nb_total);
    Ce qui m'affiche 1! C'est bon, notre requête nous renvoie au moins une valeur.
    Mais pourquoi ça ne marche pas alors??!!
    On s'est peut être trompé dans la manière de récupérer cette valeur?
    Certainement! A oui, tiens! on a oublié de traiter le résultat de la requête
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    list($nb_total) = mysql_fetch_array($nb_total);
    Ce qui nous donne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    //************************************************** Nb d'enregistrement total ******************************/
    	//***********************************************************************************************************/
    	$sql="SELECT Count(*) as nb_total FROM image, rubrique 
    	WHERE image.RubriqueID=rubrique.RubriqueID 
    	AND image.RubriqueID=".$RubriqueID;
     
    	$nb_total = mysql_query($sql);
    	list($nb_total) = mysql_fetch_array($nb_total);
     
    	/* Pagination */
    	$nb_pages =ceil($nb_total/$pagination);

    Testons ce que ça donne, Bingo, ça marche, les pages sont présentes, les liens aussi, Clickons, erf, ça marche pas, Page Vide, Mais pourquoi dont??!!!

    Moi je sais, je te laisse réfléchir quelques temps.

  11. #11
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Décembre 2008
    Messages
    299
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2008
    Messages : 299
    Par défaut
    Citation Envoyé par zehle Voir le message
    ça crève les yeux!!!!!
    Tu ne mérite même pas que je te donne la solution!!!
    Tu n'as même pas fait d'effort!!!


    Le problème est au niveau de l'affichage des différentes pages disponibles, concentrons nous là dessus.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    	$sql="SELECT Count(*) as nb_total FROM image, rubrique 
    	WHERE image.RubriqueID=rubrique.RubriqueID 
    	AND image.RubriqueID=".$RubriqueID;
     
    	$nb_total = mysql_query($sql);
    	$nb_total = $nb_total['nb_total'];
     
    	/* Pagination */
    	$nb_pages =ceil($nb_total/$pagination);
    Vérifions que notre requête est bonne, et qu'elle retourne au moins une ligne!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    	$nb_total = mysql_query($sql);
    	echo mysql_num_rows($nb_total);
    Ce qui m'affiche 1! C'est bon, notre requête nous renvoie au moins une valeur.
    Mais pourquoi ça ne marche pas alors??!!
    On s'est peut être trompé dans la manière de récupérer cette valeur?
    Certainement! A oui, tiens! on a oublié de traiter le résultat de la requête
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    list($nb_total) = mysql_fetch_array($nb_total);
    Ce qui nous donne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    //************************************************** Nb d'enregistrement total ******************************/
    	//***********************************************************************************************************/
    	$sql="SELECT Count(*) as nb_total FROM image, rubrique 
    	WHERE image.RubriqueID=rubrique.RubriqueID 
    	AND image.RubriqueID=".$RubriqueID;
     
    	$nb_total = mysql_query($sql);
    	list($nb_total) = mysql_fetch_array($nb_total);
     
    	/* Pagination */
    	$nb_pages =ceil($nb_total/$pagination);

    Testons ce que ça donne, Bingo, ça marche, les pages sont présentes, les liens aussi, Clickons, erf, ça marche pas, Page Vide, Mais pourquoi dont??!!!

    Moi je sais, je te laisse réfléchir quelques temps.

    Bonjour,
    merci de votre réponse, mais pour l'instant je suis encore débutant dans ce domaine.

    J'ai apporté les modifications comme cité ci-dessus.
    Je vois ce qu'il faut faire mais le traduire en php c'est différent

    Pour l'instant avec le code que tu m'a fourni, il sert a calculer le nombre de page a afficher mais pas a l'afichage elle même, comme l'affichage par défaut se fait sur la première page, celle-ci affichera toujours les 10 permier image par contre il faut afficher les autres photo sur les pages suivantes.

    Merci de votre aide.

    Runcafre974-91

  12. #12
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Décembre 2008
    Messages
    299
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2008
    Messages : 299
    Par défaut
    Citation Envoyé par runcafre91 Voir le message
    Bonjour,
    merci de votre réponse, mais pour l'instant je suis encore débutant dans ce domaine.

    J'ai apporté les modifications comme cité ci-dessus.
    Je vois ce qu'il faut faire mais le traduire en php c'est différent

    Pour l'instant avec le code que tu m'a fourni, il sert a calculer le nombre de page a afficher mais pas a l'afichage elle même, comme l'affichage par défaut se fait sur la première page, celle-ci affichera toujours les 10 permier image par contre il faut afficher les autres photo sur les pages suivantes.

    Merci de votre aide.

    Runcafre974-91
    re,

    Ayant fait des recherches je n'arrive toujours pas a afficher les photos sur les pages créés.
    Merci de l'aide que vous pourriez m'apporter

    Runcafre974-91

  13. #13
    Membre chevronné
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2004
    Messages
    304
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 304
    Par défaut
    Citation Envoyé par runcafre91 Voir le message
    Je vois ce qu'il faut faire mais le traduire en php c'est différent
    Dit moi d'où viens le problème et comment tu pense l'arranger, je te le traduirai en php

  14. #14
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Décembre 2008
    Messages
    299
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2008
    Messages : 299
    Par défaut
    Citation Envoyé par zehle Voir le message
    Dit moi d'où viens le problème et comment tu pense l'arranger, je te le traduirai en php
    Re,
    Pour moi le problème vient de l'affichage des autre images c'est a dire sur la première page la rêquete affiche bien le nombre de photo demandé et la création des pages se font automatiquement mais le problème c'est que la requête se limite seulement a l'affichage sur la premier page.

    Bref ca devra réagir ainsi la requête

    -Je compte le nombre de photo que je divise par le nombre de photo a affiché par page


    - Sur la première page j'affiche les 10er photo
    - Sur la deuxième page j'affiche de la 11eme photo à la 21eme
    - Sur la troisième page j'affiche de la 21eme à la 30eme
    - etc....

    Pour l'instant la requête se limite qu'a la première condition

    Je ne sais pas si je me suis bien expliqué

    Merci de votre aide

    Runcafre974/91

  15. #15
    Membre chevronné
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2004
    Messages
    304
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 304
    Par défaut
    Citation Envoyé par runcafre91 Voir le message
    Re,
    le problème c'est que la requête se limite seulement a l'affichage sur la premier page.

    Pour l'instant la requête se limite qu'a la première condition
    Erreur !
    Ta requête est parfaite!

    Alors voyons de plus près l'affichage de notre page :
    - Un Select pour sélectionner les Rubriques
    - Si on a sélectionner une rubrique
    • Le Nom de la Rubrique Sélectionnée
    • Les 10 Photos
    • Les Liens
    Si on Click sur un Lien, on passe aux 10 photos suivantes et on devrait avoir la même structure ci-dessus, MAIS, on a cette structure
    - Un Select pour sélectionner les Rubriques
    - Rien
    On dirait qu'on a pas sélectionner de rubrique.
    Le choix de sélection à donc disparu pendant le changement de page. on devrait le sauvegarder pour le passer à la page suivante, tu ne crois pas?

    On a deux solutions, ou les Sessions, ou les GET (comme on est en train de passer le numéro de la page)

    Donc on a deux trucs à changer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    echo " <a href=\"?page=$i\">$i</a> ";
    //là on ne renseigne que la page, on doit ajouter la rubrique
    //==>
    echo " <a href=\"?page=$i&rubrique=$RubriqueID\">$i</a> ";
    Le lien est correcte, mais ça ne marche toujours pas, maintenant le problème viens de la récupération de l'ID de la rubrique.
    La 1ère fois, l'ID est récupéré du SELECT, la 2ème fois, c'est par le GET qu'on le récupère.

    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
     
    if (isset($_POST['frm_select_rubrique']))//là on vérifie le SELECT, on doit changer pour vérifié les SELECT ou Le GET
    {
    // ----------------------------------------
    	// recuperation des infos de la RUBRIQUE
    	$RubriqueID = $_POST['frm_select_rubrique'];
    //...
     
    //====> On change tout ça par
    if (isset($_POST['frm_select_rubrique']) || isset($_GET['rubrique']))
    {
    // ----------------------------------------
    	// recuperation des infos de la RUBRIQUE
    	if (isset($_POST['frm_select_rubrique']))
    		$RubriqueID = $_POST['frm_select_rubrique'];
    	if (isset($_GET['rubrique']))
    		$RubriqueID = $_GET['rubrique'];
    Voilà, ça devrait marcher

  16. #16
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Décembre 2008
    Messages
    299
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2008
    Messages : 299
    Par défaut
    Citation Envoyé par zehle Voir le message
    Erreur !
    Ta requête est parfaite!

    Alors voyons de plus près l'affichage de notre page :


    Si on Click sur un Lien, on passe aux 10 photos suivantes et on devrait avoir la même structure ci-dessus, MAIS, on a cette structure

    On dirait qu'on a pas sélectionner de rubrique.
    Le choix de sélection à donc disparu pendant le changement de page. on devrait le sauvegarder pour le passer à la page suivante, tu ne crois pas?

    On a deux solutions, ou les Sessions, ou les GET (comme on est en train de passer le numéro de la page)

    Donc on a deux trucs à changer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    echo " <a href=\"?page=$i\">$i</a> ";
    //là on ne renseigne que la page, on doit ajouter la rubrique
    //==>
    echo " <a href=\"?page=$i&rubrique=$RubriqueID\">$i</a> ";
    Le lien est correcte, mais ça ne marche toujours pas, maintenant le problème viens de la récupération de l'ID de la rubrique.
    La 1ère fois, l'ID est récupéré du SELECT, la 2ème fois, c'est par le GET qu'on le récupère.

    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
     
    if (isset($_POST['frm_select_rubrique']))//là on vérifie le SELECT, on doit changer pour vérifié les SELECT ou Le GET
    {
    // ----------------------------------------
    	// recuperation des infos de la RUBRIQUE
    	$RubriqueID = $_POST['frm_select_rubrique'];
    //...
     
    //====> On change tout ça par
    if (isset($_POST['frm_select_rubrique']) || isset($_GET['rubrique']))
    {
    // ----------------------------------------
    	// recuperation des infos de la RUBRIQUE
    	if (isset($_POST['frm_select_rubrique']))
    		$RubriqueID = $_POST['frm_select_rubrique'];
    	if (isset($_GET['rubrique']))
    		$RubriqueID = $_GET['rubrique'];
    Voilà, ça devrait marcher

    Re,
    J'ai apporté les modification ci-dessus et c'est impac

    Merci encore une fois

    et bonne continuation

    Runcafre974/91

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

Discussions similaires

  1. Probleme de pagination
    Par lucvsk dans le forum iReport
    Réponses: 0
    Dernier message: 16/05/2008, 11h24
  2. probleme de pagination
    Par nita2006 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 8
    Dernier message: 17/05/2007, 00h01
  3. [Système] Probleme de pagination
    Par mouchkar dans le forum Langage
    Réponses: 1
    Dernier message: 05/01/2007, 11h15
  4. Gridview : probleme de pagination
    Par LOUPO dans le forum ASP.NET
    Réponses: 2
    Dernier message: 04/07/2006, 16h08
  5. [C#] Probleme de pagination dans datagrid
    Par asphareth dans le forum ASP.NET
    Réponses: 2
    Dernier message: 21/07/2004, 11h25

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