【发布时间】:2012-10-14 07:48:35
【问题描述】:
我知道这很简单,但是我有一段时间没有使用PHP/MySQL了,我一直在阅读其他线程/php的网站,似乎无法得到它。
如何从 MySQL 表中查询一行并打印出所有包含数据的字段?我需要排除 NULL 字段,只将那些有数据的字段添加到 html 列表中。
为了澄清,我想在不指定字段名称的情况下显示字段数据,只是因为我有很多字段并且不知道哪些字段是否为 NULL。
【问题讨论】:
我知道这很简单,但是我有一段时间没有使用PHP/MySQL了,我一直在阅读其他线程/php的网站,似乎无法得到它。
如何从 MySQL 表中查询一行并打印出所有包含数据的字段?我需要排除 NULL 字段,只将那些有数据的字段添加到 html 列表中。
为了澄清,我想在不指定字段名称的情况下显示字段数据,只是因为我有很多字段并且不知道哪些字段是否为 NULL。
【问题讨论】:
您所概述的内容需要 4 个基本步骤:
第 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;
}
【讨论】:
只需SELECT * FROM table_name WHERE.... 即可。
要从特定字段中获取数据,应该是SELECT field_1,field_2,field_3....
【讨论】:
你必须创建一个代表 mysql 查询的字符串。然后在php中有一个名为mysql_query()的函数。使用上述字符串作为参数调用此函数。它将返回所有结果。 Here are some examples
【讨论】:
你需要这样做......
首先连接到你的 sql...Reference
现在进行查询并将其分配给变量...
$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];
}
}
【讨论】:
array key name