Liste des champs et structure d'une table sqlite (php 5)

Contenu du snippet

Une simple requête sqlite : PRAGMA table_info('nomtable') , retourne la liste des champs de la table en question.

La liste retournée est composée d'un N°Ordre, Nom du champ, Type (longueur), Null ou not null (99 ou 0),Valeur par défaut,Clé primaire (1 ou 0)

Source / Exemple :


<?php

if ($db = sqlite_open('sqlitemanager/test.sqlite', 0666, $sqliteerror)) {
  // extraire la liste des tables et leurs requete de creation à partir de la table interne de la base sqlite_master
    $result = sqlite_query ($db, 'PRAGMA table_info(\'essai\')');
    $tab= array();
    echo "<table border=1 width=100%>";

 // ***********DEBUT AFFICHAGE ENTETE TABLEAU *********************************
    echo "<tr bgcolor=#C0C0C0 align=center>";
    echo "<td width=10%>N°Ordre</td>";
    echo "<td width=30%>Nom du champ</td>";
    echo "<td width=20%>Type et longueur</td>";
    echo "<td width=10%>Not Null</td>";
    echo "<td width=20%>Valeur par défaut</td>";
    echo "<td width=10%>Index</td>";
    echo "</tr>";
 // ***********FIN AFFICHAGE ENTETE TABLEAU *********************************

    while ($row = sqlite_fetch_array($result)) {  // extraire les données dans un tableau
    echo "<tr>";
    echo "<td width=10%>$row[0]</td>"; // afficher n° d'ordre
    echo "<td width=30%>$row[1]</td>"; // afficher nom du champs
    echo "<td width=20%>$row[2]</td>"; // afficher type et longueur
    if ($row[3]=='99') {
      echo "<td width=10%>Not null</td>"; // afficher Not null
     }
    else
    {
      echo "<td width=10%>Null</td>"; // afficher Not null
    }
    if ($row[4]!="") {    // tester si la valeur n'est pas vide
       echo "<td width=20%>$row[4]</td>"; // afficher defaut
    }
    else
    {
       echo "<td width=20%>&nbsp;</td>";
    }
    if ($row[5]=='1')  {
        echo "<td width=10%>Primaire</td>"; // afficher clé primaire ou pas
    }
    else
    {
       echo "<td width=10%>&nbsp;</td>";
    }
    $tab[] = $row;
    echo "</tr>";

 }
echo " </table>";
echo "<br><br>";
echo "Nombre de champs : ".count($tab);     // afficher le nombre d'enregistrements

} else {
    die($sqliteerror);
}

?>

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.