使用PHP显示所有列条目

时间:2016-12-12 10:16:31

标签: php mysql sql database

我需要使用PHP在for循环中显示数据库中的所有列条目。

这是我到目前为止所做的:

$zulassungsnummerQuery = mysql_query("SELECT Zulassungsnummer FROM sb_fern_course");
$zulassungsnummer = mysql_fetch_array($zulassungsnummerQuery);

for ($i = 0 ; $i < count($zulassungsnummer) ; $i++) {
  echo $zulassungsnummer["Zulassungsnummer"][i];
}

我做错了什么?

编辑---------------------------------------------- -----------------------

我这样解决了,但现在我还有另一个问题。我只希望回应条目!=空但它不会在我的方法中工作。我仍然得到所有空栏..

还有其他方法可以达到这个目的吗?

$zulassungsnummerQuery = mysql_query("SELECT Zulassungsnummer FROM sb_fern_course");

while($zulassungsnummer = mysql_fetch_array($zulassungsnummerQuery))
{
  if(!empty($zulassungsnummer) && !is_null($zulassungsnummer) && $zulassungsnummer !== '' ){
    echo "<li>".$zulassungsnummer['Zulassungsnummer']."</li>";
  }
}

3 个答案:

答案 0 :(得分:0)

  1. 您只处理结果的第一行 - 如果不希望这样,您需要将for循环与另一个循环括起来循环遍历结果的所有行。
  2. 您的查询中只列出了一列 - 如果您需要更多列,则需要将查询更改为SELECT * FROM sb_fern_course或明确列出所有需要的列。
  3. for循环体应为echo $zullassungsnummer[$i];
  4. 您正在使用mysql_*函数,这些函数从7.0版开始从PHP中删除。为了面向未来的代码,请切换为mysqliPDO
  5. 回复已修改的问题:您需要检查$zulassungsnummer['Zulassungsnummer']的空虚:

    if(!empty($zulassungsnummer['Zulassungsnummer'])) {
      echo "<li>".$zulassungsnummer['Zulassungsnummer']."</li>";
    }
    

    但是你最好在查询级别处理这个过滤:

    SELECT Zulassungsnummer FROM sb_fern_course
    WHERE Zulassungsnummer IS NOT NULL AND Zulassungsnummer <> ''
    

答案 1 :(得分:0)

$zulassungsnummerQuery = mysql_query("SELECT Zulassungsnummer FROM sb_fern_course");
$zulassungsnummer = mysql_fetch_array($zulassungsnummerQuery);

for ($i = 0 ; $i < count($zulassungsnummer) ; $i++) {
  echo $zulassungsnummer[$i] ;
}

答案 2 :(得分:-1)

使用以下循环

while($zulassungsnummer = mysql_fetch_array($zulassungsnummerQuery))
{
    //Manipulate results
}