Avatar billede sorensen_123 Nybegynder
16. juli 2008 - 12:26 Der er 4 kommentarer og
1 løsning

Vise datatype af felt.

Hejsa,

Jeg henter en masse columns ud fra en mysql database, 100% dynamisk.

Dette gør jeg således:
$findtabelindhold = mysql_query("SELECT * FROM {$tabelNavn} ORDER BY id ASC"); //Find alt indhold fra tabellen
                        if (!$findtabelindhold) { //Hvis tabellen ikke blev fundet.
                            die("Kunne ikke finde tabel");
                        }
                        $taelFelter = mysql_num_fields($findtabelindhold); //Tæl hvor mange felter (rækker) tabellen indeholder).
                        ?>
                        <table class="databasetabel" cellspacing="0">
                        <tr>
                        <?
                        echo "<th class=\"nobg\"></th>";
                            for($i=0; $i<$taelFelter; $i++) //Vis de tabelnavne der er i databasen.
                            {
                           
                               
                               
                                $field = mysql_fetch_field($findtabelindhold);
                               
                                echo "<th>{$field->name}</th>";
                               
                            }
                        echo "</tr>\n";
                        ?>
                        <?
                            while($fetchOpl = mysql_fetch_row($findtabelindhold)) //Vis alt indhold i databasen
                            {                       
                                echo "<tr>";
                                echo "<td><a href=\"editdb.php?name=".strtolower($_GET[name])."&edittable=do&tableid=$fetchOpl[0]\"><img src=\"pict/database_edit.png\" border=\"0\" /></a></td>";
                                foreach($fetchOpl as $celle)
                                if(!$celle){ echo "<td>&nbsp;</td>";} else {echo "<td>".substr($celle,0,100)."</td>";}
                                echo "<td><a href=\"java script: sletTablePop('?name=$_GET[name]&action=deltable&tableid=$fetchOpl[0]')\"><img border=\"0\" src=\"pict/database_delete.png\" /></a></td>";
                                echo "</tr>\n";
                               
                            }
                        ?>

(se evt. http://pastie.org/234698 for highlighted kode).

Nu vil jeg så gerne have vist datatypen af hvert felt. F.eks. at datatypen for et givent felt er varchar(122).

Præcis ligesom jeg gør her:
$result =  mysql_query("SHOW COLUMNS FROM ".$kundenavn."_edit_".strtolower($_GET[name])."");
                            $countWhile = 1;
                            while($row = mysql_fetch_object($result)){
                                $dataType[$countWhile] = $row->Type;
                                $countWhile++;
                            }


Hvordan gøres dette?
Avatar billede jakobdo Ekspert
16. juli 2008 - 13:02 #1
Er det ikke bare at lave:
$result =  mysql_query("SHOW COLUMNS FROM ".$kundenavn."_edit_".strtolower($_GET[name])."");
og
$findtabelindhold = mysql_query("SELECT * FROM {$tabelNavn} ORDER BY id ASC"); //Find alt indhold fra tabellen

Og så løbe dem igennem samtidig ?
Avatar billede sorensen_123 Nybegynder
03. oktober 2008 - 15:14 #2
Lukker :) Ellers tak for hjælpen, jakobdo.
Avatar billede jakobdo Ekspert
03. oktober 2008 - 19:49 #3
Hvad blev din løsning ?
Avatar billede sorensen_123 Nybegynder
03. oktober 2008 - 23:56 #4
Har ikke lige koden her, da det var på arbejdet. Kan desværre ikke huske.
Avatar billede jakobdo Ekspert
04. oktober 2008 - 08:57 #5
Så må du gerne vise den, når du kommer på arbejde, så andre kan finde hjælp i din løsning.
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