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 :

pagination et diaporama


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Octobre 2004
    Messages
    514
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2004
    Messages : 514
    Points : 107
    Points
    107
    Par défaut pagination et diaporama
    Bonjour voilà le soucis , j'aimerais paginer photo par photo et peut-être ajouter un style de diaporama automatique le soucis , j' ai une erreur de ligne je la trouve pas.

    Seriez vous m 'aider stp a voir plus claire.

    Merci d'avance

    Erreur de syntaxe près de ''0', '2'' à la ligne 1

    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
    163
    164
    165
    <?php
    include("header.php"); 
    require_once("security.php");
     
    $photogal = $_SESSION['waza'];
    echo"<h1>"._PAGE_PHOTO_GAL_."".$photogal."</h1>"; 	
    echo'<div id="photo">';
    /* *************************************************************************************
    - vignette($img_file, $img_max_width = 450, $img_max_height = 350)
    - Création d'une vignette à partir d'une image ($img_file)
    - Les extensions prises en compte sont jpg et png (le gif simple est remplacé par le png)
    - Le gif n'est jamais redimensionné (gif animé)
    - Dernière version : 23/09/2007
    
    * $img_file : chemin vers le fichier image à redimensionner
    * $img_max_width : largeur maximum que doit faire la miniature
    * $img_max_height : Hauteur maximum que doit faire l'image
    ************************************************************************************* */
    function vignette($img_file, $img_max_width, $img_max_height) {
     
       $file = realpath($img_file); // Chemin canonique absolu de l'image
       $dir = dirname($img_file).'/'; // Chemin du dossier contenant l'image
       $img_infos = getimagesize($file); // Récupération des infos de l'image
       $img_width = $img_infos[0]; // Largeur de l'image
       $img_height = $img_infos[1]; // Hauteur de l'image
       $img_type = $img_infos[2]; // Type de l'image
     
       // Détermination des dimensions de l'image
       if ($img_max_width > $img_width) {
          $img_max_width = $img_width; // Largeur de la vignette
       }
     
       if ($img_max_height > $img_height) {
          $img_max_height = $img_height; // Hauteur de la vignette
       }
     
       $img_thumb_fact_width_height = $img_max_width / $img_max_height; // Facteur largeur par hauteur des dimensions max de la vignette
       $img_fact_width_height = $img_width / $img_height; // Facteur largeur par hauteur de l'original
     
       // Détermination des dimensions de la vignette
       if ($img_thumb_fact_width_height < $img_fact_width_height) {
          $img_thumb_width  = $img_max_width; // Largeur de la vignette
          $img_thumb_height = $img_thumb_width / $img_fact_width_height; // Hauteur de la vignette
       } else {
          $img_thumb_height = $img_max_height;  // Hauteur de la vignette
          $img_thumb_width  = $img_thumb_height * $img_fact_width_height; // Largeur de la vignette
       }
     
       // Vérification de la présence de la vignette
       @$img_file_temp = MINI.$img_file; // Adresse de l'image temporaire de base
       $exp_img_thumb_width = explode(',', $img_thumb_width); // Découpe de la taille de la vignette
       @$img_thumb_name = preg_replace('/(.+)\.(.+)/U', '$1'.REW.$exp_img_thumb_width[0].'px.$2', $img_file_temp); //Adresse de la vignette
       if (is_file($img_thumb_name) ) {
          return $img_thumb_name;
       }      
     
       // Création du dossier de l'image
       @$exp_dir = explode('/', MINI.$dir); // Découpe du chemin
       $dir = '';
     
       for   ($a = 0; $a < count($exp_dir) -1; $a++) {
          $dir .= $exp_dir[$a].'/'; // Chemin du cache
     
          // Détermination du chemin
          if (!is_dir($dir)) {
             mkdir($dir); // Création du dossier
          }
       }
     
       // Sélection des variables selon l'extension de l'image
       switch ($img_type) {
          case 2:
             $img = imagecreatefromjpeg($file); // Création d'une nouvelle image jpeg à partir du fichier
             $img_ext = '.jpg' || '.JPG' || '.jpeg' || '.JPEG'; // Extension de l'image
             break;
          case 3:
             $img = imagecreatefrompng($file); // Création d'une nouvelle image png à partir du fichier
             $img_ext = '.png';  // Extension de l'image
       }
     
       $img_thumb = imagecreatetruecolor($img_thumb_width, $img_thumb_height); // Création de la vignette
       imagecopyresized($img_thumb, $img, 0, 0, 0, 0, $img_thumb_width, $img_thumb_height, $img_width, $img_height); // Insertion de l'image de base redimensionnée
       $file_name = basename($img_file, $img_ext); // Nom du fichier sans son extension
       $img_thumb_name = $dir.$file_name.$img_ext; // Chemin complet du fichier de la vignette
       //$img_thumb_name = $dir.$file_name.$exp_img_thumb_width[0].$img_ext; // Chemin complet du fichier de la vignette
     
       // Sélection de la vignette créée
       switch($img_type){
          case 2:
             imagejpeg($img_thumb, $img_thumb_name); // Enregistrement d'une image jpeg avec une compression de 75 par défaut
             break;
          case 3:
             imagepng($img_thumb, $img_thumb_name); // Enregistrement d'une image png
       }
     
       return $img_thumb_name;
    }
     
    $messagesParPage=2; //Nous allons afficher 5 messages par page.
     
    //Une connexion SQL doit être ouverte avant cette ligne...
    $retour_total=mysql_query('SELECT COUNT(*) AS total FROM '.PREFIXE.'galerie'); //Nous récupérons le contenu de la requête dans $retour_total
    $donnees_total=mysql_fetch_assoc($retour_total); //On range retour sous la forme d'un tableau.
    $total=$donnees_total['total']; //On récupère le total pour le placer dans la variable $total.
     
    //Nous allons maintenant compter le nombre de pages.
    $nombreDePages=ceil($total/$messagesParPage);
     
    if(isset($_GET['page'])) // Si la variable $_GET['page'] existe...
    {
         $pageActuelle=intval($_GET['page']);
     
         if($pageActuelle>$nombreDePages) // Si la valeur de $pageActuelle (le numéro de la page) est plus grande que $nombreDePages...
         {
              $pageActuelle=$nombreDePages;
         }
    }
    else // Sinon
    {
         $pageActuelle=1; // La page actuelle est la n°1    
    }
     
    $premiereEntree=($pageActuelle-1)*$messagesParPage; // On calcul la première entrée à lire
     
    // La requête sql pour récupérer les messages de la page actuelle.
    $select=mysql_query("SELECT * FROM ".PREFIXE."galerie WHERE id_gal='".$photogal."' ORDER BY id DESC LIMIT '".$premiereEntree."', '".$messagesParPage."'") or die (mysql_error());
     
    	while($row=mysql_fetch_array($select))
    		{
     
    		$_SESSION['supim'] = htmlentities($row['idg']);
    		$id_gal =htmlentities($row['id_gal']);
    		$im = $row['gal'];
     
     
    //contrôle de l'image vide dans le champ 
    if(!empty($im)){
    vignette('imagess/'.$im.'', 400, 300);
    echo'<div align="center"><img src="MINIimagess/'.$im.'" /></div>&nbsp;<br />';						 
    if($id_gal == $pseudom){
    echo'<td><div align="center"><a href="supp_image.php?idg='.$_SESSION['supim'].'">Supprimer&nbsp;<img src="images/erreur.JPG" width="15" height="16" /></a></div></td><br />';
    }
    }
    }
    echo'</div>';
     
     
    echo '<p align="center">Page : '; //Pour l'affichage, on centre la liste des pages
    for($i=1; $i<=$nombreDePages; $i++) //On fait notre boucle
    {
         //On va faire notre condition
         if($i==$pageActuelle) //Si il s'agit de la page actuelle...
         {
             echo ' [ '.$i.' ] '; 
         }	
         else //Sinon...
         {
              echo ' <a href="galerie.php?page='.$i.'">'.$i.'</a> ';
         }
    }
    echo '</p>';
     
    include("footer.php");
     
    ?>
    pour voir plus claire encore voici la table avec ici dessous

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    CREATE TABLE fk_galerie (
      idg int(4) NOT NULL auto_increment,
      id_gal varchar(150) NOT NULL default '',
      gal tinytext NOT NULL,
      date varchar(11) NOT NULL default '00-00-0000',
      KEY id (idg)
    ) TYPE=MyISAM;

  2. #2
    Membre habitué
    Homme Profil pro
    Inscrit en
    Juillet 2010
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 96
    Points : 140
    Points
    140
    Par défaut
    tu a 2 query sql sur cette page :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT COUNT(*) AS total FROM '.PREFIXE.'galerie
    et

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    "SELECT * FROM ".PREFIXE."galerie 
    WHERE id_gal='".$photogal."' 
    ORDER BY id DESC LIMIT '".$premiereEntree."', '".$messagesParPage."'"
    comme les 2 sont contienne des variables, tu devrais commencer par faire en echo sur ces string et essayer de les passer par exemple dans php my admin pour voir si elle passe dans erreur

    mais pour t'éviter de trop chercher, ton erreur vien de ton limit...
    remplace

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     LIMIT '".$premiereEntree."', '".$messagesParPage."'"
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     LIMIT ".$premiereEntree.", ".$messagesParPage."

Discussions similaires

  1. Diaporama + pellicule photo...
    Par Alberto dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 17/12/2004, 19h12
  2. [C#] Probleme de pagination dans datagrid
    Par asphareth dans le forum ASP.NET
    Réponses: 2
    Dernier message: 21/07/2004, 11h25
  3. [VB.NET] Pagination DataGrid
    Par sehing dans le forum ASP.NET
    Réponses: 5
    Dernier message: 20/07/2004, 16h28
  4. Réponses: 15
    Dernier message: 20/07/2004, 09h22
  5. diaporama
    Par Décibel dans le forum Flash
    Réponses: 9
    Dernier message: 12/11/2003, 20h16

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