Selailin php:n dokumentaatiota, mutta en löytänyt tekniikka missä puhuttaisiin siitä, että miten saa tietokannan sarakkeiden nimet näkyviin. Yritin vääntää omaan koodiakin mutta ei luonnistu, tulee vaan virhettä.
Seuraavalla koodilla saa kaikki kentät kaikista tauluista, mutta miten saisi näkyviin jostain yhdestä tai kaikista tauluista näkyviin vain sarakkeet? Yritin jo itse väännellä koodiin muutoksia, mutta ei onnistunut.
<?php if (!mysql_connect('server', 'user', 'pass')) { echo 'Could not connect to mysql'; exit; } $result = mysql_list_tables($dbname); if (!$result) { echo "DB Error, could not list tables\n"; echo 'MySQL Error: ' . mysql_error(); exit; } while ($row = mysql_fetch_row($result)) { // added code to use the tablename and select all records from that table echo ('Table ' . $row[0] . '<br /><table>'); $sql="select * from " . $row[0]; $result2 = mysql_query($sql) or die ('SQL problem selecting from table'); if (mysql_num_rows($result2) >= 1){ echo ('<tr>'); while ($row2 = mysql_fetch_row($result2)) { for ($i=0; $i<mysql_num_fields($result2); $i ++){ echo ('<td>' . $row2[$i] . '</td>'); } } echo ('</tr>'); } else { echo ('<tr><td colspan="999">No records for table' . $row[0] . '</td></tr>'); } echo ('</table>'); mysql_free_result($result2); } //Paulus sql = "show columns from tauluKake"; $result3 = mysql_query($sql); echo "<table><tr>" for($i = 0; $i < count($result);$i) { echo "<td>".$result[1]."</td>"; } echo "</tr><table>"; mysql_free_result($result3); // </Paulus> mysql_free_result($result);
Mod. korjasi PHP-kooditagit ja lisäsi puuttuvan '-merkin mysql_connect-riville!
No ei kai se PHP:n manuaalista löydy, kun kyseessä on SQL-lause.
<?php $taulut = array(); $q = mysql_query("SHOW TABLES"); while ($r = mysql_fetch_row($q)) { $taulut[] = reset($r); } foreach ($taulut as $taulu) { echo "\n\n", "Taulu: $taulu", "\n"; $q = mysql_query("DESC $taulu"); $i = 0; while ($r = mysql_fetch_assoc($q)) { print_r($r); } }
Olisiko liian vaikeaa opetella vielä sisentämään ja käyttämään välejä siististi? Nykyistä koodiasi on todella hankala lukea.
Joo, sori ku ei ollut sisennystä, mutta toi ei ollut mun koodia. Mutta toi toimii toi sun koodis, kiitokset.
Aihe on jo aika vanha, joten et voi enää vastata siihen.