Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: PHP +MySQL ->columnit näkyviin

Paulus M [20.10.2009 17:51:39]

#

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!

Metabolix [20.10.2009 20:23:08]

#

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.

Paulus M [21.10.2009 16:23:59]

#

Joo, sori ku ei ollut sisennystä, mutta toi ei ollut mun koodia. Mutta toi toimii toi sun koodis, kiitokset.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta