用php和mysql查看所有表

时间:2015-05-28 23:05:05

标签: php mysql

所以,关于mysql,我的知识非常有限。通常在处理我们网站上的内容时,我常常从表达引擎中加载它,我的cms,我知道这很好。但最近我必须更新此页面,直接从我们的数据库加载其数据。我不久前参加了mysql课程,但我还是不知道如何使用它。

该页面不需要使用太多信息,它基本上只是提供给不同企业的奖项列表。我假设数据库上的表只有一个列,用于获取商业名称,城市,年份和奖励类型。类似的东西。

现在访问数据库似乎不会太难,我觉得我可以google并找到我需要的东西。但是要开始,我只想看看实际的桌子!为什么程序如此复杂?

我正在处理的文件上的代码设置如下,以便访问数据库:

$user_name = "xxxxxxxxxx";
$password  = "xxxxxxxxxx";
$server    = "xxxxxxxxxx";
$database  = "xxxxxxxxxx";

    $conni = new mysqli($server, $user_name, $password, $database);

    if (mysqli_connect_errno()) {
        printf("<center>
        <strong>No connection to database possible!<br />
        Please contact us!</strong>
        </center>");
        exit();
    }

通过这样做,我想出了如何查看数据库中的所有表:

$result = mysql_query("show tables"); 
while($table = mysql_fetch_array($result)) { 
    echo($table[0] . "<BR>");   
}

所以我知道我正在处理的表格的名称。我找到了查看所有列名称的方法:

$query = "select * from my_tablename";
$result = mysql_query($query);
$numcolumn = mysql_num_fields($result);

for ( $i = 0; $i < $numcolumn; $i++ ) {
    $columnnames = mysql_field_name($result, $i);
    echo $columnnames . "<br>";
}

但我仍然无法找到如何只显示表格本身。我可能会想到这个错误,或者没有完整的想法,但我想要的是一种显示整个表的简单方法,比如使用html表。怎么办?

1 个答案:

答案 0 :(得分:1)

您可以使用上面的列名构建表的<thead>,但要以表格格式显示结果,请使用mysql_fetch_row $result上的SELECT * FROM my_tablename函数{1}}。要在获得上一个区块中的字段名称后重复使用$result,请使用mysql_data_seek

mysql_data_seek($result, 0);

然后您可以遍历结果以获取表格的内容:

while ($row = mysql_fetch_row($result)) {
    echo '<tr>';

    foreach ($row as $value) {
        echo '<td>' . $value . '</td>';
    }

    echo '</tr>';
}

mysql_fetch_row将获得一个数字索引数组,其中每个值都是MySQL中的列值,因此通过运行foreach,您将获得每列的值。把它放在<td>里面,把它全部包裹在一个<tr>中,你就有了一张桌子!

为了更好地衡量,您应该切换到在PHP中使用mysqli,因为mysql_函数在以后的版本中已弃用。要切换,请使用PHP文档搜索您当前使用的mysql_函数,会有一条粉红色消息,指示您转到mysqli等效项