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 :

Mise en forme de requete [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 7
    Par défaut Mise en forme de requete
    Bonjour,
    je suis assez novice en php et j'ai un problème pour récupérer des
    données...
    Il s'agit de réservation de véhicules.
    j'ai deux tables:
    une qui contient l'identifiant du véhicule et son type
    Id Nom Type
    125 laguna SW
    Une deuxième qui contient pour ce même id plusieurs enregistrement
    correspondant à des valeurs numériques ou des dates:

    Id Nombre
    125 10
    120 4
    125 60
    125 7
    220 56 etc..;

    Je souhaite récupérer les données des deux tables sous cette forme :
    (Pour id 125)
    id Nom Type Nombre1 Nombre2 Nombre3 etc...
    125 laguna SW 10 60 7

    J'aimerai afficher uniquement une fois l'ID, le Nom et le Type et faire suivre de toutes les valeurs de la table2

    Voici le code que j'ai tenté d'écrire...



    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
    <?php
     
    echo '<table>'; 
    // on récupère les identifiants de connexion à la base de données via l'inclusion du fichier id_connect.inc.php
    include ("config.inc2.php");
     
     
    //requête de sélection
    $select_bdd = mysql_select_db($nom_bdd);
    $requete = "select table1.id,table1.Nom,table1.type,table2.valeur from table1,table2 where table1.id=table2.id and table1.id='125'";
    $resultat = mysql_query($requete) or die ('Erreur '.$requete.' '.mysql_error());
    $n = mysql_num_rows($resultat);
    //$result = mysql_fetch_array($resultat) ;
    //$ID = $result['id']; 
     
    while($row = mysql_fetch_row($resultat)){
    $ID = $row[0];
    $Nom=$row[1];
    $Type=$row[2];
    //echo $ID;
    echo "<tr>\n
    <td>Nom : $Nom</td>\n
    <td>Type: $Type</td>\n
    </tr>\n";
     
    for($valeur=3;$valeur<=$n;$valeur++) {
    $Val= $row[$valeur];
    echo $Val ;
    }}
     
     
     
    ?>
    Mais le résultat est celui là :

    10 60 7 etc....

    Nom: Laguna Type : SW
    Nom: Laguna Type : SW
    Nom: Laguna Type : SW
    etc..

    Alors que je souhaiterais ceci :

    id Nom Type Valeur1 Valeur2 Valeur3 etc... (le nom du champ doit s'incrementer en fonction)
    125 laguna SW 10 60 7

    Si vous avez une idée ou une piste, je suis preneur,
    Merci d'avance
    David

  2. #2
    Membre Expert
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Par défaut
    Ton code HTML généré est faux,tu imbriques tes valeurs $Val entre des balises TR
    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
     
    while($row = mysql_fetch_row($resultat)){
        $ID = $row[0];
        $Nom=$row[1];
        $Type=$row[2];
        echo "<tr>\n
          <td>Nom : $Nom</td>\n
          <td>Type: $Type</td>\n
          </tr>\n";
     
        for($valeur=3;$valeur<=$n;$valeur++) {
            $Val= $row[$valeur];
            echo $Val ;
        }
    }
    si on se limite à une voiture (cas de ta requête) essaie cela:
    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
     
    $i=1;
    //on démarre la ligne de la table
    echo "<tr>\n";
    while($row = mysql_fetch_row($resultat)){
        //si première ligne
        //on inscrit une seule fois les parametres voiture 
        if ($i==1) {
           echo "<td>Nom : {$row[1]}</td>\n
                 <td>Type: {$row[2]}</td>\n
                 <td>Valeur: {$row[3]}</td>\n";
        else {
           //on ajoute les valeurs pour les autres lignes
           echo "<td>Valeur: {$row[3]}</td>\n";
        }
        $i++;
    }
    //on referme la ligne de la table
    echo "</tr>";

    ERE

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 7
    Par défaut
    Je ne dirais q'une seule chose :
    Un grand merci !! Tout fonctionne.
    (Il y a juste oubli d'une { avant le else dans ton code.)
    Super.

  4. #4
    Membre Expert
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Par défaut
    Citation Envoyé par danceau Voir le message
    Je ne dirais q'une seule chose :
    Un grand merci !! Tout fonctionne.
    (Il y a juste oubli d'une { avant le else dans ton code.)
    Super.
    Oups, je l'ai manquée à la relecture !

    ERE

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

Discussions similaires

  1. mise en forme de requete pour export excel
    Par gui-llaume dans le forum IHM
    Réponses: 2
    Dernier message: 28/11/2007, 15h47
  2. Mise en forme des résultats d'une requete
    Par johanlft dans le forum Langage SQL
    Réponses: 4
    Dernier message: 04/10/2007, 12h28
  3. Réponses: 41
    Dernier message: 02/05/2006, 14h17
  4. Export requete vers excel et mise en forme
    Par ston dans le forum Access
    Réponses: 2
    Dernier message: 27/10/2005, 16h55
  5. export de requete vers excel(pb de mise en forme)
    Par syl221 dans le forum Access
    Réponses: 13
    Dernier message: 20/10/2004, 15h15

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