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 :

Affichage page par page


Sujet :

Langage PHP

  1. #1
    Membre actif Avatar de Meloooo
    Femme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    324
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2008
    Messages : 324
    Points : 288
    Points
    288
    Par défaut Affichage page par page
    Bonjour,
    J'affiche des images ou le chemin est stocké dans ma base de données, j'affiche également son nom et le commentaire, jusque la tout va bien, sauf que j'ai mis un code en place pour permmettre de mettre que 2 images par pages, et avoir un lien me permettant de voir les autres.
    C'est à dire que j'aurais page suivante et précédente et que sur chaque page j'aurais deux images... 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
     
           <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    	   <link rel="stylesheet" media="screen" type="text/css" title="Design" href="design.css" />
    	       <link rel="stylesheet" href="style.css" type="text/css" />
     
    <?php
    //connection a la BDD
    	include('connection.php');
    	include('index.php');
     
     
     
    	// Séléction les noms des rubriques dans l'ordre alphabétique
    	$req = ("SELECT NomRubrique, NumeroRubrique FROM rubri order by NomRubrique asc");
    	// Execution de la requete
    	$result = mysql_query($req);
    	?>
    	<!-- Création de la liste déroulante -->
    	Quelle rubrique voulez vous afficher ? 
    	<form action="rubrique.php" method="POST">
    	<select name="choix">
    	<option value="0" selected="selected">Choissisez votre rubrique </option>
     
     
     
    	<?php
    	while ($donnees = mysql_fetch_array($result))
    					{
    					// Affichage du nom de la rubrique
    					?>
     
    						<?php
    						echo "<option value = '$donnees[NumeroRubrique]'>".$donnees['NomRubrique']. "</option>";
    					}
     
    	?>
    	</select>
    	<input type="submit" name="button"> 
    	</form>
    <br>
    <?php
     
     
     
     
    if (isset ($_POST['choix']))
    	{
    				// Initialisation de la variable nombre, pour savoir le nombre d'image à afficher/page
    				$nombre = 2;
    				// Initialisation de limite à 0
    				if (!isset($limite)) $limite = 0; 
    				$path_parts = pathinfo($_SERVER['PHP_SELF']);
    				$page = $path_parts['rubrique.php'];
    				// Requete sql permettant de compter le nombre d'enregistrement dans la table imagereduite
    				$select = "SELECT count(NumeroImage) FROM imagereduite";
    				// Execution requete
    				$resultatselect = mysql_query($select);
    				// Nombre d'enregistrement
    				$row = mysql_fetch_row($resultatselect);
    				$nb_resultat = $row[0];
    				$limitesuivante = $limite + $nombre;
    				$limiteprecedente = $limite - $nombre;
    if($limite != 0) 
    {
    				echo '<a href="'.$page.'?limite='.$limiteprecedente.'">Page précédente</a>';
    }
     
    if($limitesuivante < $nb_resultat) 
    {
    				echo '<a href="'.$page.'?limite='.$limitesuivante.'">Page Suivante</a>';
    }
    	$x = $_POST['choix'];
    	//echo $x;
    	$req = "SELECT * FROM rubri WHERE NumeroRubrique = '".$x."'";
    	// Execution de la requete
    	$result=mysql_query($req);
    	// Parcours résultat
    	$requete = "SELECT LienImage ,ImageAgrandie, CommentaireImage, NomImage FROM imagereduite WHERE NumeroRubrique = '".$x."' limit  '".$limite."','".$nombre."'";
    		// Execution de la requete
    		$resultat = mysql_query($requete);
     
    		while ($donnee = mysql_fetch_array($resultat))
    		{
     
    			// Affichage des photos reduites et agrandies
     
    		echo '<a href="photos/agrandies/'.$donnee[1].'" rel="lightbox"><img border="0" src="photos/reduites/'.$donnee[0].'">;</a>';
     
     
    			?>
     
    			<br><br>
    			<font face="Papyrus" size = "3px">
     
    			<table>
     
    <tr>
    			<td bgcolor="blue"><?php
    			echo 'Commentaire : '. $donnee[2];
    			?>
    			<br></td></tr>
    </tr>
    			<td><?php 
    			echo 'Nom : ' .$donnee[3];
    			?>
    			</td>
    			</tr>
    			</font>
    			</table>
    			<?php
    		}
    	}
    Mon problème est sur le fetch array, il me dit que l'argument n'est pas valide.

    Merci de votre aide

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Bonjour,

    Ta requete doit retourner une erreur.
    debug en faisant comme ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $result = mysql_query($req) or die($req . '<br />' . mysql_error());

  3. #3
    Membre actif Avatar de Meloooo
    Femme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    324
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2008
    Messages : 324
    Points : 288
    Points
    288
    Par défaut
    Non apparemment ma requête est bonne, car il ne me met pas d'erreurs.
    J'ai rectifiée quelques petite choses, je n'ai mis que des doubles côtes.
    Mon erreur n'est plus la sauf que maintenant quand je clique sur suivant il me ramène sur la page ou j'étais au début.
    Ce qui est logique étant donné qu'il y a ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    if($limite != 0) 
    {
    				echo '<a href="'.$page.'?limite='.$limiteprecedente.'>Page précédente</a>';
    }
     
    if($limitesuivante < $nb_resultat) 
    {
    			echo '<a href="'.$page.'?limite='.$limitesuivante.'">Page Suivante</a>';
    }


    Je sais ou se trouve l'erreur mais comment puis-je la corriger ?
    Merci pour votre réponse sabotage

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Pourrais-tu nous donner l'erreur exacte que tu rencontres ?

  5. #5
    Membre actif Avatar de Meloooo
    Femme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    324
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2008
    Messages : 324
    Points : 288
    Points
    288
    Par défaut
    Justement je n'ai aucune erreur enfin en tout cas qui s'affiche
    Je m'explique :
    J'ai une page rubrique.php ou l'utilisateur doit choisir la rubrique ou il veut voir ses images s'afficher selon la rubrique qu'il a choisie dans la liste déroulante, les images s'affichent une par page, j'ai donc le lien suivant, lorsque je clique dessus il me renvoi vers la page rubrique.php
    désolé pour mes explications un peu confuse.

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Je ne vois pas de définition de $limite dans votre code.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $limite = $_GET['limite']

  7. #7
    Membre actif Avatar de Meloooo
    Femme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    324
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2008
    Messages : 324
    Points : 288
    Points
    288
    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
    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
     
           <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    	   <link rel="stylesheet" media="screen" type="text/css" title="Design" href="design.css" />
    	       <link rel="stylesheet" href="style.css" type="text/css" />
     
    <?php
    //connection a la BDD
    	include('connection.php');
    	include('index.php');
     
     
     
    	// Séléction les noms des rubriques dans l'ordre alphabétique
    	$req = ("SELECT NomRubrique, NumeroRubrique FROM rubri order by NomRubrique asc");
    	// Execution de la requete
    	$result = mysql_query($req);
    	?>
    	<!-- Création de la liste déroulante -->
    	Quelle rubrique voulez vous afficher ? 
    	<form action="rubrique.php" method="POST">
    	<select name="choix">
    	<option value="0" selected="selected">Choissisez votre rubrique </option>
     
     
     
    	<?php
    	while ($donnees = mysql_fetch_array($result))
    					{
    					// Affichage du nom de la rubrique
    					?>
     
    						<?php
    						echo "<option value = '$donnees[NumeroRubrique]'>".$donnees['NomRubrique']. "</option>";
    					}
     
    	?>
    	</select>
    	<input type="submit" name="button"> 
    	</form>
    <br>
    <?php
     
     
     
     
    if (isset ($_POST['choix']))
    	{
    		$x = $_POST['choix'];
    				// Initialisation de la variable nombre, pour savoir le nombre d'image à afficher/page
    				$nombre = 1;
    				// Initialisation de limite à 0
    				if (!isset($limite)) $limite = 0; 
    				$path_parts = pathinfo($_SERVER['PHP_SELF']);
    				$page = $path_parts['basename'];
    				// Requete sql permettant de compter le nombre d'enregistrement dans la table imagereduite
    				$select = "SELECT count(NumeroImage) FROM imagereduite";
    				// Execution requete
    				$resultatselect = mysql_query($select);
    				// Nombre d'enregistrement
    				$row = mysql_fetch_row($resultatselect);
    				$nb_resultat = $row[0];
    				$limitesuivante = $limite + $nombre;
    				$limiteprecedente = $limite - $nombre;
    					    if(isset($_GET['limite'])) 
     
            $limite=$_GET['limite'];
        else   $limite=0;
    if($limite != 0) 
    {
    				echo '<a href="'.$page.'?limite='.$limiteprecedente.'>Page précédente</a>';
    }
     
    if($limitesuivante < $nb_resultat) 
    {
     
    			echo '<a href="'.$page.'?limite='.$limitesuivante.'">Page Suivante</a>';
    }
     
     
     
     
     
     
     
     
     
    	$x = $_POST['choix'];
    	//echo $x;
    	$req = "SELECT * FROM rubri WHERE NumeroRubrique = '".$x."'";
    	// Execution de la requete
    	$result=mysql_query($req);
    	// Parcours résultat
    	$requete = "SELECT LienImage ,ImageAgrandie, CommentaireImage, NomImage FROM imagereduite WHERE NumeroRubrique = '".$x."' ORDER BY NomImage ASC limit ".$limite.",".$nombre."";
     
     
    		// Execution de la requete
    		$resultat = mysql_query($requete) or die($req . '<br />' . mysql_error());
     
     
    		while ($donnee = mysql_fetch_array($resultat))
    		{
     
    			// Affichage des photos reduites et agrandies
     
    		echo '<a href="photos/agrandies/'.$donnee[1].'" rel="lightbox"><img border="0" src="photos/reduites/'.$donnee[0].'">;</a>';
     
     
    			?>
     
    			<br><br>
    			<font face="Papyrus" size = "3px">
     
    			<table>
     
    <tr>
    			<td bgcolor="blue"><?php
    			echo 'Commentaire : '. $donnee[2];
    			?>
    			<br></td></tr>
    </tr>
    			<td><?php 
    			echo 'Nom : ' .$donnee[3];
    			?>
    			</td>
    			</tr>
    			</font>
    			</table>
    			<?php
    		}
    	}


    Mon code ressemble à ça en rectifiant les erreurs que vous avez soulignés.
    Mais le code ne marche toujours pas il me renvoi toujours à la page rubrique quand je clique sur suivant.

  8. #8
    Membre actif Avatar de Meloooo
    Femme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    324
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2008
    Messages : 324
    Points : 288
    Points
    288
    Par défaut
    Problème résolu, le code est le suivant pour ce que sa intéresse :
    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
     
           <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    	   <link rel="stylesheet" media="screen" type="text/css" title="Design" href="design.css" />
    	       <link rel="stylesheet" href="style.css" type="text/css" />
     
    <?php
    //connection a la BDD
    	include('connection.php');
    	include('index.php');
     
    if (isset ($_POST['choix'])) $monChoix = $_POST['choix'];
    elseif (isset ($_GET['choix'])) $monChoix = $_GET['choix'];
     
     
    	// Séléction les noms des rubriques dans l'ordre alphabétique
    	$req = ("SELECT NomRubrique, NumeroRubrique FROM rubri order by NomRubrique asc");
    	// Execution de la requete
    	$result = mysql_query($req);
    	?>
    	<!-- Création de la liste déroulante -->
    	Quelle rubrique voulez vous afficher ? 
    	<form action="rubrique.php" method="POST">
    	<select name="choix">
    	<option value="0" selected="selected">Choissisez votre rubrique </option>
     
     
     
    	<?php
    	while ($donnees = mysql_fetch_array($result))
    					{
    					// Affichage du nom de la rubrique
    					?>
     
    						<?php
    						echo "<option value = '$donnees[NumeroRubrique]'>".$donnees['NomRubrique']. "</option>";
    					}
     
    	?>
    	</select>
    	<input type="submit" name="button"> 
    	</form>
    <br>
    <?php
     
     
     
     
    if (isset ($monChoix))
    	{
    				// Initialisation de la variable nombre, pour savoir le nombre d'image à afficher/page
    				$nombre = 1;
    				// Initialisation de limite à 0
    				if (!isset($limite)) $limite = 0; 
    									    if(isset($_GET['limite'])) 
     
            $limite=$_GET['limite'];
        else   $limite=0;
    				$path_parts = pathinfo($_SERVER['PHP_SELF']);
    				$page = $path_parts['basename'];
    				// Requete sql permettant de compter le nombre d'enregistrement dans la table imagereduite
    				$select = "SELECT count(NumeroImage) FROM imagereduite";
    				// Execution requete
    				$resultatselect = mysql_query($select);
    				// Nombre d'enregistrement
    				$row = mysql_fetch_row($resultatselect);
    				$nb_resultat = $row[0];
    				$limitesuivante = $limite + $nombre;
    				echo $limitesuivante;
    				$limiteprecedente = $limite - $nombre;
     
    if($limite != 0) 
    {
    				echo '<a href="'.$page.'?limite='.$limiteprecedente.'&choix='.$monChoix.'">Page précédente</a>';
    }
     
    if($limitesuivante < $nb_resultat) 
    {
     
    			echo '<a href="'.$page.'?limite='.$limitesuivante.'&choix='.$monChoix.'">Page Suivante</a>';
    }
     
     
     
    	//echo $x;
    	$req = "SELECT * FROM rubri WHERE NumeroRubrique = '".$monChoix."'";
    	// Execution de la requete
    	$result=mysql_query($req);
    	// Parcours résultat
    	$requete = "SELECT LienImage ,ImageAgrandie, CommentaireImage, NomImage FROM imagereduite WHERE NumeroRubrique = '".$monChoix."' ORDER BY NomImage ASC limit ".$limite.",".$nombre."";
     
     
    		// Execution de la requete
    		$resultat = mysql_query($requete) or die($req . '<br />' . mysql_error());
     
     
    		while ($donnee = mysql_fetch_array($resultat))
    		{
     
    			// Affichage des photos reduites et agrandies
     
    		echo '<a href="photos/agrandies/'.$donnee[1].'"><img border="0" src="photos/reduites/'.$donnee[0].'">;</a>';
     
     
    			?>
     
    			<br><br>
    			<font face="Papyrus" size = "3px">
     
    			<table>
     
    <tr>
    			<td bgcolor="blue"><?php
    			echo 'Commentaire : '. $donnee[2];
    			?>
    			<br></td></tr>
    </tr>
    			<td><?php 
    			echo 'Nom : ' .$donnee[3];
    			?>
    			</td>
    			</tr>
    			</font>
    			</table>
    			<?php
    		}
    	}

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

Discussions similaires

  1. Affichage ipconfig /displaydns page par page? windows7
    Par destructive.flame dans le forum Windows
    Réponses: 1
    Dernier message: 28/02/2014, 08h00
  2. [MySQL] Affichage du résultat page par page (pagination)
    Par marcito dans le forum PHP & Base de données
    Réponses: 12
    Dernier message: 20/07/2007, 14h53
  3. [MySQL] Affichage page par page et requêtes du type $sql .=
    Par carelha dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 06/04/2006, 17h12
  4. [Tableaux] PB liens apres affichage page par page
    Par x2thez dans le forum Langage
    Réponses: 16
    Dernier message: 15/03/2006, 16h58
  5. [MySQL] afficher plusieurs enregistrements par page par page à la volée
    Par pod1978 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 14/03/2006, 12h22

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