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 :

Requete Mysql complexe [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 HWICE
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    249
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 249
    Par défaut Requete Mysql complexe
    Bonjour a tous

    Je travail en PHP/Mysql sur un serveur debian lenny

    J'ai un probleme un peu complexe. Jai une base de donnée contenant les champ suivant:
    Nom, section, ssection, scat, prixbout, annee

    Je suis un peu perdu quand il vient le temps de faire ma requete sql. Je m'explique:
    Jai besion de faire une page oû le champ section s'affiche dans le haut de la page. Après il faut que le champ ssection s'affiche en dessou et que tout les donnée qui possède la meme variable dans le champ ssection(par ex France - Bordeaux) s'affiche (le champ nom s'affiche avec tout les entrée). Mais encore la il faut que les donnée sois séparé en catégorie(scat) Tout en indiquand la catégorie au début.

    Tout est sur la base de donnée et tout dois etre dynamique.
    merci de votre appuis

    un peut comme ceci:

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    181
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 181
    Par défaut
    bonjour,
    la requête est simple
    le pb vient de l'affichage je pense,
    essaie en testant si ssection est égal au précédent ssection (tu le mets dans une variable $ssection_prec par ex) pour le premier tu mets une valeur qu'il ne peut pas avoir
    s'il est différent tu l'affiches en dessous tu affiches les noms, année et prixbout

    et ainsi de suite
    pareil pour scat
    j'espère avoir répondu à ta question

  3. #3
    Membre éclairé Avatar de HWICE
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    249
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 249
    Par défaut
    Merci pour ton POST

    Ca marche si je marque la variable scat(comme Alsace) Mais mon probleme est que il va en avoir plusieur(scat) je ne suis pas pour toute les énumerer

    Peut on definir la variable avec PHP /mysql dans le sens

    $scat= Alsace,
    Suisse,
    etc

    Faire une requete pour savoir quel valeur peut prendre $scat avec ce qui se trouve dans la base de donnée

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <?  function showwinebyss ($scat, $ssection) {
        $x=$this->db->getdata("SELECT * FROM vin WHERE scat = '".$scat."' and ssection = '".$ssection."' ORDER BY `scat` ASC");
        return $x;
      }
     
    $x=$X->showwinebyss('Alsace',"France - Bordeaux");
    foreach ($x as $vin) {
      ?>

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    181
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 181
    Par défaut
    Citation Envoyé par HWICE Voir le message
    Peut on definir la variable avec PHP /mysql dans le sens

    $scat= Alsace,
    Suisse,
    etc
    oui, c'est un tableau avec toutes les valeurs de scat
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $rech_cat="select distinct(scat) from vin";
    $res_rech_cat=mysql_query($rech_cat);
    $scat=mysql_fetch_array($res_rech_cat);
    ensuite tu as toutes tes scat dans $scat[scat] et tu peux les mettre dans un autre tableau pour chaque enregistrement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $c=0;
    while($scat=mysql_fetch_array($res_rech_cat))
    {
    $tab_scat[$c]=$scat[scat];
    $c++;
    }
    et tu as toutes tes scat dans ce tableau, mais je ne suis pas sûr que tu ne puisses pas faire ce que tu veux sans avoir à faire $tab_scat, $scat devrait suffir

  5. #5
    Membre éclairé Avatar de HWICE
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    249
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 249
    Par défaut
    Oh merci bcp. J'ai utilisé ce que tu ma donné

    regarde bien

    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
     <?  function showwinebyss ($scat, $ssection, $section) {
        $x=$this->db->getdata("SELECT * FROM vin WHERE section='".$section."' and scat = '".$scat."' and ssection = '".$ssection."' and prixbout != 0 ORDER BY `prixbout` ASC");
        return $x;
      } 
       function showwinescat ($section, $ssection) {
        $x=$this->db->getdata("SELECT distinct scat  FROM vin WHERE section='".$section."' and ssection = '".$ssection."'");
        return $x;
      }
     
     
    $x=$X->showwinescat("Rouge","Amérique du Nord");
    foreach ($x as $scat) {
     
    $x=$X->showwinebyss($scat['scat'],"Amérique du Nord", "Rouge");
    foreach ($x as $vin) {
      ?> 
            <tr>
                <td colspan="3"><p class="vintitre"><?=$vin['scat']?></p></td>
            </tr>
        <? break;}     
    foreach ($x as $vin) {
      ?>  
            <tr>
                <td class="tabnom"><p class="vinnom"><?=$vin['nom']?></p></td>
                <td class="tabmille"><?=$vin['annee']?></td>
                <td class="tabprix"><?=$vin['prixbout']?>&nbsp;$</td>
            </tr>
    <? }}?>
    merci encore

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

Discussions similaires

  1. requete mysql complexe pour dessiner une courbe lineaire
    Par fou-jea dans le forum Requêtes
    Réponses: 1
    Dernier message: 07/09/2012, 14h50
  2. Requete MySql un peu complexe !
    Par walou dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 03/09/2007, 20h42
  3. Requete MySql complexe ?
    Par walou dans le forum JDBC
    Réponses: 2
    Dernier message: 03/09/2007, 14h29
  4. Requetes MySQL complexes
    Par kirian dans le forum Bases de données
    Réponses: 4
    Dernier message: 07/03/2007, 17h34
  5. Problème pour écrire des requetes mysql complexes
    Par truemistress dans le forum Requêtes
    Réponses: 8
    Dernier message: 08/02/2007, 18h29

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