我有一个PHP脚本,它在数据库中创建一个新表,预先建立字段:id,firstName,lastName和其他一些字段。表名由$ _GET&first的URL中的firstName和lastName确定。
因此,url.com/script.php?fn=Bob&ln=Smith
产生表名BobSmith。
当提交创建表的脚本时,页面将刷新,并且可以使用其他脚本将值插入表中。
我尝试做的是创建一个单独的页面,显示所有表,同时回显firstName和lastName字段中的值,限制为1个结果,因为表中的所有行都将具有相同的firstName和lastName。
所以我正在寻找的方法是显示SHOW TABLES查询的结果,但是使用每个表中的数据。
示例:
<?php
$query1 = mysql_query("SHOW TABLES");
$result1 = mysql_list_tables("customers")
$num_rows = mysql_num_rows($result1);
for ($i = 0; $i < $num_rows; $i) {
$table_name = mysql_tablename($result1, $i);
}
$query2 = "SELECT * FROM $table_name";
$result2 = mysql_query($query2);
while($row = mysql_fetch_object($result2)) { ?>
<a href="script.php?fn=<?php echo $row->firstName; ?>&ln=<?php echo $rowLastName; ?>"><?php echo $row->firstName; ?> <?php echo $row->LastName; ?></a>
<?php } ?>
我知道这不是真正的功能代码。我只是不确定如何将它们放在一起或者我是否正确地接近这一点。
答案 0 :(得分:0)
类似的东西:
$sql = "SHOW TABLES;"
$result = mysql_query($sql) or die(mysql_error());
while($row = mysql_fetch_array($result)) {
$table = $row[0];
$sql2 = "SELECT * FROM `" . mysql_real_escape_string($table) . "`";
$result2 = mysql_query($sql2) or die(mysql_error());
while($data = mysql_fetch_assoc($result2)) {
... echo out table data here ...
}
}
但从技术上讲,你不应该使用show tables
。虽然这是一个方便的命令,但&#34;适当的&#34;方法是查询information_schema db:
SELECT TABLE_NAME
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA='your_db_name'