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 :

Image unique [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2005
    Messages : 11
    Par défaut Image unique
    Bonjour,

    Je veux faire un album photo avec un menu d'événements sur le coté droit, qui appel une page de miniatures de photo de l'événement.

    Mon problème est que lorsque j'appel la page du menu (right.php) il n'y a plus qu'une miniatures qui s'affiche avec le menu. Par contre, si je n'ai pas mon menu (right.php) toutes les miniatures s'affichent.

    Voici le 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
     
    <?php 
     
    // connection à la base de données 
    require("connexion.php"); 
     
    // Création de la requête SQL 
    $sql = "SELECT id_evenement, miniature FROM album  WHERE (id_evenement = $id_evenement) "; 
     
    // Exécution de la requête SQL 
    $resultat = mysql_query($sql ) ; 
     
    // Boucle sur les enregistrements 
    while ($row = mysql_fetch_assoc($resultat)) { 
       $id_evenment= $row['id_evenement']; 
       $miniature = $row[ 'miniature'] ; 
     
    // Affichage 
    require("right.php"); 
    echo  "<a href='photos.php?id_evenement=$id_evenement'> <img src= $miniature></a>"; 
    } 
     
    ?>
    J'aimerais savoir ce que je fais de pas correct. J'ai l'impression que cela a rapport avec ma boucle mais...

    Merci de m'aider

    Alain[/b]

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    1 012
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 012
    Par défaut
    je ne sais pas si cela va t'aider, mais j'ai quelques petites questions :

    • au début, tu fais une requête sur id_evenement = $id_evenement
      as-tu défini cette variable avant ?
    • dans la boucle tu indique $evenment sans e. a priori ton lien du href ne fonctionnera pas
    • si ta boucle a l'air de s'interrompre quand tu inclus le right.php, peut-être est ce le fichier right.php qui crée l'erreur. Peut-on le voir ?

  3. #3
    Expert confirmé
    Avatar de Michaël
    Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2003
    Messages
    3 497
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Juillet 2003
    Messages : 3 497
    Par défaut
    normal qu'il n'y ait pas de mysql_connect ?

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2005
    Messages : 11
    Par défaut
    Citation Envoyé par Le_coyote
    normal qu'il n'y ait pas de mysql_connect ?
    La connexion se fait dans le fichier require(connexion.php). Pour ce qui est de id_evenement, j'ai fait une erreure de frappe sur ce message et oui elle est bien défini car elle provient de la base de donnée .

    J'ai l'impression que l'erreur est dans la boucle. C'est comme si le fait de faire une boucle, la page right.php repassait dessus la nouvelle page et effacait le tout.

    Merci de votre aide

    Alain

  5. #5
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut
    Peut-on voir le code de right.php ?

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2005
    Messages : 11
    Par défaut
    Citation Envoyé par Mr N.
    Peut-on voir le code de right.php ?
    Désolé pour le délai. Changement de place entre la maison et le travail.

    Voici le code de right.php
    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
     
    <head>
    <title></title>
     
    <style type="text/css">
    body {text-align:left;font: 80% arial,verdana,sans-serif}
    h1,h2,h3 {color:#993300}
    h1 {font-size:150%}
    h2 {font-size:135%}
    h2 {font-size:120%}
     
    .menu {text-align:left;font: 100% arial,verdana,sans-serif;font-weight:bold;}
    .morelink,.footer {text-align:right;font: 65% arial,verdana,sans-serif}
    .morelink {color:#993300}
    .footer {color:#000000}
    .byline {text-align:left;font: 100% arial,verdana,sans-serif;font-weight:bold;}
    </style>
     
    </head>
    <body>
    <table border='1' height='100%' width='100%' cellspacing='0'>
    <tr>
      <td bgcolor='#004080' colspan='2' height='90' width='100%'>&nbsp;</td>
    </tr>
    <tr>
      <td valign='top' height='100%' bgcolor='#004080'>
        <img src="logo.gif" width='100' height='50'>
        <br />
        <?php
     
    // connection à la base de données
    require("connexion.php"); 
     
    // Création de la requête SQL
    $sql = "SELECT id_evenement, titre_evenement FROM evenement ORDER BY id_evenement";
     
    // Exécution de la requête SQL
    $resultat = mysql_query($sql ) ;
     
    // Boucle sur les enregistrements
    while ($row = mysql_fetch_assoc($resultat)) {
    	$titre_evenement= $row['titre_evenement'];
    	$id_evenement = $row[ 'id_evenement'] ;
    	//$date = $row['date'] ;
    // Affichage
     
    echo  "<a href= 'miniatures.php?id_evenement=$id_evenement'> '$titre_evenement' </a> <br>";
     
    }
     
    ?>
      </td>
      <td valign='top' width='100%'>
        <p>
    Merci pou l'aide
    Alain

  7. #7
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut
    Right.php affiche une page html complète (du moins le début, mais il y a head/body/table et tout le tralala...)
    Si ce right.php est inclus dans une boucle, il est normal que ca fasse des résultats bizarre non ?

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2005
    Messages : 11
    Par défaut
    Citation Envoyé par Mr N.
    Right.php affiche une page html complète (du moins le début, mais il y a head/body/table et tout le tralala...)
    Si ce right.php est inclus dans une boucle, il est normal que ca fasse des résultats bizarre non ?
    Oui car c'est ce qui donne la forme au coté des pages. Si j'enlève le code html, je n'ai plus ma mise en forme (logo entête, ect.)

    De toute façon, il apparaît ok lui.

    Alain

  9. #9
    Membre émérite
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    1 012
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 012
    Par défaut
    mr N n'a pas voulu dire que tu devais enlever tous tes codes html, mais que ta structure n'est pas bonne, en l'occurence :

    ta page right.php contient la totalité d'un code html, y compris les balises <head>, </head>, <body>, etc.
    Donc, dans la page appelante, il ne peut y avoir que des calculs, des requêtes ou similaire et il ne peut PAS y avoir de balises html dans la page appelante, et pourtant tu fais un echo.

    De plus, dans ta boucle while, tu appelles de nombreuses fois ta page right.php (enfin c'est ce que tu espères), et à chaque fois tu recharges une page html complète y compris les balises citées plus haut. Cela ne FONCTIONNE PAS.

    Tu dois changer ta structure, et mettre la partie <head> et les balises <body> etc dans ta page appelante

  10. #10
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2005
    Messages : 11
    Par défaut
    Citation Envoyé par francis m
    mr N n'a pas voulu dire que tu devais enlever tous tes codes html, mais que ta structure n'est pas bonne, en l'occurence :

    ta page right.php contient la totalité d'un code html, y compris les balises <head>, </head>, <body>, etc.
    Donc, dans la page appelante, il ne peut y avoir que des calculs, des requêtes ou similaire et il ne peut PAS y avoir de balises html dans la page appelante, et pourtant tu fais un echo.

    De plus, dans ta boucle while, tu appelles de nombreuses fois ta page right.php (enfin c'est ce que tu espères), et à chaque fois tu recharges une page html complète y compris les balises citées plus haut. Cela ne FONCTIONNE PAS.

    Tu dois changer ta structure, et mettre la partie <head> et les balises <body> etc dans ta page appelante
    J'ai de la misère a te suivre, car tu semble dire a un endroit que je ne peux pas mettre des balise html dans la page appelante et à un autre que je dois en mettre.

    Effectivement, ma boucle est probablement mal positionné car elle appelle chaque fois la page, ce que je ne veux pas obligatoirement, mëme que je crois que cela nui.

    Merci de l'aide,

    Alain

  11. #11
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut
    Citation Envoyé par damours111
    J'ai de la misère a te suivre, ....
    +1 tu as raison, le francis m voulait dire en fait que tu ne pouvait pas avoir du code html de si haut niveau (head, body, ...) dans ta page appelée car tu l'inclus dans une boucle.

  12. #12
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut
    J'ai essayé de reprendre ton problème depuis le début...
    Qu'est ce qui te dit que pour un évenement tu n'as pas qu'une miniature ?

  13. #13
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2005
    Messages : 11
    Par défaut
    Citation Envoyé par Mr N.
    J'ai essayé de reprendre ton problème depuis le début...
    Qu'est ce qui te dit que pour un évenement tu n'as pas qu'une miniature ?
    Désolé pour le retard à répondre. En passant , merci de m'aider. Le problème c'est qu'une seule miniature apparaît lorsque la page miniature.php appelle la page right.php. Sinon, c'est-à-dire que si je me sert juste de la page miniature.php, toutes les miniatures sont là. La page right.php contient un menu qui appelle différentes séries de miniatures, selon l'événement chosi dans le menu.

    Si tu as besoin d'autres renseignements, n'hésites surtout pas!

    Merci

    Alain

  14. #14
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut
    Aurais-tu un exemple an ligne car c'est toujours pas clair pour moi...

  15. #15
    Membre éclairé Avatar de glloq8
    Inscrit en
    Novembre 2002
    Messages
    298
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Novembre 2002
    Messages : 298
    Par défaut
    Ca peut pas être du au fait qu'il donne le même nom de variable pour sa requête et pour le résultat ??

    $sql
    $resultat

    utilisées 2 fois pour 2 requêtes différentes...

  16. #16
    Membre émérite
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    1 012
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 012
    Par défaut
    Citation Envoyé par Mr N.
    Citation Envoyé par damours111
    J'ai de la misère a te suivre, ....
    +1 tu as raison, le francis m voulait dire en fait que tu ne pouvait pas avoir du code html de si haut niveau (head, body, ...) dans ta page appelée car tu l'inclus dans une boucle.
    comme quoi c'est difficile d'écrire de façon compréhensible, même en se relisant...

    ce que j'ai voulu dire, dans mon premier paragraphe, c'est que SI tu as du code de haut niveau dans la page appelee, ALORS tu ne peux avoir aucun code html dans la page APPELANTE (je confirme), tel qu'un echo. En gros j'ai voulu faire une démonstration a contrario.

    et dans le seond paragraphe, j'ai voulu dire que puisque le but était d'inclure la page appelée plusieurs fois, elle ne peut pas posséder le code html de haut niveau

    voilà voilà j'espère que c'est mieux compris

  17. #17
    Membre émérite
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    1 012
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 012
    Par défaut
    bon ceci dit cela ne règle que partiellement ton problème

    pour être honnête, j'ai l'impression que ta page miniature.php et ta page right.php font quasiment la même chose, et en relisant, parfois je me demande si tu ne devrais pas inverser page appelante et page appelée, pour dire...

    tu inclus ta page connexion.php dans miniature et dans right, donc tu n'arrêtes pas de te connecter à ta base de données, pas très logique tout cela

    ggloq8 a parfaitement raison, tu devrais changer le nom sql et resultat

    alors je reviens quand-même à ce qui a été dit plus haut : change ta structure d'abord, parce que ça, de toute façon tu es obligé d'y passer

    donc, miniatures.php doit comprendre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    balise html de haut niveau
    ta feuille de style
    include connexion.php
    ton tableau
    requête, utilisant $sql_min et $resultat_min
    appel de right.php
    en gros, c'est ta page right.php avec une requête sur ta table album au lieu d'évènement

    et right.php doit comprendre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    requête utilisant $sql_eve et $resultat_eve
    echo de ta requête
    et sans la connexion à ta bdd qui est déjà faite
    en gros c'est ta page miniatures.php avec la requête sur les évènements

    bon j'espère que cette fois-ci je me suis bien expliqué et j'espère aussi ne pas m'être trompé...

  18. #18
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2005
    Messages : 11
    Par défaut
    Citation Envoyé par Mr N.
    Aurais-tu un exemple an ligne car c'est toujours pas clair pour moi...
    Pour moi, il est 6h00. Je vais quitter pour mon travail et je ais essayer de mettre le code enligne quelque part. Est-ce que tu voudrais les deux versions?

    Merci
    Alain

  19. #19
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut
    Fournis tout ce que tu semble pertinent pour qu'on puisse t'aider

  20. #20
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2005
    Messages : 11
    Par défaut
    Citation Envoyé par francis m
    bon ceci dit cela ne règle que partiellement ton problème

    pour être honnête, j'ai l'impression que ta page miniature.php et ta page right.php font quasiment la même chose, et en relisant, parfois je me demande si tun ne devrais pas inverser page appelante et page appelée, pour dire...

    tu inclus ta page connexion.php dans miniature et dans right, donc tu n'arrêtes pas de te connecter à ta base de données, pas très logique tout cela

    ggloq8 a parfaitement raison, tu devrais changer le nom sql et resultat

    alors je reviens quand-même à ce qui a été dit plus haut : change ta structure d'abord, parce que ça, de toute façon tu est obligé d'y passer

    donc, miniatures.php doit comprendre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    balise html de haut niveau
    ta feuille de style
    include connexion.php
    ton tableau
    requête, utilisant $sql_min et $resultat_min
    appel de right.php
    en gros, c'est ta page right.php avec une requête sur ta table album au lieu d'évènement

    et right.php doit comprendre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    requête utilisant $sql_eve et $resultat_eve
    echo de ta requête
    et sans la connexion à ta bdd qui est dèja faite
    en gros c'est ta page miniatures.php avec la requête sur les évènements

    bon j'espère que cette fois-ci je me suis bien expliqué et j'espère aussi ne pas m'être trompé...
    La solution se trouvait en grande partie de ce coté, principalement au niveau des requête qui utilisait le même nom. Mes miniatures se place correctement. Il me reste plus qu'un petit problème à l'affichage de la page d'image agrandi, mais je devrais pouvoir trouver la solution... Sinon je vous refais signe.
    Merci à tous pour votre aide, même si souvent nos occupations nous empêche de se consacrer plus à aider les autres.

    Alain

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

Discussions similaires

  1. [CSS] un slider d'image uniquement en CSS3
    Par ornitho13 dans le forum Contribuez
    Réponses: 3
    Dernier message: 13/08/2010, 12h49
  2. image unique sur une page
    Par Gébix dans le forum Tableaux - Graphiques - Images - Flottants
    Réponses: 3
    Dernier message: 09/09/2008, 14h52
  3. [Système] Générer un nom d'image unique
    Par ToxiZz dans le forum Langage
    Réponses: 14
    Dernier message: 22/12/2006, 15h56
  4. [GD] ajouter un texte sur une image uniquement à l'impression signature numérique
    Par DrHelmut dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 05/10/2006, 16h13
  5. image d'arrière plan unique sur tableau
    Par lodan dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 06/07/2006, 09h57

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