1

我知道这很简单,但是我有一段时间没有使用 PHP/MySQL,而且我一直在阅读其他线程/php 网站,但似乎无法理解。

如何从 MySQL 表中查询单行并打印出所有包含数据的字段?我需要排除 NULL 字段,并且只将那些有数据的字段添加到 html 列表中。

为了澄清,我想在不指定字段名称的情况下显示字段数据,只是因为我有很多字段并且不知道哪些字段将为 NULL 或不。

4

4 回答 4

2

只是SELECT * FROM table_name WHERE....会做的伎俩。

要从特定字段中获取数据,它将是SELECT field_1,field_2,field_3......

于 2012-10-14T07:49:50.357 回答
2

您概述的内容需要 4 个基本步骤:

  1. 连接到数据库。
  2. 查询特定行。
  3. 从结果中删除空值。
  4. 创建html。

第 1 步是非常特定于环境的,因此我们可以安全地跳过这里。


第 2 步 - SQL

SELECT * from <tablename> WHERE <condition isolating single row>


第 3 步 - PHP(假设 $query 代表执行的数据库查询)

//convert the result to an array
$result_array = mysql_fetch_array($query);

//remove null values from the result array
$result_array = array_filter($result_array, 'strlen');


第 4 步 - PHP

foreach ($result_array as $key => $value)
{
    echo $value \n;
}
于 2012-10-14T08:02:07.903 回答
0

你必须创建一个代表 mysql 查询的字符串。然后在 php 中有一个名为mysql_query(). 使用上述字符串作为参数调用此函数。它会返回你所有的结果。这里有些例子

于 2012-10-14T07:53:54.800 回答
0

你需要这样做......

首先连接到你的sql...参考

现在进行查询并将其分配给变量...

$query = mysqli_query($connect, "SELECT column_name1, column_name2 FROM tablename");

如果要检索单行使用LIMIT 1

$query = mysqli_query($connect, "SELECT column_name1, column_name2 FROM tablename LIMIT 1");

如果您想获取所有列,只需使用*而不是列名,并且如果您想将某些行保留在特定列数据所在的位置,blank您可以这样做

$query = mysqli_query($connect, "SELECT * FROM tablename WHERE column_name4 !=''");

现在从中取出数组并像这样循环遍历数组..

while($show_rows = mysqli_fetch_array($query)) {
   echo $show_rows['column_name1'];
   echo $show_rows['column_name2'];
}

如果你不想在 while 循环中包含列名,你可以这样做:

while($show_rows = mysqli_fetch_array($query)) {
   foreach( $show_rows as $key => $val )
   {
       echo $show_rows[$key];
   }
}
于 2012-10-14T07:55:27.147 回答