Datenbanken und Tabellen anzeigen?

Dragonate

Erfahrenes Mitglied
Moin,

ich will gerade zum üben mit PHP und MySql eine Seite bauen, mit der ich Datenbanken sowie Tabellen erstellen kann, und mir diese auch Anzeigen lassen kann.

Mit welchem Befehl kann ich mir denn alle Datenbanken mit deren entahltenen Tabellen anzeigen lassen, also mit welcher PHP Anfrage an den Server geht das ?

achso und es wäre auch interessant die Datenbanken und Tabellen zählen zu lassen, diese num_row Geschichte also für die DB's und Tabellen, wenn das geht ?
 
Zuletzt bearbeitet:
Jo was du mir gepostet hast, sowas meinte ich.

Vielleicht kannst du hier mal gucken, ich will mir mit "Show Databases" die Datenbanken ausgeben lassen, und packe diese mit dem mysql_fetch_array in eine Variable und lasse sie mir über eine Schleife anzeigen :

Code:
<?php 
  
  include("dbconnect.php");
  
  $sql1 = "SHOW DATABASES";
  $datenbanken = mysql_query($sql1) or die
  ("Anfrage Azahl Datenbanken nicht erfolgreich");
  

?>
	

	
<html>

<head>

	<style>
	
		body{
			color:black;
			background-color:white;			
		}
			
	</style>
	
</head>

<body>

	<h1>Alle Datenbanken und Tabellen anzeigen</h1>

	<table>
		
		<?php
		    while ($anz_datenbanken = mysql_fetch_array($datenbanken)){
		?>		
		    <td><?php echo $anz_datenbanken; ?></td>
		<?php
		    }
		?>
		
	</table>


</body>

</html>

Nun weis ich ja aber nicht wieviele Datenbanken da sind, über den echo Befehl, wie er jetzt so da steht, gibt er mir 7 mal Array Array Array .... aus, was auch richtig ist weil sich 7 Datenbanken in PHPmYAdmin befinden.

Nur wie sage ich ihm jetzt das er die richtigen Namen ausgibt, die ich ja "nicht" kenne, will ja das er sie selber ausgibt ohne das ich die einzelnen Bezeichnungen aufschreiben muss ! ?

Also einfach formuliert, den Inhalt meines Arrays richtig ausgeben.
 
Zuletzt bearbeitet:
Du mußt hinter "$anz_datenbanken" noch in eckigen Klammern den Feldnamen eingeben:

PHP:
echo $anz_datenbanken["feld_xyz"];
 
Lass dir das Ergebnis mal per [phpf]print_r[/phpf] ausgeben, statt [phpf]echo[/phpf]. Dann siehst du, dass das Ergebnis kein String ist, sondern ein Array.
 
PHP:
$sql = "SHOW DATABASES";
$result = mysql_query($sql);
while($row=mysqlFetch_array($result)){
	echo $row['Database'];
}
Und dass das Feld Database heisst, siehst du wenn du 'SHOW DATABASES" in phpMyAdmin ausführst...
 
So erstmal vielen Dank für eure schnellen Antworten.

Mit der Antwort von Yaslaw habe ich erstmal das gewünschte Ergebnis bekommen.

Und die beiden anderen Antworten gingen auch genau in die Richtung. Ich melde mich wieder :-(
 
Die anderen Antworten waren die Erklärung zu meiner Lösung. Sie sind eigenltich wichtiger als mein Beitrag.
 
Jo alles klar ^^

mir geht es jetzt noch um das ansprechen von Arrays.

Also hierdurch : $anz_datenbanken = mysql_fetch_array($datenbanken) bekomme ich ja ein Array mit den Elementen der gestarteten Anfrage.

Jetzt möchte ich zum einen die Indexanzahl des Arrays rausbekommen, dazu die Frage :

Soll ich die Anzahl über eine extra Anfrage machen in der Art : $anzahl = mysql_num_rows($datenbanken); oder kann ich irgendwie das bereits erstellte Array durchzählen ?

Es geht mir darum, die einzelnen Werte nicht über den Namen anzusprechen, sondern über den Index, und dafür brauch ich ja die Anzahl !?
 
Zurück