Avatar billede linuxn00b Nybegynder
17. maj 2003 - 23:28 Der er 15 kommentarer og
1 løsning

Liste over mysql tabeller, og cols.

HeY, er der nogen der kan fortælle mig hvordan man får den til at vise en liste over hvilke tabeller der er i mysql, og en liste over hvilke cols der er i en bestemt tabel?
Avatar billede ahv Nybegynder
17. maj 2003 - 23:32 #1
Avatar billede postndk Nybegynder
17. maj 2003 - 23:32 #2
php.net/mysql_list_dbs
php.net/mysql_list_fields
php.net/mysql_list_tables
Avatar billede kaptajnkemo Nybegynder
17. maj 2003 - 23:32 #3
Brug:

show tables;
Describe tabelNavn.

Så enkelt er det...
Avatar billede kaptajnkemo Nybegynder
17. maj 2003 - 23:33 #4
det er så mysqls indbyggede funktioner til det og klart den nemmeste måde at gøre det på....
Avatar billede ahv Nybegynder
17. maj 2003 - 23:34 #5
Til visningen;
<?php
mysql_connect('host','user','pass');
mysql_select_db('database');

$res=mysql_query('show tables');
while ($row=mysql_fetch_row($res)){
print "$row[0]<br>";
}
?>
Avatar billede ahv Nybegynder
17. maj 2003 - 23:36 #6
Blot et eksempel på kaptajn's svar;

<?php
mysql_connect('host','user','pass');
mysql_select_db('database');

$res=mysql_query('describe tabelnavn');
while ($row=mysql_fetch_row($res)){
print "$row[0]<br>";
}
?>
Avatar billede kaptajnkemo Nybegynder
17. maj 2003 - 23:38 #7
kewl... ahv er hermed udnævnt til Kaptajnen's officielle kodeBot :)
gad vide om det samme sker hvis jeg pseudokoder mine egne projekter herinde ;)
Avatar billede ahv Nybegynder
17. maj 2003 - 23:40 #8
Kemo >> ;p
Den til visning var nu bare copy/paste fra det spørgsmål jeg henviste til.

Du har vel ikke ICQ eller MSN?
Avatar billede kaptajnkemo Nybegynder
17. maj 2003 - 23:43 #9
ahv> Det burde være en feature ved Eksperten Pro :)
Jeg bruger kun icq når jeg er på kontoret....
Avatar billede ahv Nybegynder
17. maj 2003 - 23:48 #10
Så kan vu jo lave en lille liste ud af det;

<?php
mysql_connect("host","user","pass");
mysql_select_db("database");

$res=mysql_query("show tables");
while ($row = mysql_fetch_row($res)) {
    echo "<ul>$row[0]";
    $ress = mysql_query("describe `$row[0]`");
    while ($rows = mysql_fetch_row($ress)) {
        if ($rows) {
            echo "<li>$rows[0]</li>";
        }
    }
echo "</ul>";
}
?>

Den burde liste tabelnanvet efter fulgt af felterne i denne.
Avatar billede linuxn00b Nybegynder
17. maj 2003 - 23:49 #11
Jeg synes det kunne være total fedt hvis der var en der lavede et eksempel så selv jeg kan finde ud af hvad i overhovedet mener med alt det der. Hvis vi nu siger vi har en db som hedder test og i den er der nogle tabeller f.eks test1 og test2 så skal den skrive en liste over dem, og så vil vi lige udspecificere test2 lidt, så den skriver hvilke cols der er i den, og ikke hvilke rows som det ser ud som i ahv regnede med :)
Avatar billede kaptajnkemo Nybegynder
17. maj 2003 - 23:51 #12
Det er det ahv har lavet i ovenstående eksempel ;)
Avatar billede linuxn00b Nybegynder
17. maj 2003 - 23:53 #13
ja, ok der er så kommer mens jeg har sidder og skrevet :) tak for hjælpen gutter.
Avatar billede kaptajnkemo Nybegynder
17. maj 2003 - 23:54 #14
<?php
mysql_connect("host","user","pass");
mysql_select_db("test");

$res=mysql_query("show tables");
while ($row = mysql_fetch_row($res))
{
    echo "<ul>$row[0]";
    $ress = mysql_query("describe `$row[0]`");
    while ($rows = mysql_fetch_row($ress))
    {
        if ($rows)
        {
            echo "<li>$rows[0]</li>";
        }
    }
echo "</ul>";
}
?>

Nærmere tror jeg ikke vi kan komme det, men som sagt avh har allerede postet det én gang ;)
Avatar billede kaptajnkemo Nybegynder
17. maj 2003 - 23:56 #15
Takker for points... glad for at kunne hjælpe :)
Avatar billede ahv Nybegynder
17. maj 2003 - 23:57 #16
kaptajnkemo >> 82550004, hvis du gider snakke en dag :o)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester