2012-01-22 13 views
0

PHPを使用して、データベースのすべての内容をHTMLに直接ダンプできる、きれいな方法(ハードコーディングなし)はありますか?PHPからMySQLコンテンツ全体をダンプする方法は?

私はすべてのテーブルに対してクエリを実行し、結果をステップ実行して出力したくありません。私はテスト目的のためにこれが必要なので、テーブルはそれほど大きくはありません。

ヒント

これは私のサンプルファイルと比較できるように、残りのテストが行​​われる私のPHPファイルで直接行われます。私はこれを自動的に行う必要があるため、PHPMyAdminのようなツールを実際に使用することはできません。このような

+4

にXMLを変換するためにsimpleXMLを使用 – TimWolla

+0

[Adminer](http://www.adminer.org): – Bojangles

答えて

1

何かが働くべき:

<?php 

function dump_mysql_results($mysql_table){ 
    $query = mysql_query("SELECT * FROM `$table` WHERE 1",[your connection]) or die(mysql_error()); 
    if (!mysql_num_rows($query)){die("No rows in $table");} 
    while($r=mysql_fetch_array($query)){ 
     if (!isset($html)){ 
      $keys = array_keys($r); 
      $html = "<tr>"; 
      foreach($keys as $key){ 
       $html .= "<th>$key</th>"; 
      } 
      $html .= "</tr>"; 
     } 
     $html .= "<tr>"; 
     foreach($r as $value){ 
      $html .= "<td>$value</td>"; 
     } 
     $html .= "</tr>"; 
    } 
    return "<table>".$html."</table>"; 
} 

// DB全体をダンプするためにループを追加する:それらを反復処理、その後、テーブルのリストを取得するには

$tables = mysql_list_tables ('database name',$link_identifier) or die(mysql_error()); 
while($r=mysql_fetch_array($tables)){ 
    echo dump_mysql_results($r[0]); 
} 

?> 
+0

この関数を使用して、mysql_list_tables関数の結果に基づいてループを作成します:http://php.net/manual/en/function。 mysql-list-tables.php ...これを表示するために私の答えを少し変更しました。 –

+0

私はこれをより洗練された方法で見つけることができないので、これを使用しました。ありがとう! –

0

何を参照してください?

<?php 
exec('mysqldump --user=DBuser --password=DBpass --host=localhost --compact --xml DBname > file.xml'); 
?> 

その後PHPMyAdminのを試してみてください?HTML

関連する問題