Autor Zpráva
milbr
Profil *
Přeju pěkný den,
chtěl bych vás poprosit o radu jakým příkazem zjistím názvy tabulek v dané databázi.
Dále bych se chtěl zeptat, jestli jdou zjistit i názvy sloupců.
Mlhavě si vzpomínám, že jsem na toto téma zde něco už kdysi viděl, ale nemohu to už najít, proto vám moc děkuju za každou radu nebo návod.

Pěkný den přeje Milan
aDAm
Profil
nazvy tabulek jdou tusim " SHOW tables"
bukaj
Profil
Dále bych se chtěl zeptat, jestli jdou zjistit i názvy sloupců.
SHOW COLUMNS FROM `tabulka`;

Nebo, pokud máš přístup do databáze information_schema:
SELECT * FROM COLUMNS WHERE TABLE_NAME = 'tabulka';
milbr
Profil *
Moc děkuju, zkusím něco spáchat, snad se mi to podaří.
potřeboval bych právě vypsat názvy tabulek do selectu ve formuláři a názvy sloupců do name inputů.
Zatím vám moc děkuji.
Milan
milbr
Profil *
Dobrý večer, zkouším toto a nějak se mi nedaří to rozchodit.
Podívejte se prosím.
Děkuji Milan
Nevypíše mi to nic.

<?php
mysql_connect ("localhost", " ", " ") or die (mysql_error());
$resdb = mysql_query ("SHOW DATABASES")
or die (mysql_error());
while ($db = mysql_fetch_array($resdb) )
{
$db = $db[0];
mysql_select_db ($db);
$restb = mysql_query ("SHOW TABLE STATUS FROM $db") or die (mysql_error());
}
echo " $db";
?>
havs
Profil
z PHPka jsem to dělal pro dump/zip zálohování takhle:

// seznam databazi
$connect = mysql_connect('localhost', 'root', 'heslo');
$db_list = mysql_list_dbs($connect);
while ($row = mysql_fetch_object($db_list)) {
echo $row->Database."<br />
";
}

//oprava - fce mysql_list_tables() zavrzena - takze nejak:
// seznam tabulek
$connect = mysql_connect('localhost', 'root', 'heslo');
$result = mysql_query("SHOW TABLES FROM databaze", $connect);
while ($row = mysql_fetch_row($result)) {
echo $row[0]."<br /> ";
}

// seznam sloupcu
$connect = mysql_connect('localhost', 'root', 'heslo');
$fields = mysql_list_fields("databaze", "tabulka", $connect);
$columns = mysql_num_fields($fields);
for ($i = 0; $i < $columns; $i++) {
echo mysql_field_name($fields, $i)." | ";
}
milbr
Profil *
havs
Dobrý večer, moc a moc Vám děkuju, trochu jsem si kod upravil a vypadá to že je vše OK.
Ještě bych se chtěl zeptat zda jde nějak docílit aby se načetly sloupce na základě vybrané tabulky ze selectu?
Všem moc děkuji a pěkný večer.
Milan

<?php
$connect = MySQL_Connect("localhost","root","heslo");
$result = mysql_query("SHOW TABLES FROM databaze", $connect);
echo "<form action=vlozit method=post>";
echo "<select name=databaze>";
while ($row = mysql_fetch_row($result)) {
echo "<option value="$row[0]">$row[0]</option>";
}
echo "</select><br><br><br>";
$fields = mysql_list_fields("databaze", "tabulka", $connect);
$columns = mysql_num_fields($fields);
for ($i = 0; $i < $columns; $i++)
{
$sloupec = mysql_field_name($fields, $i);
echo " <input type=text name='$sloupec'>$sloupec<br> ";
}
echo "
<input type=submit value=odeslat> <input type=reset value=vymazat>
</form>"
;
?>
milbr
Profil *
Přeji pěkný den, omlouvám se že opět otravuji. Narazil jsem po letech na malý problémek a nevím si s ním rady.

Script
 $databaze = "neco-neco";
 $spojeni = MySQL_Connect("localhost", "neco-nekde", "heslo");
 $result = mysql_query("SHOW TABLES FROM $databaze", $spojeni);
 while ($row = mysql_fetch_row($result)) {                   
                             echo "
                            <form>
                                <input type=\"submit\"  value=\"$row[0]\" />
                                <input type=\"hidden\" name=\"form\" value=\"$row[0]\" />
                                <input type=\"hidden\" name=\"form_tabulka\" value=\"$row[0]\" />  
                            </form>
                      
                         ";
mi funguje všude tam kde jméno databáze je bez pomlček. Tedy tabulky se mi vypíšou všude kde jméno databáze je neconeco ale když je název neco-neco tak se mi tabulky žádné nevypíšou.
Nevíte prosím v čem by mohl být problém?

Moc Vám děkuji a přeji pěkný den.
Tori
Profil
milbr:
Dávejte jména sloupců a databází do zpětných apostrofů.
"SHOW TABLES FROM `$nazev`"
milbr
Profil *
Tori:
Moc děkuji za odpověď, zkouším to ale nějak mi to stále nechce pracovat.

Mohl bych prosím poprosit o nápovědu přímo ve scriptu?

Děkuji Milan

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: