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 :

pb syntaxe affichage photos miniatures/haute définition [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre régulier
    Femme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2012
    Messages : 210
    Points : 92
    Points
    92
    Par défaut pb syntaxe affichage photos miniatures/haute définition
    Bonsoir,
    Comme chaque soir, je poste pour venir à bout de mes galères de la journée
    J'ai fait un affichage de miniatures de photos dans une page php.
    Je souhaiterais que lorsqu'on clique dessus, l'image en haute définition s'affiche.
    Grâce à EricD69, j'ai réussi à afficher mes vignettes.
    Je n'arrive pas à trouver la syntaxe pour combiner "echo", "img src" "a href"…
    Les liens des photos sont stockés en bdd sql.

    Voici ma requête qui marche bien :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $req = parcoursRS(SQLSelect("SELECT nomPhotoG, lienPhotoG from PHOTO_GITE
    WHERE nomPhotoG LIKE '%".$_SESSION["numGite"]."%'
    AND (defPhotoG='vignette'
    OR defPhotoG='haute')
    "));
    Voici le code pour l'affichage des miniatures :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "<img src='{$result['lienPhotoG']}{$result['nomPhotoG']}' alt='' />";
    (encore merci EricD69).

    Voici ce que j'ai essayé toute la journée sans succès :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="image xxxx haute définition.jpg"><img alt="" src="image miniature xxxx.jpg" /></a>
    Ce que je ne comprends pas c'est comment indiquer en PHP : affiche moi la photo qui correspond au résultat de la requête defPhotoG='vignette' ou defPhotoG='haute' ???

    Ce que j'ai tenté :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "<a href='{$result['lienPhotoG']==['haute']}'><img alt="" src='{$result['lienPhotoG']==['miniature']}'" /></a>
    ou :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "<a href='{$result['lienPhotoG']==['haute']}'><img alt="" src='{$result['lienPhotoG']['miniature']}'" /></a>
    et bien d'autres choses sans succès.

    Un grand merci par avance si vous aviez juste une orientation à me donner ?
    Evelyne31

  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
    Tu devrais commencer par les bases de PHP et Mysql car tu perds actuellement du temps à faire des essais qui n'ont aucun sens.

    Si je comprends bien ta base de données, tes images haute définition et tes miniatures ont le même nom et sont eparpillées dans un ensemble de repertoires ?

    Si c'est le cas il serait interessant de savoir pourquoi tu procèces ainsi car tu commences avec des obstacles.
    Une façon simple de faire est d'avoir un seul dossier avec par exemple
    unefleur.jpg
    miniature_unefleur.jpg
    ton lien est alors simplement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '<a href="dossier/' . $fichier . '"><img src="dossier/mini_' . $fichier . '"/></a>';
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre régulier
    Femme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2012
    Messages : 210
    Points : 92
    Points
    92
    Par défaut
    Bonsoir Sabotage,
    Je te remercie pour ta réponse. Je suis tout à fait d'accord avec toi pour les bases de PHP et Mysql qui me font cruellement défaut. Pourtant ce n'est pas faute d'avoir lu des centaines de tutos, de forums...
    Je travaille dans une structure où les dates des formations sont en décalage complet avec mon projet. Je dois faire avec, je fais tout en auto-formation avec les tutos, les bouquins, les forums...
    Tout à fait d'accord avec toi sur le fait que je perds beaucoup de temps inutilement.
    MAIS : je travaille beaucoup, je ne fais que ça, j'arrive en fin de projet et à chaque étape je comprends mieux ce qui n'allait pas avant. Je ne sais pas si je suis claire. Je m'investis tellement que ta remarque, certes justifiée, me fait un peu de peine. Toutes les réponses que j'obtiens sur ce forum ne sont pas appliquées telles quelles, je les étudie, les compare, les décortique...
    Oui, mes images haute définition et miniature ont le même nom et elle sont regroupées dans une même table. Pour différencier j'ai ajouté une table "définition" et mis un index unique sur "nom" et "définition". Ce n'est peut-être pas la bonne façon de faire. Je vais réfléchir.
    Je te remercie pour ta réponse que je vais étudier attentivement et suivre tes conseils. Je te souhaite une très bonne soirée.
    Désolée d'avoir posé une question pas très pro. mais si on n'ose pas poser une question stupide on n'avance pas trop.
    Evelyne31

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour Evelyne,
    mais non, il n'y a pas (en général) de "question bête".

    Par contre, sabotage a raison.
    Tu gagnerais beaucoup de temps et d'énergie si tu te reposais, et si tu te posais les bonnes questions, afin d'organiser CLAIREMENT, LOGIQUEMENT ton travail, AVANT même de commencer à coder.

    Ceci dit, on apprend aussi de ses erreurs.

  5. #5
    Membre régulier
    Femme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2012
    Messages : 210
    Points : 92
    Points
    92
    Par défaut
    Bonsoir Jreaux62,
    et merci pour ton message sympa et réconfortant. Me reposer il n'en est pas question.
    Je tiens à préciser que pour mon cas perso. étudier des tonnes de tutos, de questions/réponses sur les forums... c'est un échec total. Désolée, je suis comme ça.
    Par contre, j'apprends beaucoup plus en avançant mon projet, sur du concret, pas à pas et en postant régulièrement sur chaque problème ponctuel. Toutes mes erreurs me font avancer.
    Je suis persuadée qu'arrivée en fin de projet je comprendrais beaucoup plus qu'en ayant étudié des piles de tutos.
    Je tiens à préciser que je suis ce projet seule et sans aucun moyen (milieu de la recherche) et que cela ne m'apportera rien du point de vue avancement.
    Je suis spécialisée sur la Syrie et vu la situation j'ai pensé être plus utile de me reconvertir en "valorisation et diffusion des résultats de la recherche".
    Là ce soir j'étais contente d'avoir avancé depuis plusieurs jours grâce aux conseils de ce forum et vlan, sabotage me "sabote" complètement.
    Je ne vais pas m'étaler sur mes états d'âme mais ça fait un peu mal.
    Est-ce que je ne suis pas à ma place ici ? Si oui que quelqu'un me le dise franchement.
    Merci encore pour tout Jreaux62, très bonne soirée à tout le monde,
    Evelyne31

  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
    Juste pour clarifier, quand je dis "des essais qui n'ont aucun sens", je parle de ça
    {$result['lienPhotoG']==['haute']}
    Mon conseil était de prendre du temps pour être sur de connaitre les bases.
    Un langage informatique obeit à des règles, à une syntaxe.
    Il est ensentiel de connaitre cette syntaxe pour developper quelque chose, on ne peut pas juste experimenter des écritures au petit bonheur la chance, au risque de s'égarer completement.
    Il n'y a pas de cours qui commencerait par la réalisation d'un projet complet, il faut aller pas à pas dans l'apprentissage, comme ici :
    http://sylvie-vauthier.developpez.co...rand-debutant/

    exactement dans cet esprit, en HTML j'écrirais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="herberier/fleur.jpg"><img src="herbier/mini_fleur.jpg"/></a>
    Maintenant je me sers de PHP pour avoir le nom du fichier en variable
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $fichier = 'fleur.jpg';
    echo '<a href="dossier/' . $fichier . '"><img src="dossier/mini_' . $fichier . '"/></a>';
    Maintenant je veux recuperer les noms de photo depuis ma bdd :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $sth = $cnx-query($sql);
    while ($row = $sth->fetch(PDO::FETCH_ASSOC)) {
          echo '<a href="dossier/' . $row['nomPhotoG'] . '"><img src="dossier/mini_' . $row['nomPhotoG'] . '"/></a>';
    }
    Avant de se lancer dans un enorme code, il faut définir les principes qu'on va mettre en oeuvre et valider étape par étape.
    Ici mon principe est que mes miniatures auront le meme nom que l'image avec un prefixe "mini_".
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Membre régulier
    Femme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2012
    Messages : 210
    Points : 92
    Points
    92
    Par défaut
    Bonsoir sabotage,
    et merci pour ta réponse. Après avoir étudié des tutos à la pelle, celui que tu me conseilles de Sylvie Vauthier est ma bible depuis quelques temps : simple, clair et concis. J'ai mis de côté les autres pour ne garder que celui-ci pour le moment, il va à l'essentiel. Je prends ponctuellement des infos dans d'autres sources.
    Je l'ai imprimé et décortiqué, c'est ma base, je le lis et le relis tout le temps.
    Mais s'il m'est très utile au quotidien, je fais partie de ces gens à qui il faut du concret en parallèle pour comprendre et assimiler. Et la réalisation de mon projet de A à Z c'est ça. Je n'en peux plus de me plonger dans des tutos des bases du PHP et du MySQL et je ne pense pas être la seule.
    Mon projet me tiens vraiment à coeur, j'avance pas à pas, ça me passionne.
    Désolée de vous importuner chaque soir avec mes problèmes du jour, problèmes que j'essaie de régler au moins une journée avant de poster, en étudiant avant des tutos, des forums...
    Merci pour tout et bonne soirée,
    Evelyne31

  8. #8
    Membre émérite
    Avatar de gene69
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 769
    Détails du profil
    Informations personnelles :
    Localisation : France

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

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 769
    Points : 2 446
    Points
    2 446
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $sth = $cnx-query($sql);
    while ($row = $sth->fetch(PDO::FETCH_ASSOC)) {
          echo '<a href="dossier/' . $row['nomPhotoG'] . '"><img src="dossier/mini_' . $row['nomPhotoG'] . '"/></a>';
    }
    bon conseils comme d'habitude, mais ici il faut lire $cnx->query($sql). avec écho j'utilise les virgules et jamais les points, les gouts et les couleurs...
    PHP fait nativement la validation d'adresse électronique .
    Celui qui a inventé mysql_connect(...) or die() est déjà mort plusieurs fois.

    Utilisez le bouton résolu!

  9. #9
    Invité
    Invité(e)
    Par défaut
    Bonjour Evelyne,
    bien sûr que tu es "à la bonne place ici" !

    Quand je disais de "te reposer", je voulais surtout dire : "Fais une pause !"
    Et ce, afin de prendre du recul sur ton travail, et avoir une vue d'ensemble.

    Il parait évident que tu en es au stade du "ras-le-bol", avec la "tête dans le guidon".
    Va t'aérer, pense à autre chose pendant une heure ou deux, le temps d'évacuer le stress.

    Tu en reviendras avec les idées plus claires, OK ?

    Il est aussi très important de bien dormir.
    Car durant le sommeil, le cerveau se ré-organise.
    Et le matin, il n'est pas rare de se réveiller avec de nouvelles idées et des solutions !

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

Discussions similaires

  1. Template ( phpBB-Phplib ) et affichage de miniature via GD2 :x
    Par Rohann dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 06/09/2006, 11h47
  2. affichage photo avec chemin d'accès
    Par julio02200 dans le forum Access
    Réponses: 7
    Dernier message: 21/06/2006, 17h10
  3. [Configuration] probleme avec affichage photo
    Par arti2004 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 3
    Dernier message: 18/06/2006, 00h23
  4. Affichage photo répertoire
    Par le69 dans le forum Langage
    Réponses: 11
    Dernier message: 19/04/2006, 21h40
  5. [FLASH 8] Pbm affichage photos
    Par fab22montpellier dans le forum Flash
    Réponses: 1
    Dernier message: 30/11/2005, 12h42

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