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 :

Interrogation de la base de données


Sujet :

PHP & Base de données

  1. #1
    Membre éclairé Avatar de rems033
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    513
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2007
    Messages : 513
    Par défaut Interrogation de la base de données
    Salut à tous...
    Je débute avec php mysql et je coince sur un probleme.

    Lorsque je souhaite me connecter à une base pour obtenir le nombre de ville differente contenue dans une table et que j'affiche le tout, je fais comme ca et ca marche nickel.
    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
     
                    mysql_connect("*", "*", "*");
                    mysql_select_db("*");
                    $query = "SELECT DISTINCT ville FROM licences WHERE dept=".$_GET['num']." ORDER BY ville ASC";
                    $retour = mysql_query($query);
                    while ($donnees = mysql_fetch_array($retour) )
                    {
                        if(isset($donnees['ville']))
                        {
                            ?>
                            <strong><a href="./demande_info.php?commune=<? echo $donnees['ville']; ?>&amp;dept=<? echo $_GET['num']; ?>"><? echo $donnees['ville']; ?></a></strong><br />
                            <?
                            $diff++ ;
                        }
                    }
    Maintenant, pour une ville on y associe plusieurs éléments au sein de la base, et lorsque je consulte mon tableau obtenu après requete des villes différentes, je souhaite afficher une fiche contenant l'ensemble de ses éléments relatifs...
    Alors je fais comme ca :
    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
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
     
                        // Acces a la base de donnees  
                        mysql_connect("*", "*", "*");
                        mysql_select_db("*");
     
                        // Extraction des licences
                        $query = "SELECT ville FROM licences WHERE dept=".$_GET['num'];
                        $retour = mysql_query($query);
                        $size=count($retour);
     
                        $query = "SELECT * FROM licences WHERE dept=".$_GET['num']." ORDER BY ville ASC";
                        $retour = mysql_query($query);
     
                        // longueur du tableau
                        $born_sup = $size/2 ;
     
                        $iter = 0 ;
     
                    ?>
                    <p>Voici les licences disponibles pour <? get_dept($_GET['num']); ?></p>
                    <div id="annonces">
                      <?
                        while (  $iter < $born_sup )
                        {
                            // Premiere donnee
                            $donnees = mysql_fetch_row($retour);
                            ?>
                            <div id="annonce_gauche">
                                <div id="annonce_gauche_header">
                                        <? echo $donnees['ville']." iter=".$iter." born_sup=".$born_sup." size=".$size; ?>
                                </div>
                                <div id="annonce_gauche_content">
                                    <p>Groupement : <? echo $donnees['groupement'] ?></p>
                                    <p>Assistance : <strong><? echo $donnees['assistance'] ?></strong> </p>
                                    <p>CPAM : <strong><? echo $donnees['cpam'] ?></strong> </p>
                                    <p>Contrats : <strong><? echo $donnees['contrats'] ?></strong> </p>
                                    <p>Possibilit&eacute; v&eacute;hicule : <strong><? echo $donnees['vehicule'] ?></strong> </p>
                                    <p>CA 2006 :<span style="color: #990000; font-size: 16px"> <? echo $donnees['ca'] ?> &euro;</span><br />
                                    </p>
                                    <p>Disponibilit&eacute; : <span style="color: #990000; font-size: 14px"><strong><? echo $donnees['disponibilite'] ?></strong></span><br />
                                    </p>
                                    <p>Description : <strong><? echo $donnees['description'] ?></strong><br />
                                    </p>
                                    <p>Prix : <strong><? echo $donnees['prix'] ?></strong><br />
                                    </p>
                                    <p>Joignez le Vendeur : <br />
                                    </p>
                                    <p>T&eacute;l : <strong><? echo $donnees['fixe'] ?></strong><br />
                                    </p>
                                    <p>Mobile : <strong><? echo $donnees['mobile'] ?></strong><br />
                                    </p>
                                    <p>Email : <a href="mailto:<? echo $donnees['email'] ?>"><? echo $donnees['email'] ?></a><br />
                                    </p>
                                </div>
                                <div id="annonce_gauche_footer"></div>
                            </div>
                            <?
     
                            // Deuxieme Donnee
                            $donnees = mysql_fetch_row($retour);
                            ?>
                            <div id="annonce_droite">
                                <div id="annonce_droite_header">
                                        <? echo $donnees['ville']; ?>
                                </div>
                                <div id="annonce_droite_content">
                                    <p>Groupement : <? echo $donnees['groupement'] ?></p>
                                    <p>Assistance : <strong><? echo $donnees['assistance'] ?></strong> </p>
                                    <p>CPAM : <strong><? echo $donnees['cpam'] ?></strong> </p>
                                    <p>Contrats : <strong><? echo $donnees['contrats'] ?></strong> </p>
                                    <p>Possibilit&eacute; v&eacute;hicule : <strong><? echo $donnees['vehicule'] ?></strong> </p>
                                    <p>CA 2006 :<span style="color: #990000; font-size: 16px"> <? echo $donnees['ca'] ?> &euro;</span><br />
                                    </p>
                                    <p>Disponibilit&eacute; : <span style="color: #990000; font-size: 14px"><strong><? echo $donnees['disponibilite'] ?></strong></span><br />
                                    </p>
                                    <p>Description : <strong><? echo $donnees['description'] ?></strong><br />
                                    </p>
                                    <p>Prix : <strong><? echo $donnees['prix'] ?></strong><br />
                                    </p>
                                    <p>Joignez le Vendeur : <br />
                                    </p>
                                    <p>T&eacute;l : <strong><? echo $donnees['fixe'] ?></strong><br />
                                    </p>
                                    <p>Mobile : <strong><? echo $donnees['mobile'] ?></strong><br />
                                    </p>
                                    <p>Email : <a href="mailto:<? echo $donnees['email'] ?>"><? echo $donnees['email'] ?></a><br />
                                    </p>
                                </div>
                                <div id="annonce_droite_footer"></div>
                            </div>
                            <?
     
                            $iter++;
                        }
     
                    ?>
                    </div>
                <?
    Seulement maintenant, plus rien n'apparait dans mon tableau...
    Je sèche....
    Merci pour votre aide !

  2. #2
    Membre éclairé Avatar de remyli
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 270
    Par défaut
    et en supprimant le superflu ?

    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
    <?php                 
    $query = "SELECT * FROM licences WHERE dept='17' ORDER BY ville ASC";
    $retour = mysql_query($query);
     
    while ($donnees = mysql_fetch_row($retour) )
    {
    	echo $donnees['ville'] ;
    	echo $donnees['groupement'] ;
    	echo $donnees['assistance'] ;
    	echo $donnees['cpam'] ;
    	echo $donnees['contrats'] ;
    	echo $donnees['vehicule'] ;
    	echo $donnees['ca'] ;
    	echo $donnees['disponibilite'] ;
    	echo $donnees['description'] ;
    	echo $donnees['prix'] ;
    	echo $donnees['fixe'] ;
    	echo $donnees['mobile'] ;
    	echo $donnees['email'] ;
    }
    ?>

  3. #3
    Membre éclairé Avatar de rems033
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    513
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2007
    Messages : 513
    Par défaut
    Je sais bien pour la clarté mais le design graphique du site est plus complexe.
    J'ai un div central qui contiendrai 2 annonces par lignes...
    Donc du coup j'ai plutot du mal à organiser graphiquement le tout...
    Merci pour ton aide

  4. #4
    Membre éclairé Avatar de remyli
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 270
    Par défaut
    mais ça marche ?

  5. #5
    Membre éclairé Avatar de rems033
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    513
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2007
    Messages : 513
    Par défaut
    ca fonctionne mieux avec mysql_fetch_array($retour)
    cependant, lorsque je demande la taille du $retour avec count($retour), il me renvoie 1!!
    alors que je peux en avoir 12!

  6. #6
    Membre éprouvé Avatar de bartrik
    Inscrit en
    Novembre 2003
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 104
    Par défaut
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysql_num_rows($retour)
    ça donne pas le nombre d'enregistrement a afficher?

  7. #7
    Membre éclairé Avatar de rems033
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    513
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2007
    Messages : 513
    Par défaut
    Exact, je viens de trouver cette infos et ca tourne a merveille...
    Comme les problemes ne viennent jamais seuls, j'en ai un autre concernant l'encodage...
    En fait, tout se passe dans mon interface phpmyadmin et non sur mon site...
    Je vous explique
    Ma base est encodée en UTF8
    Ma table est en latin1_swedish_ci
    Les composants de la table accepte du latin1_bin

    Lorsque j'insere a partir d'un fichier CSV contenant des accents, le tout est soit tronqué à l'occurence d'un accent soit remplacé par des ?

    Je ne comprends et votre aide sera la bienvenue.
    Merci encore...img.lightbulb { cursor: pointer; }

Discussions similaires

  1. Interrogation d'une base de données
    Par jerome.212 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 21/04/2014, 18h35
  2. Réponses: 4
    Dernier message: 19/02/2010, 16h36
  3. Interrogation d'une base de données
    Par zoheir13 dans le forum SQL
    Réponses: 14
    Dernier message: 11/09/2009, 11h20
  4. Réponses: 5
    Dernier message: 26/02/2009, 14h34
  5. [AJAX] Interrogation d'une base de données
    Par popy67 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 04/03/2008, 22h40

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