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 :

Mysql afficher une fois un type [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de fazpedro
    Homme Profil pro
    Inscrit en
    Août 2009
    Messages
    506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 506
    Par défaut Mysql afficher une fois un type
    Bonjour,

    ma base de données SQL de liens est ainsi construite :
    type_lien lien nom_lien emetteur
    Cinémas http://cinemaici.fr ici user12
    Cinémas http://cinemalabas.fr labas user14
    ...

    je souhaite n'afficher qu'une seule fois le type de lien et les tous les liens à la suite de cette façon :

    Type de lien : Cinémas

    Liens :
    ici
    labas
    ...

    merci de votre aide.

    mon code pour afficher (mais qui affiche à chaque ligne le type de lien...) :
    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
    61
    62
    63
    64
    65
    <?php session_start();
    ?>
    <!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" xml:lang="fr" lang="fr">
    <head>
    <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />	
    <title>MON SITE</title>
    <link rel="stylesheet" type="text/css" href="style.css" />
    </head>
    <body>
    <?php include('bandeau.php'); ?> <!-- insère le bandeau principal en haut -->
    <div id="maincontent">
    <br />
    <br />
    <?php
    // ************************************************
    //           pour Affichage des liens
    // ************************************************
    echo '<h3>'.'<strong>'.'Liens '.'</strong>'.'</h3>';
    echo '<br />';
    // connexion à la base
    require("configuration.php");
    $sql = connect_sql();
    // on écrit la requête
    mysql_query("SET NAMES utf8");
    $select = "SELECT * FROM liens ORDER BY type_lien ASC";
    $result = mysql_query($select) or die ('Erreur : '.mysql_error() );
    $total = mysql_num_rows($result);
    //On vérifie que la table contient quelque chose
    if
    (mysql_num_rows($result) == 0)
    {
    echo '<p>'.'<b>'.'Aucun lien ! '.'</b>'.'</p>'.'<br>'.'</br>';
    echo '<a href="#haut">'.'Haut de page'.'</a>';
    }
    //Si il y a des entrées	  
    else
    {
    //On fait une boucle pour sortir toutes les entrées
    while($affiche = mysql_fetch_array($result))
    {
    //On affiche les liens
    echo '<br />';
    echo '<span style="color:#8E236B;">';
    echo '<strong>';
    echo '<b>'.$affiche["type_lien"]."   ".'</b>';
    echo '</strong>';
    echo '</span>';
    echo '<br />';
    echo '<strong>';
    echo '<a href="'.$affiche["lien"].'">'.$affiche["nom_lien"].'</a>';
    echo '<br />';
    echo " mis en ligne par  ".$affiche["emetteur"]."   ";
    echo '</strong>';
    echo '<br />';
    }	//On ferme la boucle while
    }	//on ferme le else
    // Fermeture de la connexion à la base de données
    mysql_close();		
    ?>
    </div>
    <?php include('bas_de_page.php'); ?> <!-- insère le bas de page  -->
    </body>
    </html>

  2. #2
    Membre Expert
    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
    Par défaut
    ton code fait ce que tu lui demandes.
    retire l'affichage de "type de lien" de la boucle et il ne se répètera plus...

  3. #3
    Membre éclairé Avatar de fazpedro
    Homme Profil pro
    Inscrit en
    Août 2009
    Messages
    506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 506
    Par défaut
    merci gene69 mais il ne va plus s'afficher du tout...

    alors que je souhaite qu'il s'affiche une seule fois...

  4. #4
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2011
    Messages : 34
    Par défaut
    Peut être que tu peux faire un premier affichage en dehors de la boucle, puis ton affichage sans les liens dans ta boucle.

    Ton lien ne s'affichera qu'une seule fois.

  5. #5
    Membre éclairé Avatar de fazpedro
    Homme Profil pro
    Inscrit en
    Août 2009
    Messages
    506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 506
    Par défaut
    le souci est que si je le sors de la boucle, il ne m'affiche que le premier type de lien et pas les suivants !
    Des idées ?
    Merci.

    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
    {
    // essai d'affichage du type de lien sans boucle
    $affiche2 = mysql_fetch_array($result);
    echo '<span style="color:#8E236B;">';
    echo '<strong>';
    echo '<b>'.$affiche2["type_lien"]."   ".'</b>';
    echo '</strong>';
    echo '</span>';
    //On fait une boucle pour sortir toutes les entrées
    while($affiche = mysql_fetch_array($result))
    {
    //On affiche les liens
    echo '<br />';
    echo '<br />';
    echo '<strong>';
    echo '<a href="'.$affiche["lien"].'">'.$affiche["nom_lien"].'</a>';
    echo '<br />';
    echo " mis en ligne par  ".$affiche["emetteur"]."   ";
    echo '</strong>';
    echo '<br />';

  6. #6
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2011
    Messages : 34
    Par défaut
    Si tu fais une première requête pour récupérer les types de liens, puis une seconde comme tu as fait mais tu ne sélectionne pas tous tes champs (juste nom et emetteur) je pense que tu peux ensuite :

    - faire une première boucle sur les types de liens (donc première requête)

    - faire une seconde boucle imbriquée dans la première qui affiche tous les résultats (pour un lien donné).

    Tu auras le résultat que tu souhaite je pense.

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

Discussions similaires

  1. Afficher une variable de type string
    Par benoitbs dans le forum MATLAB
    Réponses: 2
    Dernier message: 08/02/2008, 16h30
  2. Solutions pour afficher une fenêtre de type tooltip ?
    Par elitost dans le forum SWT/JFace
    Réponses: 10
    Dernier message: 13/01/2008, 23h35
  3. Page qui s'affiche une fois sur deux.
    Par j.b.snecma dans le forum ASP
    Réponses: 1
    Dernier message: 12/11/2007, 20h29
  4. Réponses: 11
    Dernier message: 27/06/2006, 15h05
  5. le sous formulaire s'affiche une fois sur deux
    Par Math dans le forum Access
    Réponses: 16
    Dernier message: 10/10/2005, 15h25

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