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 :

Sélections de champs irréguliers.


Sujet :

PHP & Base de données

  1. #1
    Membre averti
    Inscrit en
    Août 2012
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Août 2012
    Messages : 44
    Par défaut Sélections de champs irréguliers.
    Bonjour,

    J'ai lu dans un sujet du forum qu'il n'était pas possible de faire une requête SQL en disant "sélectionne tout sauf ID" par exemple, à savoir faire une * avec des exceptions.

    Or, il s'avère que j'ai une table qui contient, pour chaque ligne, un ensemble irrégulier d'intitulés de colonnes afin de pouvoir générer des tableaux grâce à une boucle sur la partie "titre" d'une colonne.

    Une ligne possède donc 3 intitulés quand une autre en possède 5. Dois-je nommer tous les champs un par un et demander à SQL d'afficher seulement ceux n'étant pas NULL ?

    Ce qui donnerait cela (en sachant que j'ai 5 champs au max dans toutes mes lignes ) :

    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
    
    $reponse = $bdd->query('SELECT colonne1, colonne2, colonne3, colonne4, colonne5 FROM tableaucategorie Where ID = 2');
    
    
    while (que mettriez-vous pour dire "afficher les cases qui ne sont pas NULL")
    {
    
     <tr><th><?php echo "que mettriez-vous pour dire : afficher les colonnes"; ?></th></tr>
        
        
    <?php
    }
    
    $reponse->closeCursor(); 
    
    ?>
    J'essaye mille combinaisons possible mais je ne trouve pas la solution..
    Car il faut aussi que j'appelle une ligne en particulier, (en l'occurence la ligne à ID=2 ici).

    Merci d'avance à vous

  2. #2
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Salut,

    je n'ai pas tout compris ; as-tu l'intention de mettre un en-tête par enregistrement ou les intitulés des colonnes sont fixes et tu ventiles les valeurs dans les emplacements appropriés ?

  3. #3
    Membre averti
    Inscrit en
    Août 2012
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Août 2012
    Messages : 44
    Par défaut
    Salut

    En fait, pour être plus clair, j'ai une table comprenant "colonne1, colonne2, colonne3, etc..." mais des entrées qui ne remplissent pas tous les champs, certains n'auront qu'une information sur "colonne1", d'autres sur toutes les colonnes, etc..
    HORS, ces informations servent à faire les noms des colonnes des tableaux, puisque que chaque entrée de ma table correspond à un type de tableau.

    Comme je veux pouvoir créer mon tableau grâce à une seule page php nommée "template-tableau", j'ai utilisé ce bout de code pour n'afficher que les colonnes non NULL, voici le code :
    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
    <?php
     
    $reponse = $bdd->query('SELECT colonne1, colonne2, colonne3, colonne4, colonne5, colonne6, colonne7, colonne8, colonne9, colonne10 FROM tabletableau Where ID = 2');
     
    // On affiche chaque entrée une à une
     
        if(isset($donnees['colonne1'])){
            echo '<thead><tr>'.$donnees['colonne1'].'</tr></thead>';
        }
     
    	if(isset($donnees['colonne2'])){
            echo '<thead><tr>'.$donnees['colonne2'].'</tr></thead>';
     
        }
     
    	if(isset($donnees['colonne3'])){
            echo '<thead><tr>'.$donnees['colonne3'].'</tr></thead>';
        }
     
        if(isset($donnees['colonne4'])){
            echo '<thead><tr>'.$donnees['colonne4'].'</tr></thead>';
        }
     
        if(isset($donnees['colonne5'])){
            echo '<thead><tr>'.$donnees['colonne5'].'</tr></thead>';
        }
     
        if(isset($donnees['colonne6'])){
            echo '<thead><tr>'.$donnees['colonne6'].'</tr></thead>';
        }
     
        if(isset($donnees['colonne7'])){
            echo '<thead><tr>'.$donnees['colonne7'].'</tr></thead>';
        }
     
        if(isset($donnees['colonne8'])){
            echo '<thead><tr>'.$donnees['colonne8'].'</tr></thead>';
        }
     
        if(isset($donnees['colonne9'])){
            echo '<thead><tr>'.$donnees['colonne9'].'</tr></thead>';
        }
     
        if(isset($donnees['colonne10'])){
            echo '<thead><tr>'.$donnees['colonne10'].'</tr></thead>';
        }
     
    ?>
     
     
     
    <?php
     
     
    $reponse->closeCursor(); 
     
    ?>
    Or, rien ne s'affiche alors même que j'ai bien vérifié que la ligne à l'ID2 possédait 3 entrées (colonne1, colonne2, colonne3).
    Ai-je mal utilisé "Isset" ?

    Merci d'avance en espérant avoir été assez clair et en remerciant mille fois ce genre de sites qui permettent à des noob de sortir un peu la tête de l'eau...

  4. #4
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Salut,

    que te renvoie $bdd->query() ? Un tableau, PDOStatement...

    Ensuite, tu récupère le résultat dans $reponse et pour l'affichage tu utilises $donnees c'est pas cohérent.

    Enfin, un tableau en html se code ainsi :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <table>
        <thead>
            <tr>
                <th></th>
                <th></th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td></td>
                <td></td>
            </tr>
        </tbody>
    </table>

  5. #5
    Membre Expert
    Homme Profil pro
    Développeur C++
    Inscrit en
    Avril 2012
    Messages
    771
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2012
    Messages : 771
    Par défaut
    Bonjour,

    au lieu de faire un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(isset($donnees['colonne1']))
    test plustôt ce que contient cette colonne car même si elle est null elle est quand même présente :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if( $donnees['colonne1'] !== null )
    EDIT :
    En re regardant ton code j'ai remarqué qu'il te manque le :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    while($donnees = $reponse->fetch() )
    qui sert a parcourir chaque ligne retournée pas ta requête SQL.

  6. #6
    Membre averti
    Inscrit en
    Août 2012
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Août 2012
    Messages : 44
    Par défaut
    Pour le code HTML, j'ai focalisé sur une partie de mon code pour l'afficher ici. Mais pour thead, c'est vrai, je dois l'enlever de la boucle, merci

    Vient ensuite le reste du tableau qui ne fait plus partie de cette requête et que je traite avec un autre bout de code php.

    Pour PDOStatement, cela veut dire que je ne vais pas écrire echo '<th>'.$reponse['colonne10'].'</th>'; mais plutôt un truc comme
    echo '<th>'.$PDOStatement::quelquechose['colonne10'].'</th>'; ?

    Désolé si je ne suis à la ramasse... Je cherche en même temps sur Google mais difficile de bien tout cerner.

    Merci pour ton intervention

  7. #7
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Citation Envoyé par rawsrc Voir le message
    que te renvoie $bdd->query() ? Un tableau, PDOStatement...
    Tu ne m'as pas répondu :snif:

  8. #8
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Citation Envoyé par Exia93 Voir le message
    Bonjour,

    au lieu de faire un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(isset($donnees['colonne1']))
    test plustôt ce que contient cette colonne car même si elle est null elle est quand même présente :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if( $donnees['colonne1'] !== null )
    isset() détermine si une variable est définie ET est différente de NULL.
    Zieute un coup sur la doc

  9. #9
    Membre averti
    Inscrit en
    Août 2012
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Août 2012
    Messages : 44
    Par défaut
    Ah ok ! Je croyais que tu affirmais que cela me donnait PDOStatement, du coup, j'ai répondu en disant "alors dans echo faut mettre PDOStatement::".

    Je ne sais pas comment savoir ce que me donne $bdd->query().. pour moi, cela va simplement chercher les informations précises à l'endroit précis que donne ma requête, à savoir toutes les données contenues dans les colonne1, colonne2.. mon niveau ne me permet pas d'avoir une réponse plus technique comme tu me le demandes... dsl..

    Du coup, dans ton deuxième message, tu utilises $donnees mais on est d'accord qu'il faut mettre $reponse ?

    Voici ce que me renvoie le serveur avec le code que j'ai affiché dans mon message précédent :
    Cannot use object of type PDOStatement as array

    J'imagine qu'il y a là une information importante qui échappe à mon niveau

    En tout cas, c'est cool qu'il existe encore des gens pour aider !
    Thx.

  10. #10
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Cela se résume à quelque chose dans ce genre :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
    /** @var PDOStatement */
    $data  = $bdd->query('SELECT colonne1, colonne2, colonne3, colonne4, colonne5, colonne6, colonne7, colonne8, colonne9, colonne10 FROM tabletableau Where ID = 2');
    // normalement tu ne dois récupérer qu'un seul enregistrement
    $cols  = array_filter($data->fetch(PDO::FETCH_ASSOC));
    $heads = array();
    foreach($cols as $col) {
        $heads[] = "<th>{$col}</th>";
    }
    ?>
    <table>
        <thead><?php echo implode("\n", $heads) ?></thead>
    </table>

  11. #11
    Membre averti
    Inscrit en
    Août 2012
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Août 2012
    Messages : 44
    Par défaut
    Merci pour ton code

    Voilà ce que me répond le serveur :
    Fatal error: Call to a member function fetch() on a non-object in /www/tabletableau.php on line 64

    La ligne 64 étant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $cols  = array_filter($data->fetch(PDO::FETCH_ASSOC));

    Du charabia pour moi... ^^

    En tout cas, je progresse quand même dans l'élaboration d'un truc plus solide, et ça c'est cool

  12. #12
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    essaie avec ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $data  = $bdd->query('SELECT colonne1, colonne2, colonne3, colonne4, colonne5, colonne6, colonne7, colonne8, colonne9, colonne10 FROM tabletableau Where ID = 2');
    if ($data instanceof \PDOException) {
        echo 'error : ', $data->getMessage();
        exit;
    }
    et dis moi ce que ça te dit

  13. #13
    Membre averti
    Inscrit en
    Août 2012
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Août 2012
    Messages : 44
    Par défaut
    Re

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Fatal error: Call to a member function closeCursor() on a non-object in /www/tabletableau.php on line 77
     
    Warning: implode() [function.implode]: Invalid arguments passed in /www/tabletableau.php on line 69
    Pour la première erreur, j'ai enlevé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?php
     
     
    $reponse->closeCursor(); // Termine le traitement de la requête
     
    ?>
    Seule la deuxième erreur reste donc.

    Et la deuxième erreur a trait à cette ligne donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      <th><?php echo implode("\n", $heads) ?></th>
    Merci à toi

  14. #14
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Bon on va gagner du temps si tu postais l'intégralité du code source de tabletableau.php, merci.
    Comme ça y aura moins de devinettes.

  15. #15
    Membre averti
    Inscrit en
    Août 2012
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Août 2012
    Messages : 44
    Par défaut
    Ok

    Le voici :
    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
    <?php
    try
    {
    	$bdd = new PDO('mysql:host=;dbname=', '', '');
    }
    catch (Exception $e)
    {
            die('Erreur : ' . $e->getMessage());
    }
    ?>
     
    <!DOCTYPE html>
    <html lang="fr">
     
    <head>
                    <meta charset="utf-8">
                    <title></title>
     
     
     
     
                    <meta name="description" content="">
     
     
     
            </head>
     
            <body>
     
                    <header>
     
     
     
                    </header>
     
     
     
     
     
                    <section>
     
     
     
     
     
     
    						<article>
     
     
    <div><div>
     
    							<div>
    							</div></div><div></div><div><div>
    							<table><thead><tr>
     
     
    <?php
    /** @var PDOStatement */
    $data  = $bdd->query('SELECT colonne1, colonne2, colonne3, colonne4, colonne5, colonne6, colonne7, colonne8, colonne9, colonne10 FROM tabletableau Where ID = 2');
    if ($data instanceof \PDOException) {
        echo 'error : ', $data->getMessage();
        exit;
    }
    ?>
     
        <th><?php echo implode("\n", $heads) ?></th>
     
     
     
     
    <?php
     
     
    $reponse->closeCursor(); // Termine le traitement de la requête
     
    ?>
     
     
    			</tr>						
    		</thead>		
    			<tbody>				
    							Contenu du tableau.
    </tbody></table></div><div>
     
    </div>
     
                            </article>
     
     
    				</section>
     
     
     
            </body>
     
    </html>
    Avec cela, voici la réponse du serveur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Fatal error: Call to a member function closeCursor() on a non-object in /www/tabletableau.php on line 74
     
     
     
    Warning: implode() [function.implode]: Invalid arguments passed in /www/tabletableau.php on line 69
    Je ne serai jamais développeur ^^

    Merci encore en tout cas

  16. #16
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Voici une idée de code :
    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
    <?php
     
        try {
            // n'oublie pas de compléter la chaine de connexion
            $bdd = new PDO('mysql:host=;dbname=', '', '');
        } catch (Exception $e) {
            die('Erreur : ' . $e->getMessage());
        }
     
        $sql =
    <<<'SQL'
    SELECT
        colonne1,
        colonne2,
        colonne3,
        colonne4,
        colonne5,
        colonne6,
        colonne7,
        colonne8,
        colonne9,
        colonne10
    FROM
        tabletableau
    WHERE
        ID = 2
    SQL;
     
        $data = $bdd->query($sql);
        if ($data === false) {
            die('Erreur : extraction des données impossible');
        }
     
        $cols  = array_filter($data->fetch(PDO::FETCH_ASSOC));
        $heads = array();
        foreach($cols as $col) {
            $heads[] = "<th>{$col}</th>";
        }
    ?> 
    <!DOCTYPE html>
    <html lang="fr">
    <head>
        <title></title>
        <meta charset="utf-8" >
        <meta name="description" content="">
    </head>
    <body>
        <table>
            <thead>
                <tr><?php echo implode("\n", $heads) ?></tr>                        
            </thead>        
            <tbody>                
            Contenu du tableau.
            </tbody>
        </table>
    </body>
    </html>
    Après c'est comme tout : on a rien sans rien, développeur ça s'apprend...

  17. #17
    Membre averti
    Inscrit en
    Août 2012
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Août 2012
    Messages : 44
    Par défaut
    Parfait, ça marche parfaitement

    Tu as raison, il me faut aller aux bases.. je sens que je vais bien décortiquer ton code pour le comprendre

    Merci encore rawsrc !
    A charge de revanche j'espère

  18. #18
    Membre averti
    Inscrit en
    Août 2012
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Août 2012
    Messages : 44
    Par défaut
    Re à tous,

    Je me permets de revenir une dernière fois car je souhaite faire boucler ce code pour qu'il aille prendre toutes les lignes (ici c'est fixe car id) en remplaçant id= par un champs commun à certains produits. Jusque-là, pas de problème ?

    Seulement voilà, seule la première ligne est bien lue, comme s'il n'y avait pas de boucle mais simplement l'appel d'un élément. Hors, j'ai bien cela :

    Une table "tableau" : c'est le premier tableau que je suis venu chercher avec ton code parfaitement opérationnel pour faire le titre des colonnes

    Une table "produits" : Elle regroupe tous les produits et notamment ceux qui sont assignés au tableau "id=1 de la table tableau" grâce à un champ "id_tableau", en l'occurence, il y a ici 20 lignes avec id_tableau = 1.

    J'ai donc mis ce code à la suite du tien :
    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
    $sq2 =
    <<<'SQL'
    SELECT
        colonne3,
        colonne4,
        colonne5,
        colonne6,
        colonne7,
        colonne8,
        colonne9,
        colonne10
    FROM
        produits
    WHERE
        id_tableau = 1
    SQL;
     
        $data2 = $bdd->query($sq2);
        if ($data2 === false) {
            die('Erreur : extraction des données impossible');
        }
     
        $cols2  = array_filter($data2->fetch(PDO::FETCH_ASSOC));
        $heads2 = array();
        foreach($cols2 as $co2) {
            $heads2[] = "<td>{$co2}</td>";
        }
    Celui-ci ne me sort que la première ligne par contre..
    Je n'ai pas à faire de jointures puisque je n'appelle que la table "produit" en visant seulement les produits contenant "id_tableau=1" et ayant des colonnes 3, 4, etc..

    J'ai donc mis dans le corps du tableau :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php echo implode("\n", $heads2) ?>
    Si quelqu'un voyait un problème... merci d'avance !

    Je vous assure, j'ai cherché...

  19. #19
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Salut,

    quelque chose comme ça :
    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
    <?php
     
        try {
            // n'oublie pas de compléter la chaine de connexion
            $bdd = new PDO('mysql:host=;dbname=', '', '');
        } catch (Exception $e) {
            die('Erreur : ' . $e->getMessage());
        }
     
        $sql =
    <<<'SQL'
    SELECT
        colonne3,
        colonne4,
        colonne5,
        colonne6,
        colonne7,
        colonne8,
        colonne9,
        colonne10
    FROM
        produits
    WHERE
        id_tableau = 2
    SQL;
     
        $data = $bdd->query($sql);
        if ($data === false) {
            die('Erreur : extraction des données impossible');
        }
     
        $tbody = array();
     
        while($row = $data->fetch(PDO::FETCH_ASSOC)) {
            $tds = array_filter($row);
            if (empty($tds) === false) {
                $tbody[] = '<tr>';
                foreach($tds as $td) {
                    $tbody[] = "<td>{$td}</td>";
                }
                $tbody[] = '</tr>';
            }
        }
     
        $table_body = implode("\n", $tbody);
    ?>

  20. #20
    Membre averti
    Inscrit en
    Août 2012
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Août 2012
    Messages : 44
    Par défaut
    Pour finir, merci à toi

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

Discussions similaires

  1. [Tableaux] Sélection 1er champ
    Par pascalbout1 dans le forum Langage
    Réponses: 5
    Dernier message: 17/10/2007, 11h55
  2. Réponses: 3
    Dernier message: 21/05/2007, 15h31
  3. sélection de champs d'une table
    Par OBIWAN64 dans le forum Access
    Réponses: 2
    Dernier message: 23/01/2007, 17h07
  4. sélection des champs à imprimer
    Par gueyou dans le forum Access
    Réponses: 3
    Dernier message: 18/09/2006, 16h58
  5. Pb sélection avec Champ vide
    Par Luffy Duck dans le forum Langage SQL
    Réponses: 2
    Dernier message: 20/10/2005, 12h11

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