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

  1. #1
    Membre à l'essai
    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
    Points : 16
    Points
    16
    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 expérimenté
    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
    Points : 1 631
    Points
    1 631
    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 à l'essai
    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
    Points : 16
    Points
    16
    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 à l'essai
    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
    Points : 16
    Points
    16
    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
    Points : 44 155
    Points
    44 155
    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

  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]

  7. #7
    Membre à l'essai
    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
    Points : 16
    Points
    16
    Par défaut
    Le problème c'est que je suis structuré de cette façon :

    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
     
    <div id="ribbon"></div>
      <div id="article">
        <div class="content">
          <div id="mur1">				 
    	<img src="<?php echo $donnees['image']?>af.jpg" width="300" height="400" alt="" />
          </div>
     
          <div id="mur2">
    	</div>
    <?php } $reponse->closeCursor(); // Termine le traitement de la requête ?>
          <div id="mur3">
    <?php $reponse = $bdd->query('SELECT image FROM cine WHERE ID=2 '); 
    while ($donnees = $reponse->fetch()) 	
    { 
    ?>
    <p style="margin-bottom:20px;"><img src="<?php echo $donnees['image']?>af.jpg" width="300" height="400" alt="" /></p>
    <?php } $reponse->closeCursor(); // Termine le traitement de la requête ?>		
    	</div>
          </div>
    </div>
    Comme vous pouvez le voir , j'ai construis ma page avec 3 colonnes , mur1 -> mur 2 et mur 3.
    Donc je voudrais que les images apparaissent dans cette ordre.
    image 1 = mur1
    image 2 = mur2
    image 3 = mur3
    image 4 = mur1
    et ainsi de suite.

    Il n'est pas possible de mettre une condition dans echo ou juste avant avec if ?

    J'ai testé les différentes méthodes mais le résultat n'est pas probant au vue de l'organisation de ma page.
    (petite infos je veux juste récupérer les images)

  8. #8
    Membre expérimenté
    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
    Points : 1 631
    Points
    1 631
    Par défaut
    Bonjour,

    pourquoi ne pas faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?php
    $reponse = $bdd->query('SELECT ID, image FROM cine ORDER BY ID');
    while ($donnees = $reponse->fetch()){ ?>
        <div id="mur<?php echo $donnees['ID']; ?>">
            <p style="margin-bottom:20px;"><img src="<?php echo $donnees['image']?>af.jpg" width="300" height="400" alt="" /></p>
        <div>
    <?php }
    $reponse->closeCursor();
    EDIT : je viens de voir :
    image 1 = mur1
    image 2 = mur2
    image 3 = mur3
    image 4 = mur1

    Image 5 devra être dans le mur 2, image 6 dans le mur 3 et ainsi de suite pour chaque ligne remonté?

  9. #9
    Membre à l'essai
    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
    Points : 16
    Points
    16
    Par défaut
    Voilà le principe pour une page complète :

    Mur1 : (première colonne)
    • Image 1
    • Image 4


    Mur2 : (deuxième colonne)
    • Image 2
    • Image 5


    Mur2 : (troisième colonne)
    • Image 3
    • Image 6


    Ce qui fait 6 affiches par page.
    Ensuite il y aura un bouton suivant en bas de page permettant d'ouvrir une page avec 6 nouvelles affiches.

  10. #10
    Invité
    Invité(e)
    Par défaut
    Peux-tu montrer :
    1/ comment les lignes sont enregistrées "concrétement" dans la BdD (un exemple CONCRET !).
    2/ le code HTML FINAL (celui que tu souhaites au final !)

    Qu'on sache (enfin !) comment s'y prendre ?

    Sinon, comme il s'agit ici d'affichage tabulaire : Affichage de données dans un tableau HTML
    Affichage en Ligne ou en Colonne, provenant d'un array ou d'une Base de Données

  11. #11
    Membre à l'essai
    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
    Points : 16
    Points
    16
    Par défaut
    Voici le code final : (enfin avec le bricolage que j'ai fait pour afficher les images 1 et 2 )

    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
     
    <?php 
    try 
    { 	
     $bdd = new PDO('mysql:host=localhost;dbname=test', 'root', ''); 
    } catch(Exception $e) 
    {  
    die('Erreur : '.$e->getMessage()); 
    }    
    $reponse = $bdd->query('SELECT image FROM cine WHERE ID=1 '); 
    while ($donnees = $reponse->fetch()) 
    { 
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    	<head>
    		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15"/>
    			<title>Critiques</title>
    			<meta name="keywords" content="" />
    			<meta name="description" content="" />
    			<script src="../script/jquery.js" type="text/javascript"></script>
    			<script src="../script/main.js" type="text/javascript"></script>
    		</meta>
    			<link href="http://fonts.googleapis.com/css?family=Oswald" rel="stylesheet" type="text/css" />
    			<link href="../css/default.css" rel="stylesheet" type="text/css" media="all" />
    			<!--[if IE 6]> <link href="default_ie6.css" rel="stylesheet" type="text/css" /> <![endif]-->
    		<?php include("../includes/header.php"); ?>
    		<?php include("../includes/menu.php"); ?>
    		<?php include("../includes/banner.php"); ?>
    		<?php include("../includes/slider.php"); ?>
    	</head>
    	<body> 
    		<div id="welcome1">
    			<h5 class="title">Nos critiques de film:</h5>
    		</div>
    		<br />
    		 <div id="ribbon"></div>
    			<div id="article">
    				<div class="content">
    					<div id="mur1">				 
    						<img src="<?php echo $donnees['image']?>af.jpg" width="300" height="400" alt="" />
    							<?php } $reponse->closeCursor(); // Termine le traitement de la requête ?>
    					</div>
    					<div id="mur2">
    						<?php
    						$reponse = $bdd->query('SELECT image FROM cine WHERE ID=2 '); 
    							while ($donnees = $reponse->fetch()) 	
    								{ 
    					?>
    						<p style="margin-bottom:20px;"><img src="<?php echo $donnees['image']?>af.jpg" width="300" height="400" alt="" /></p>
    					</div>
    					<div id="mur3">
     
    								<?php } $reponse->closeCursor(); // Termine le traitement de la requête ?>		
    					</div>
    				</div>
    			</div>
    		<?php include("../includes/footer.php");?>
    	</body>
    </html>
    Et ma base de données est structuré de cette façon dans cine:




  12. #12
    Invité
    Invité(e)
    Par défaut
    Ce n'est pas ce que j'ai demandé.

    1/ un EXTRAIT de la table (pas la structure !)
    2/ le code HTML "généré" (sans code PHP, celui qui est censé s'afficher dans la navigateur ! et uniquement un EXTRAIT, là aussi, pas toute la page !)

    Cela dit, je t'ai donné un lien sur l'affichage tabulaire.
    As-tu au moins regardé de quoi ça parle ??

    Enfin, en effet, ton code est un "bricolage"...

  13. #13
    Membre à l'essai
    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
    Points : 16
    Points
    16
    Par défaut
    Pour ce qui est du lien j'ai regarder , cela me permettra a ce que j'ai compris d'avoir mes 3 colonnes sans avoir besoins de passer par mon système de mur1 2 et 3 .

    Voici le résultat que je souhaite :

    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
     
    <div id="ribbon"></div>
      <div id="article">
       <div class="content">
         <div id="mur1">				 
          <img src="../images/cinema/tedaf.jpg" width="300" height="400" alt="" />
             <img src="../images/cinema/mib3af.jpg" width="300" height="400" alt="" />
         </div>
    <div id="mur2">										
        <img src="../images/cinema/mib2af.jpg" width="300" height="400" alt="" />
             <img src="../images/cinema/agedeglace1af.jpg" width="300" height="400" alt="" />
      </div>
      <div id="mur3">
        <img src="../images/cinema/mibaf.jpg" width="300" height="400" alt="" />
             <img src="../images/cinema/agedeglace3af.jpg" width="300" height="400" alt="" />								
       </div>
      </div>
    </div>
    Après pour l'EXTRAIT je ne suis pas sur de bien comprendre ce que tu me demande désolé :
    Dans l'image il est possible de voir de quelle façon est organisé la ligne .
    Voici le code me permettant d'injecter mes données :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $req = $bdd->prepare('INSERT INTO cine (titre,resume,duree,datesortie,genre,realisateur,avis,image,tn,leg1,leg2,leg3,leg4) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)');
    $req->execute(array($_POST['titre'], $_POST['resume'], $_POST['duree'],$_POST['datesortie'],$_POST['genre'],$_POST['realisateur'],$_POST['avis'],$_POST['image'],$_POST['tn'],$_POST['leg1'],$_POST['leg2'],$_POST['leg3'],$_POST['leg4']));
    Ce qui donne pour le film TED :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    // test.cine
    $cine = array(
      array('id'=>'1','titre'=>'Ted','resume'=>'À 8 ans, le petit John Bennett fit le voeu que son ours en peluche de Noël s\'anime et devienne son meilleur ami pour la vie, et il vit son voeu exaucé. Presque 30 ans plus tard, l\'histoire n\'a plus vraiment les allures d\'un conte de Noël. L\'omniprésence de Ted aux côtés de John pèse lourdement sur sa relation amoureuse avec Lori. Bien que patiente, Lori voit en cette amitié exclusive, consistant principalement à boire des bières et fumer de l\'herbe devant des programmes télé plus ringards les uns que les autres, un handicap pour John qui le confine à l\'enfance, l\'empêche de réussir professionnellement et de réellement s\'investir dans leur couple. Déchiré entre son amour pour Lori et sa loyauté envers Ted, John lutte pour devenir enfin un homme, un vrai ! ','duree'=>' 1h 47min','datesortie'=>'10 Octobre 2012','genre'=>'Comédie','realisateur'=>'Seth MacFarlane','avis'=>'Si vous avez un moment de blouz ou que vous avez tout simplement envie de rigoler, ce film est fait pour vous. Cela faisait longtemps que je n\'avais pas rigolé tout au long d\'un film c\'est vraiment plaisant. Par contre il y a un petit moment de suspens qui refroidi l\'atmosphère mais je n\'en dis pas plus Petite remarque, je déconseille ce film au moins de 12 ans car les dialogues sont assez cru. Après c\'est à vous de juger. ','image'=>'../images/cinema/ted','leg1'=>'Et oui en plus de prendre son bain il téléphone!!!','leg2'=>'Ils sont vraiment inséparables.','leg3'=>'Il est en bonne compagnie notre nounours!','leg4'=>'Est ce que John arrivera a garder Lory ?'),
      array('id'=>'2','titre'=>'Blanche-Neige et le chasseur','resume'=>'Dans des temps immémoriaux où la magie, les fées et les nains étaient monnaie courante, naquit un jour l\'unique enfant d\'un bon roi et de son épouse chérie : une fille aux lèvres rouge sang, à la chevelure noire comme l\'ébène et à la peau blanche comme neige. Et voilà précisément où l\'histoire que vous croyiez connaître prend fin et où la nouvelle adaptation épique et envoutante de ce célèbre conte des frères Grimm débute. Notre héroïne, dont la beauté vient entacher la suprématie de l\'orgueilleuse Reine Ravenna et déclencher son courroux, n\'a plus rien d\'une damoiselle en détresse, et la cruelle marâtre en quête de jeunesse éternelle ignore que sa seule et unique rivale a été formée à l\'art de la guerre par le chasseur qu\'elle avait elle-même envoyé pour la capturer. Alliant leurs forces, Blanche-Neige et le chasseur vont fomenter une rébellion et lever une armée pour reconquérir le royaume de Tabor et libérer son peuple du joug de l\'impitoyable Ravenna. ','duree'=>'2h 6min','datesortie'=>'13 Juin 2012','genre'=>'Fantastique, Action , Aventure','realisateur'=>'Ruper Sanders','avis'=>'Voici un film que je classe dans mes favoris, une histoire vraiment prenante avec un monde fantastiques vraiment sublime et une belle histoire d\'amour. De plus j\'adore les acteurs très bon casting venant de Thor et de Twilight sans oublier Charlize Theron qui va a merveille dans ce rôle de méchante à la recherche de la beauté éternelle .','image'=>'../images/cinema/blancheneige','leg1'=>'La reine fera tout pour l\'immortalité.','leg2'=>'Qui du Bien ou du Mal l\'emportera?','leg3'=>'Blanche sera confronté au créature les plus dangereuse.','leg4'=>'Une telle beauté ne peut être que convoitée.')
    );
    En espérant avoir répondu a ta demande.

  14. #14
    Invité
    Invité(e)
    Par défaut
    A vrai dire, ma demande consistait surtout à ouvrir/orienter ta réflexion vers une AUTRE solution (avec une <table> au lieu de <div>), grâce au tuto du lien fourni (Affichage de données dans un tableau HTML).
    Le seul petit problème est de remplacer le type de connexion du tuto (mysql) en langage PDO. rien de compliqué.

    Le résultat devrait ressembler à ça :
    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
    <table>
       <tr>
          <td>
    		<img src="../images/cinema/tedaf.jpg" width="300" height="400" alt="" />
          </td>
          <td>
    		<img src="../images/cinema/mib2af.jpg" width="300" height="400" alt="" />
          </td>
          <td>
    		<img src="../images/cinema/mibaf.jpg" width="300" height="400" alt="" />
          <td>
       <tr>
       <tr>
          <td>
    		<img src="../images/cinema/mib3af.jpg" width="300" height="400" alt="" />
          </td>
          <td>
    		<img src="../images/cinema/agedeglace1af.jpg" width="300" height="400" alt="" />
          </td>
          <td>
    		<img src="../images/cinema/agedeglace3af.jpg" width="300" height="400" alt="" />
          <td>
       <tr>
    </table>

  15. #15
    Invité
    Invité(e)
    Par défaut
    Une AUTRE voie de réflexion, en CONSERVANT tes 3 <div>, MAIS en appliquant le principe du tuto :
    - au lieu d'afficher directement les données (echo ...) dans une <table>,
    => les enregistrer D'ABORD dans 3 variables : $aff_mur[0], $aff_mur[1] et $arr_mur[2] ;
    - et ENSUITE, les afficher dans ta structure (composée de <div>).

    Saur erreur, ça devrait donner ça :
    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
    <?php
    // connexion 
    $bdd = ...............
    // ------------------
    // => à toi de voir ci-dessus pour le système de PAGINATION
    if(isset($_GET['numpage'])){
    	$val_min = intval($_GET['numpage'])-1;
    } else {
    	$val_min = 0;
    }
    $val_max = $val_min + 5; // on prend 6 lignes (1+5)
    // ------------------
    // requete
    $query = "SELECT image 
    	FROM cine 
    	ORDER BY ID ASC 
    	LIMIT ".$val_min.", ".$val_max.";";
    $reponse = $bdd->query($query); 
    $donneesAll = $reponse->fetchAll(); // on récupère TOUTES les lignes
    // nombre de lignes retournées par la requête
    $NbreData = $reponse->rowCount(); 
    // ------------------
    // on veut 3 colonnes
    $NbrCol = 3; 
    // ------------------
    // initialisation des 3 variables
    $aff_mur[0] = '';
    $aff_mur[1] = '';
    $arr_mur[2] = '';
    // enregistrement dans les 3 variables
    // ALTERNATIVEMENT, grâce au MODULO
    $j = 0; // initialisation du compteur
    foreach ($donneesAll as $donnees) 
    {
    	// en fonction du MODULO, on enregistre l'image dans la variable adéquate
    	$aff_mur[$j%$NbrCol] .= '<img src="'.$donnees['image'].'af.jpg" width="300" height="400" alt="" />';
    	$j++; // incrémentation du compteur
    } 
    $reponse->closeCursor();
    // ------------------
    // Affichage :
    ?>
    <div id="ribbon"></div>
     <div id="article">
      <div class="content">
    <?php for ($i=0; $i<3; $i++) { ?>
       <div id="mur<php echo $i; ?>">				 
        <?php echo $aff_mur[$i]; ?>
       </div>
    <?php } ?>
     </div>
    </div>
    Principe du Modulo :
    0 % 3 = 0
    1 % 3 = 1
    2 % 3 = 2
    3 % 3 = 0
    4 % 3 = 1
    5 % 3 = 2
    Dernière modification par Invité ; 08/12/2012 à 23h30.

  16. #16
    Membre à l'essai
    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
    Points : 16
    Points
    16
    Par défaut
    Merci pour ces exemples , je vais partir sur la première solution.

    Il ne me reste plus cas mettre les conditions.
    si id=1 affiche image1
    ...

  17. #17
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    ta réponse prouve que tu n'as rien compris aux explications, ni au Principe du Modulo... ($aff_mur[$j%$NbrCol] -> expliqué ici)
    Lis le tuto, et les explications dans les commentaires des scripts ci-dessus.

    Mon précédent post te donne LA solution complète de ce que tu souhaites !

    Mais bon. Si tu y arrives avec le tuto et la <table>, ce sera déjà très bien.
    Dernière modification par Invité ; 09/12/2012 à 12h41.

  18. #18
    Membre à l'essai
    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
    Points : 16
    Points
    16
    Par défaut
    Je viens de comprendre le fonctionnement du code j'ai donc pu l'adapter suivant mes besoins ce qui me donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     <div class="content">
    <br/>
       <div id="mur<php echo $i; ?>">				 
        <a href="www.coin.com"><img src="../images/cinema/tedaf.jpg" width="300" height="400" alt="" /></a><a href="www.coin.com"><img src="../images/cinema/mib3af.jpg" width="300" height="400" alt="" /></a><a href="www.coin.com"><img src="../images/cinema/rebelleaf.jpg" width="300" height="400" alt="" /></a>				 
       </div>
    <br/>
       <div id="mur<php echo $i; ?>">				 
        <a href="www.coin.com"><img src="../images/cinema/blancheneigeaf.jpg" width="300" height="400" alt="" /></a><a href="www.coin.com"><img src="../images/cinema/johncarteraf.jpg" width="300" height="400" alt="" /></a><a href="www.coin.com"><img src="../images/cinema/contrebandeaf.jpg" width="300" height="400" alt="" /></a>				 
       </div>
    <br/>
    Il me reste plus cas faire de même pour récupérer le lien de chaque fiche afin de réaliser une image cliquable.
    En faite le résultat devra être :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      <a href="cine1.php?id=1"><img src="../images/cinema/blancheneigeaf.jpg" width="300" height="400" alt="" /></a>

  19. #19
    Invité
    Invité(e)
    Par défaut
    1/ erreur :2/ Pour le lien, il ne faut pas oublier d'ajouter id dans la requête : 3/ PAS de <br/> entre les <div> !
    il faut ajouter dans le CSS un margin.

  20. #20
    Membre à l'essai
    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
    Points : 16
    Points
    16
    Par défaut
    Oui j'ai trouvé assez facilement pour l'id voilà le résultat :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $aff_mur[$j%$NbrCol] .= '<a href="cine1.php?id='.$donnees['id'].'"><img src="'.$donnees['image'].'af.jpg" width="300" height="400" alt="" hspace="33.5" /></a>';
    Pour l'espace entre les colonnes je vais modifier le CSS

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