我在一个叫做汽车的mysql数据库中有几个表。
在下面的database.php中,我遍历数据库中的所有表并显示它们。我在每个表中传递一个元素,一旦cliked导致table_fields.php
database.php中
<ul class = "list-group">
<?php
error_reporting(E_ALL ^ E_DEPRECATED);
echo"<p class = 'jumbotron'>Table List</p>";
$link = mysql_connect("localhost","root","");
mysql_select_db("automobile") or die(mysql_error());
$result = mysql_query("show tables");
while($table = mysql_fetch_array($result)) { // go through each row that was
returned in $result
echo"<li class='list-group-item'>";
echo"<a href= 'table_fields.php'>";
echo $table[0]. "<BR>"; // print the table that was returned on that row.
echo "</a>";
echo "</li>";
}
?>
在下面的table_fields .php中,我创建了一个显示第一个表中列的脚本。表名为'amin'。
table_fields.php
<html>
<head>
<script src = "jquery.min.js"></script>
<script src = "bootstrap.min.js"></script>
<script src = "angular.min.js"></script>
<script src = "form.js"></script>
<link rel = "stylesheet" href ="bootstrap.min.css" >
</head>
<body class = "container">
<?php
error_reporting(E_ALL ^ E_DEPRECATED);
mysql_connect("localhost", "root", "") or die("Connection Failed");
mysql_select_db("automobile")or die("Connection Failed");
$query = "select * from amin";
$result = mysql_query($query);
$numcolumn = mysql_num_fields($result);
echo "<table class ='table table-striped table-bordered' style ='width:100%'>";
echo "<tr>";
for ( $i = 0; $i < $numcolumn; $i++ ) {
$columnnames = mysql_field_name($result, $i);
echo "<th>".$columnnames. "</th>";
}
echo "</tr>";
echo "</table>";
?>
</body>
</html>
你可能已经注意到table_fields.php中的代码只显示'amin'表中的列,但是它被database.php中的所有元素引用。因此无论我点击哪个表,我都会看到'amin'表的列。
我的问题是我如何将表名传递给代码逻辑,以便table_fields.php文件中的每个表显示其各自的列而不是amin表中的列?
答案 0 :(得分:0)
您需要将表名作为参数传递给table_fields.php
文件。最简单的方法是作为查询字符串参数执行此操作。
echo '<a href="table_fields.php?table=' . $table[0] . '">' . $table[0] . '</a>';
然后在table_fields.php
文件中,您可以使用$table = $_GET['table'];
访问表名。
但我建议非常小心不要使用来自网址的未经过抽取的输入。所以你应该使用准备好的PDO语句, NOT 使用mysql
函数。