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 :

Appeler une donnée suivant l'ID


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2012
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 33
    Par défaut Appeler une donnée suivant l'ID
    Bonsoir ,

    Voilà j'ai créer une base de données pour mes critiques de film et je voudrais faire une liste sous forme d'affiche de film afin de répertorier les critiques existantes.

    Tout d'abord dans ma page cine.php j'appelle les données :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php 
    try 
    { 	
     $bdd = new PDO('mysql:host=localhost;dbname=test', 'root', ''); 
    } catch(Exception $e) 
    {  
    die('Erreur : '.$e->getMessage()); 
    }    
    $reponse = $bdd->query('SELECT * FROM cine '); 
    while ($donnees = $reponse->fetch()) 
    { 
    ?>
    Ensuite j'appelle une affiche de film de cette façon :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <img src="<?php echo $donnees['image']; ?>af.jpg" alt="" />
    Par contre je voudrais que cette première ligne correspondent à l'image de l'ID = 1
    Et ensuite pour la ligne du dessous ID=2 , ainsi de suite.

    J'aimerais donc votre aide pour trouver la condition qui me manque car pour le moment je n'arrive pas à la trouver.

    Merci d'avance

  2. #2
    Membre Expert
    Homme Profil pro
    Développeur C++
    Inscrit en
    Avril 2012
    Messages
    771
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2012
    Messages : 771
    Par défaut
    Bonsoir,

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM cine ORDER BY ID

    ORDER BY sert à trier ton résultat, il te suffit de donner la colonne sur la quelle tu veut que le trie s’effectue et de préciser l'ordre de tri ASC(ascendant) ou DESC(descendant).

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2012
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 33
    Par défaut
    En faite ma table comprend :

    ID :
    RESUME:
    IMAGE:

    Le problème c'est que si je fais appel à ID je vais avoir toutes mes données?

    Par exemple :
    ID 1 = Blanche neige et le chasseur
    ID 2 = Ted

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2012
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 33
    Par défaut
    Petite précision quand j'utilise ORDER BY ID , en faite j'ai une page complète qui se créer avec l'ID=1 et en dessous une autre avec l'ID=2.

    Il n'y a pas moyen au niveau du code ci dessous de mettre une condition pour que l'information soit prise dans l'ID=1?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php echo $donnees['image']?>af.jpg" width="300" height="400" alt="" />
    Ensuite je ferais pareil pour toute les autres lignes.

    EDIT !
    Actuellement j'ai réussi a faire ce que je souhaite mais d'une façon détourné .

    1er affiche :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <?php
    $reponse = $bdd->query('SELECT image FROM cine WHERE ID=1 '); 
    while ($donnees = $reponse->fetch()) 
    { 
    ?>
    <img src="<?php echo $donnees['image']?>af.jpg" width="300" height="400" alt="" />
    <?php } $reponse->closeCursor(); / ?>
    Cela consiste à appeler l'information image de la table cine pour l'ID=1.
    Ensuite echo me permet d'insérer l'information dans le lien de l'image.
    Puis je clos avec closeCursor.

    Et pour la deuxième image je change juste l'ID importé:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <?php
    $reponse = $bdd->query('SELECT image FROM cine WHERE ID=2 '); 
    while ($donnees = $reponse->fetch()) 
    { 
    ?>
    <img src="<?php echo $donnees['image']?>af.jpg" width="300" height="400" alt="" />
    <?php } $reponse->closeCursor(); / ?>
    Je pense qu'il doit y avoir un moyens beaucoup plus simple mais pour l'instant je le cherche toujours car cette façon de faire m'allonge énormément le code. ( au moins cela permet d'illustrer ma demande par le résultat voulu )

  5. #5
    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
    Par défaut
    Utilise LIMIT
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT image FROM cine WHERE ID >= 1 LIMIT 2
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  6. #6
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Remplace :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?php
    // ...
    $reponse = $bdd->query('SELECT * FROM cine '); 
    while ($donnees = $reponse->fetch()) 
    { 
    ?>
    <img src="<?php echo $donnees['image']?>af.jpg" width="300" height="400" alt="" />
    <?php } $reponse->closeCursor(); / ?>
    par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php
    // ...
    $reponse = $bdd->query('SELECT ID, RESUME, IMAGE FROM cine ORDER BY ID ASC'); 
    $donneesAll = $reponse->fetchAll(); // on récupère TOUTES les lignes
    foreach ($donneesAll as $donnees) 
    { 
    ?>
    <img src="<?php echo $donnees['IMAGE']?>af.jpg" width="300" height="400" alt="<?php echo $donnees['RESUME']?>" />
    <?php 
    } 
    $reponse->closeCursor();
    ?>
    • SELECT ID, RESUME, IMAGE... : on récupère les champs qui nous intéressent ;
    • ... ORDER BY ID ASC : ordonné par ID ascendant ;
    • fetchAll() : Retourne un tableau contenant toutes les lignes du jeu d'enregistrements ;
    • foreach ($donneesAll as $donnees) : affichage ligne par ligne.
    Dernière modification par rawsrc ; 08/12/2012 à 15h35. Motif: Balises [codeinline][/codeinline]

Discussions similaires

  1. Appeler une donnée en fonction d'une autre
    Par matthias_59 dans le forum QlikView
    Réponses: 3
    Dernier message: 22/08/2012, 10h27
  2. Ouvrir un formulaire suivant une donnée.
    Par yomaneoz dans le forum IHM
    Réponses: 14
    Dernier message: 24/02/2009, 00h26
  3. [CR?] Garder en mémoire une donnée pour l'enregistrement suivant
    Par leloup84 dans le forum SAP Crystal Reports
    Réponses: 12
    Dernier message: 25/02/2008, 09h53
  4. Réponses: 4
    Dernier message: 23/05/2007, 11h07
  5. [VBA-E] inserer une image suivant état donné
    Par totoza dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 31/05/2006, 14h02

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