tabellennamen einer DB in <select> als auswahl
hustieboy
- php
hallo,
bin am ausprobieren wie ich die tabellennamen einer datenbank in ein <select></select> bekomme (zum auswählen).
hab das jetzt so:
$qres = mysql_query('show tables') or die(mysql_error());
while (list($tabelle) = mysql_fetch_row($qres))
echo "$tabelle<br>\n";
schön, wird angezeigt, aber "show" ist wohl fehl am platz.
für das <select></..> hab ich mir das so gedacht, wenns denn ein array wäre:
<select name="something[]" size="1">
<?
for( $i=0;$i<mysql_num_rows($qres);$i++){
$ergeb = mysql_fetch_row($qres);
echo '<option value="'.$i.'">'.$ergeb[i].'</option>';
}
</select>
felder sind leer...
wer kann mir einen tip geben wie ich das umsetze ???
danke
hustieboy
Hallo,
felder sind leer...
wer kann mir einen tip geben wie ich das umsetze ???
Probiere es so, mysql_result() ist bei solchen Aufgaben hilfreich:
<select name="...">
<?php
// mit der DB verbinden --> $dbref
$abfrage="SHOW TABLES";
$ergebnis=mysql_query($abfrage,$dbref);
mysql_close($dbref);
for($i=0;$i<mysql_num_rows($ergebnis);$i++)
{
print "<option value="$i">".mysql_result($ergebnis,$i,0)."</option>\n";
}
?>
</select>
MfG, Thomas
Hallo
for( $i=0;$i<mysql_num_rows($qres);$i++){
$ergeb = mysql_fetch_row($qres);
echo '<option value="'.$i.'">'.$ergeb[i].'</option>';
}
$ergeb[i] duerfte auch kaum das gewuenschte Ergebnis enthalten.
Erstmal muesste es $i heissen, was aber hier auch nicht weiterhelfen wuerde.
for( $i=0;$i<mysql_num_rows($qres);$i++){
Hier enthaelt die Variable i quasi die Zeilennummer des von der Abfrage gelieferten Resultsets.
Bei sagen wir mal 5 Tabellen in der Datenbank geht das also von 0 bis 4.
$ergeb = mysql_fetch_row($qres);
$ergeb ist ein Array, der die i-te Zeile des Resultsets enthaelt.
Bei der Abfrage "show tables" enthaelt das Array genau einen Eintrag, naemlich den Tabellennamen (kann man gut sehen, wenn man die Abfrage mal in mysqlfront oder so macht) Um den Tabellennamen zu erhalten, muss man also $ergeb[0] ausgeben.
echo '<option value="'.$i.'">'.$ergeb[i].'</option>';
die Zeile waere also besser so:
echo '<option value="'.$i.'">'.$ergeb[0].'</option>';
Viel Spass noch
Claudia