galerie en base de donnée

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : galerie en base de donnée

Re: galerie en base de donnée

par Cro_mag » 19 mai 2011, 17:34

Effectivement même problème !!

T'as pas une adresse hotmail ?
Ca ira peut être plus vite ??? Si tu as le temps et si ça ne t’ennuie pas.

Pour info la bdd est sur 1&1

Re: galerie en base de donnée

par misterflo » 19 mai 2011, 17:30

Dans le $db_host laisse en localhost, en supposant que ta bdd est sur le même serveur que ton site internet bien sur.

Mais dans ce cas la c'est pas sensé te mettre ce type d'erreur, donc je ne suis même pas sur que ceci règle ton problème !

Re: galerie en base de donnée

par Cro_mag » 19 mai 2011, 14:33

Oui c'est moi qui fait le screen de la page (un plein ecran, puis imprim ecran un coup sous photoshop et hop)

URGENT ::

J'ai enlever ma version html pour mettre la php
Seulement quand je veux acceder a galerie.php j'ai ça :

Code : Tout sélectionner

Parse error: syntax error, unexpected '{' in /homepages/23/d241421257/htdocs/inc/sql_connect.inc.php on line 4
Bien évidemment avant j'ai changé mon fichier sql_connect_inc.php
<?php
//Connexion à la BDD
try
{
        $db_host = "*************.com"; //Lieu où est héberger la BDD

        $db_name = "***********"; //Nom de la BDD

        $db_login = "***********"; //Login de connexion à la BDD

        $db_mdp = "***********"; //Mot de passe de connexion à la BDD

        $bdd = new PDO("mysql:host=$db_host;dbname=$db_name",$db_login,$db_mdp);
}
catch(Exception $e)
{
        exit('Erreur : ' . $e->getMessage());
}
?>
Du coup je ne peux rien faire, impossible d'acceder a ajoutphotos zone protégée, malgré que je rentre le pass etc.., tout doit être lié je pense

Re: galerie en base de donnée

par misterflo » 19 mai 2011, 13:33

Oui c'est possible, mais je sais pas trop comment ca marche !
C'est toi qui fait les screen de chaque page ?

Re: galerie en base de donnée

par Cro_mag » 19 mai 2011, 08:24

Une question...

Je pense que ce n'est pas réapplicable mais bon,

Dans ma version html, lorsque je suis dans une galerie, si je vais sur la pagination, je peux voir une miniature de la page (cf : inde par exemple), c'est possible de le remettre ???

Re: galerie en base de donnée

par Cro_mag » 18 mai 2011, 21:27

alleluyah !!!!!

Mr MISTERFLO t'es ENORME !!

Tout marche, tout est aligné parfaitement. Je n'avais pas effectué la modif que tu m'avais mis en debut de semaine sur le tableau pour la galerie. Donc la c'est fait et ça marche !!!!!

Merci infiniment

Des demain j'essaye de mettre en ligne si j'ai un problème je te dis. De toute façon je te tiens au courant de toute façon !

On s'attaque a la traduction du site par bdd ? LOL

Re: galerie en base de donnée

par misterflo » 18 mai 2011, 21:21

Il y a un } en trop, il faut l'enlever (celui de la ligne 164), il est la ligne juste après le <?php
La partie corrigée :
<?php
                 echo "</p>\n";
                 echo '<div class="clear"></div>';
                 
                  echo' <div id="barrebas">
   <img src="images/barre horizontale.jpg" width="800" height="1" alt="barre" /></div>';

Re: galerie en base de donnée

par Cro_mag » 18 mai 2011, 21:10

une erreur plus loin

Code : Tout sélectionner

Parse error: syntax error, unexpected '}' in C:\xampp\htdocs\tuan-gallery\content\galeriebdd.php on line 164

Re: galerie en base de donnée

par misterflo » 18 mai 2011, 14:28

Salut,

effectivement le <?php est en trop, il suffit simplement de l'enlever.
Mais plus simplement, au lieu de faire des echo le mieux est de fermer le php avant les echo et de le réouvrir après.
Niveau syntaxe c'est plus pratique, dans la plupart des editeurs html/php ca permet ainsi d'avoir la coloration syntaxique du html et pas besoin de s'embêter avec les ' et les "
      //On affiche le titre choisi plus tôt ici
?>
         <div class="title">- <?php echo $titre_page; ?> -</div>
         <p>
         <div id="barrehaut">
    <img src="images/barre horizontale.jpg" width="800" height="1" alt="barre" /></div>
          <table width="850">
                  <tr>
<?php
         $n = 0; //Ne pas toucher !
         while ($donnees = $req->fetch()) {
Pour ce qui est des photos dans la bdd logiquement tu peux déjà les ajouter.

Re: galerie en base de donnée

par Cro_mag » 18 mai 2011, 10:19

Aie aie aie
Toujours une erreur pour accéder a la galerie java

Code : Tout sélectionner

Parse error: syntax error, unexpected '<' in C:\xampp\htdocs\tuan-gallery\content\galeriebdd.php on line 104
Gâce au code couleur je vois que le <?php juste après n'est pas de la bonne couleur, donc la faute est juste avant. Je ne sais pas si ca peut t'aider.



Galeriebdd.php
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link href="style_galerie.css" rel="stylesheet" type="text/css" media="screen"/>

<?php
$i = 0; //Ne pas toucher !

$req = $bdd->prepare("SELECT DISTINCT gal_pays FROM galerie_photos");
$req->execute();
while ($donnees = $req->fetch()) {
        $liste_pays[$i] = $donnees['gal_pays']; //Liste des pays
        $i++;
}
//On sécurise le $_GET['pays']
if (isset($_GET['pays'])
        && in_array($_GET['pays'],$liste_pays)
        && isset($_GET['page'])
        && is_numeric($_GET['page']))
{

$pays = $_GET['pays']; //On enregistre le pays dans une variable
//On va afficher un titre dans la page selon le pays choisi
switch ($pays) {
        case 'japon':
                $titre_page = "Photos du Japon";
                break;
        case 'paris':
                $titre_page = "Photos de Paris";
                break;
        case 'usa':
                $titre_page = "Photos des USA";
                break;
        case 'australie':
                $titre_page = "Australian Outback";
                break;
        case 'java':
                $titre_page = "Photos de Java";
                break;
        case 'inde':
                $titre_page = "Photos d'Inde";
                break;
        case 'bali':
                $titre_page = "Photos de Bali";
                break;
        case 'venise':
                $titre_page = "Photos du Carnaval de Venise";
                break;
        case 'cambodge':
                $titre_page = "Photos du Cambodge";
                break;
}

//Défini la suite de la partie <head></head> pour le HTML
$head = <<<EOD
 <link rel="stylesheet" href="css/slimbox2.css" type="text/css" media="screen" />
        <script type="text/javascript" src="js/jquery.js"></script>
        <script type="text/javascript" src="js/slimbox2.js"></script>
<style type="text/css" media="screen">
body {
        margin: 0px auto 0px auto;
        padding: 0px;
        width: 1024px;
}

</style>

                <title>$pays</title>
  
  

EOD;

        $nb_photos_page = 9; //Nombre de photos par page

        /*
                $_GET['page'] permet de savoir sur quel page on est positionnee
                $start permet de savoir à partir de quel moment on commence l'affichage des fichiers sur la page
        */
        if ($_GET['page']>0) {
                $start = $_GET['page'] * $nb_photos_page - $nb_photos_page;
                $page = $_GET['page'];
        } else {
                $_GET['page'] = str_replace("-",'',$_GET['page']);//on enleve le/les - si quelqu'un les ecrits...
                $start = $_GET['page'] * $nb_photos_page - $nb_photos_page;
                $page = $_GET['page'];
        }

        /*
                On va afficher la galerie pour le pays choisi
                Et pour le numéro de la page sur laquelle on est
        */

        $nb_fichiers_total = 0; //Ne pas toucher

        $req = $bdd->prepare("SELECT gal_photo,gal_descr FROM galerie_photos WHERE gal_pays=:pays ORDER BY gal_trajet LIMIT $start,$nb_photos_page");
        $req->bindValue('pays',$pays,PDO::PARAM_STR);
        $req->execute();
       //On affiche le titre choisi plus tôt ici
        echo "<div class='title'>- $titre_page -</div>";
       echo "<p>";
       echo '<div id="barrehaut">
   <img src="images/barre horizontale.jpg" width="800" height="1" alt="barre" /></div>
         <table width="850">
                 <tr>';
<?php
        $n = 0; //Ne pas toucher !
        while ($donnees = $req->fetch()) {
                $photo = $donnees['gal_photo'];
                $descr = $donnees['gal_descr'];
                if ($n == 3) {
                        $n = 0;
?>
                </tr>
                <tr>
                        <td><a href="<?php echo "$pays/grandes/$photo"; ?>" class="decal_img" rel="lightbox-cats" title="<?php echo $descr; ?>"><img src="<?php echo "$pays/petites/$photo"; ?>" alt="" /></a></td>
<?php
                } else {
?>
                        <td><a href="<?php echo "$pays/grandes/$photo"; ?>" class="decal_img" rel="lightbox-cats" title="<?php echo $descr; ?>"><img src="<?php echo "$pays/petites/$photo"; ?>" alt="" /></a></td>
<?php
                }
                $n++;
        }
?>
                </tr>
        </table>
        
<?php
        }
                echo "</p>\n";
                echo '<div class="clear"></div>';
                
                 echo' <div id="barrebas">
  <img src="images/barre horizontale.jpg" width="800" height="1" alt="barre" /></div>';


//Mise en place de la pagination
$nb_total = $bdd->prepare("SELECT COUNT(*) AS nb_total FROM galerie_photos WHERE gal_pays=:pays");
$nb_total->bindValue('pays',$pays,PDO::PARAM_STR);
$nb_total->execute();
$nb_total = $nb_total->fetch();
$nb_total = $nb_total['nb_total'];

$nb_pages = ceil($nb_total / $nb_photos_page);
?>
        <p>[
<?php
        for ($i=1;$i<=$nb_pages;$i++) {
                if ($i == $page ) {
?>
                <span class="pagination"><?php echo $i; ?></span> -
<?php
                } else {
?>
                <a href="?p=galeriebdd&pays=<?php echo $pays; ?>&page=<?php echo $i; ?>" class="pagination"><?php echo $i; ?></a> -
 
<?php
                }
        }
?>
        ]</p>
<?php

} else {

header("Location: ?p=index");

}
?>

Pour le soucis des images qui sautaient, problème résolu. Après avoir essayer d'intervertir les images etc.. j'ai constaté qu'en fait c'était toujours le cambodge et bali qui produisaient cela; les tailles étaient bonnes, mais un accent c'était glissé dans survolée au lieu de survolee. :oops:

Alala plus que ce problème de galerie (peut etre vite résolu si j'arrive a voir un truc, (peur d'avoir fait une erreur, j'aimerais lever ce doute).
Pendant ce temps tu crois que je peux mettre les images dans la bdd ? ou il vaut mieux attendre que ce soit résolu ? (car j'ai pas trop envie de le faire plusieurs fois)

Re: galerie en base de donnée

par misterflo » 17 mai 2011, 14:40

Salut,

1) J'essaye de faire plusieurs cas de figure, mais je vois pas ce qui pourrait décaler lors du survole, c'est un problème de taille en css surement, mais je vois pas d'où !

2) Un echo est mal fermé, il se ferme juste avant le <table width="850"> alors qu'il doit normalement se fermer après le <tr>

La partie corrigé :
echo '<div id="barrehaut">
   <img src="images/barre horizontale.jpg" width="800" height="1" alt="barre" /></div>
         <table width="850">
                 <tr>';

Re: galerie en base de donnée

par Cro_mag » 17 mai 2011, 11:33

1) toujours le problème

2) peut être une erreur de ma part, mais pour vérifier il faudrait que je puisse accéder a ma galerie. Si je clic sur java (avec les images en roll over je n'y ai pas accès il y a une erreur de code (suivant ce qu'il y a de marqué)

Code : Tout sélectionner

Parse error: syntax error, unexpected '<' in C:\xampp\htdocs\tuan-gallery\content\galeriebdd.php on line 102
        $nb_fichiers_total = 0; //Ne pas toucher

        $req = $bdd->prepare("SELECT gal_photo,gal_descr FROM galerie_photos WHERE gal_pays=:pays ORDER BY gal_trajet LIMIT $start,$nb_photos_page");
        $req->bindValue('pays',$pays,PDO::PARAM_STR);
        $req->execute();
       //On affiche le titre choisi plus tôt ici
        echo "<div class='title'>- $titre_page -</div>";
       echo "<p>";
       echo' <div id="barrehaut">
  <img src="images/barre horizontale.jpg" width="800" height="1" alt="barre" /></div>';
        <table width="850">
                <tr>
<?php
        $n = 0; //Ne pas toucher !
        while ($donnees = $req->fetch()) {
                $photo = $donnees['gal_photo'];
                $descr = $donnees['gal_descr'];
                if ($n == 3) {
                        $n = 0;
?>
                </tr>
                <tr>
                        <td><a href="<?php echo "$pays/grandes/$photo"; ?>" class="decal_img" rel="lightbox-cats" title="<?php echo $descr; ?>"><img src="<?php echo "$pays/petites/$photo"; ?>" alt="" /></a></td>
<?php
                } else {
?>
                        <td><a href="<?php echo "$pays/grandes/$photo"; ?>" class="decal_img" rel="lightbox-cats" title="<?php echo $descr; ?>"><img src="<?php echo "$pays/petites/$photo"; ?>" alt="" /></a></td>
<?php
                }

Re: galerie en base de donnée

par Cro_mag » 16 mai 2011, 12:52

1) Les images ont toutes les mêmes dimensions au pixel pret
Tout est en 142 x 213

Pour le css même en le supprimant totalement
<style type="text/css" media="screen">
<!--
body {
   margin: 0px auto 0px auto;
   padding: 0px;
   width: 1000px;
}
#debut_image {
   padding: 0px;
   width: 1000px;
   text-align: center;
   height: auto;
   margin-top: 30px;
   margin-bottom: 0px;
   border-style: none;
}
#debut_image table {
   text-align: center;
   border: none;
   color: #999;
   margin-right: auto;
   margin-left: auto;
}
-->
</style>
Et bien les images restent bien en place et le problème persiste !!

2) et toujours ce soucis de centrage avec les galeries :cry:

Re: galerie en base de donnée

par misterflo » 16 mai 2011, 12:46

La taille des images est surement différente (même de 1 ou 2 pixels).
Tu peux ajuster avec le CSS si tu ne veux pas modifier la taille des images.

Cela peut aussi être un problème de border en css qui s'enlève ou s'ajoute lors du survole, ou alors un décalage avec un margin ou un padding

Re: galerie en base de donnée

par Cro_mag » 16 mai 2011, 12:19

Désolé :oops:

Par contre elle s'affiche correctement mais quand je passe sur cambodge et bali tout tremble !!!! Alors que pour les autres c'est parfait...qu'est je oublié ?