【问题标题】:Viewing all of table with php and mysql用 php 和 mysql 查看所有表
【发布时间】:2015-05-29 17:13:46
【问题描述】:

所以,我对 mysql 的了解非常有限。通常在处理我们网站上的内容时,我习惯于从表达式引擎(我们的 cms)加载它,我知道这很好。但最近我必须更新这个页面,直接从我们的数据库加载它的数据。不久前我上了一门关于 mysql 的课程,但我仍然不知道如何使用它。

该页面不需要使用太多信息,它基本上只是一个颁发给不同企业的奖项列表。我假设数据库中的表格只有一个列,包括企业名称、城市、年份和获奖类型。像这样的东西。

现在访问数据库似乎并不难,我觉得我可以四处搜索并找到我需要的东西。但要开始,我只想看看实际的表格!为什么要办这么复杂的手续?

我正在处理的文件上的代码是这样设置来访问数据库的:

$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 表格一样。怎么可能?

【问题讨论】:

标签: php mysql


【解决方案1】:

您可以使用上面的列名构建表的&lt;thead&gt;,但是要以表格式显示结果,请使用SELECT * FROM my_tablename$result 上的mysql_fetch_row 函数。要在获得最后一个块中的字段名称后重用$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 可以得到每列的值。把它放在&lt;td&gt; 里面,把它全部包在&lt;tr&gt; 里面,你就有了一张桌子!

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

【讨论】:

  • 我尝试切换到 mysqli() 函数,但它不起作用。我应该做的只是交换函数名称,它应该可以正常工作吗?
猜你喜欢
  • 2015-08-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-02-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-08-21
相关资源
最近更新 更多