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 :

[SQL] Création d'un tableau [Débutant(e)]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Septembre 2006
    Messages
    132
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 132
    Par défaut [SQL] Création d'un tableau
    bonjour

    voila

    j'ai deux tables, document qui contient la liste des documents et la table chapitre

    je recupere dans une permiere requete tous les documents

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     
    $query= select * from document D
                left join chapitre C on C.id= D.id_chapitre
    ensuite dans une deuxieme requete je recupere la liste de tous les chapitres

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     
    $query= select id, label
                from chapitre
    comment je peux faire maintenant pour creer un tableau qui contient pour chaque chapitre le tableau des documents qui lui sont rattachés?

    merci d'avance

  2. #2
    Membre éclairé Avatar de Huntress
    Femme Profil pro
    Inscrit en
    Août 2004
    Messages
    475
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 475
    Par défaut
    Je dirais quelque chose du genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    $req_c = 'Ta requete qui récupère tous les chapitres';
    $res_c = mysql_query($req_c);
     
    while($enr_c = mysql_fetch_assoc($res_c)) {
     
      $req_d = 'Ta requete qui récupère les doc du chap courant';
      $res_d = mysql_query($req_d);
      echo '<table>';
      while($enr_d = mysql_fetch_assoc($res_d)) {
        echo '<tr><td>...</td></tr>';
      }
      echo '</table>';
    }

  3. #3
    Membre confirmé
    Inscrit en
    Septembre 2006
    Messages
    132
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 132
    Par défaut
    merci d'avoir pris le temps de repondre huntress!

    mais c'estr de ma faute , je me suis mal exprimée

    en fait avec mes deux requetes j'aimerai bien construire un tableau avec array, qui pour chaque chapitre met la liste des documents et je crois qu'il faut ultiser un array_push mais je ne sais pas comment tuilsier tout ca

    merci d'avance

  4. #4
    Membre éclairé Avatar de Huntress
    Femme Profil pro
    Inscrit en
    Août 2004
    Messages
    475
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 475
    Par défaut
    C'est pas grave.

    Donc si on traduit mot pour mot ce que tu veux, çà ressemble à un tableau à 2 dimensions...
    Si tu reprends mon code tu devrais pouvoir y arriver aussi.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $req_c = 'Ta requete qui récupère tous les chapitres';
    $res_c = mysql_query($req_c);
    while($enr_c = mysql_fetch_assoc($res_c)) {
      $req_d = 'Ta requete qui récupère les doc du chap courant';
      $res_d = mysql_query($req_d);
      while($enr_d = mysql_fetch_assoc($res_d)) {
        $tab[enr_c['id']][] = enr_d['id'];
      }
    }
    J'espère que je me suis pas vautrée, j'suis super dans le pâtée.


    Edit : Je crois pas m'être vautrée mais je pense pas avoir totalement répondu à ta question... je te laisse regarder çà... mais je pense que tu préfèrerais un truc du genre $tab[1] = '1, 2, 4, 9'; Me trompe-je ?

  5. #5
    Membre confirmé
    Inscrit en
    Septembre 2006
    Messages
    132
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 132
    Par défaut
    non c'est comme vous avez ecrit avant ,

    par exemple si j'ai dans ma liste des chapitres les chapitres 2, 4, 5 , 7

    j'aimerai bien avoir comme tableau

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     
    array (
     
    [2] => array ([0] => doc12, [1] => doc24 ),
    [4] => array ([0] => doc1, [1] => doc2, [2]=> doc37),
    [5] => array ([0] => doc17),
    [7] => array ([0] => doc15, [1] => doc2, [2]=> doc33)
     
    );
    un tableau dans ce genre, et en plus j'ai l'impression que je dois faire ca dans la boucle while qui recupere les documents et je dois utiliser un array_push


    le truc c'est que j'arrive pas a traduire en code ce que j'ai dans la tete

  6. #6
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    array_push($tableau, $element)
    est équivalent à cf code de Huntress

  7. #7
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut
    J'ai pas tout compris ton problème. Tu parles de pages différentes, de requete imbriquées (alors qu'on ne t'en propose pas), bref... ce n'est pas trop clair

    Si on adapte le code proposé par Huntress, que donne ceci ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    $req_c = 'SELECT id, label FROM standard_bloc';
    $res_c = db_send_query($req_c);
    while($enr_c = mysql_fetch_assoc($res_c)) {
      $req_d = 'SELECT * FROM document WHERE document.id_standard = '. $enr_c['id'];
      $res_d = mysql_query($req_d);
      while($enr_d = mysql_fetch_assoc($res_d)) {
        $tab[$enr_c['id']][] = $enr_d['id'];
      }
    }
    //test
    var_dump($tab);

  8. #8
    Membre confirmé
    Inscrit en
    Septembre 2006
    Messages
    132
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 132
    Par défaut
    ben moi non plus je ne comprends pas comment expliquer mais svp , soyez patient la je pense que j'arriverai a vous expliquer cette fois ci

    en fait ce que je fais vraiment

    d'abord j'ecris une requete permettant de me retourner tous les documents que j'ai dans ma base avec toutes leurs proprietes et dans ma table document j'ai une colonne numero de chapitre qui permet de me donner le chapitre sur lequel s'appuie le document



    ensuite, j'ecris une requete recuperant tous les chapitres

    dans une autre page je veux creer ce fameux tableau

    et donc j'ecirs

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     
    while ($row = db_fetch_array($resultat))
    	{
    avec $row['NUM_DOC'] je peux recuperer le numero de chaque document

    et avec $row['numero chapitre'] je recupere le chapitre associé au document

    svp dites moi franchement est ce que c'est plus clair? oubliez tout ce que j'ai dit dans les precendents posts

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

Discussions similaires

  1. SQL : Création d'un tableau croisé dynamique
    Par chaporon dans le forum SQL
    Réponses: 11
    Dernier message: 17/05/2017, 21h25
  2. Création d'un tableau en SQL
    Par Nikimizi dans le forum Langage SQL
    Réponses: 4
    Dernier message: 08/04/2015, 11h41
  3. [Tableaux] création d'un tableau arborescant
    Par peppena dans le forum Langage
    Réponses: 23
    Dernier message: 30/01/2006, 14h13
  4. Création dynamique de tableau.
    Par Yux dans le forum C
    Réponses: 6
    Dernier message: 05/11/2005, 16h24
  5. Création d'un tableau composé de TComboBox
    Par gilles641 dans le forum Langage
    Réponses: 1
    Dernier message: 26/07/2005, 10h30

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