在另一个页面中使用标题中的数组

时间:2013-08-27 19:48:04

标签: php database arrays

好的,所以我的header.php中有一个数组“$ landing”,然后在我的page.php中我包含了header.php,但出于某种原因,当我在页面中调用数组中的“Name”字段时。 php:echo $landing['Name'];它不起作用。

这就是数组被填满的方式,并且在标题中调用它是完美的。

$landing = array();

while ($row = mysql_fetch_array($result)) {
   $str = strtolower($row['Name']);
   if ($str == $name) {
       $landing = $row;
   }
}

为了澄清,$ row和$ landing都是数组,并且都有多个字段'Name''Color''Info'。

我在这里做错了什么?我是否需要以某种方式使其全球化或正在发生什么?

3 个答案:

答案 0 :(得分:3)

原始代码以某种方式工作,现在正如OP在comment中所说的那样。

但我的旧提示仍然存在:

  • 考虑使用MySQLi或PDO而不是弃用的MySQL扩展名!
  • 为什么要在客户端比较数据集的列值?你可以在MySQL方面做到这一点,它会更快!

答案 1 :(得分:0)

正如ComFreek正确陈述的那样,你将$登陆变成了一个字符串。相反,如果您尝试向登陆阵列添加条目,请使用[]括号表示“添加到新条目”。

$landing = array();    
while ($row = mysqli_fetch_array($result)) {
   $str = strtolower($row['Name']);
   if ($str == $name) {
       $landing[] = $row;
   }
}

答案 2 :(得分:-1)

我无法评论LS97帖子,无论如何你想使用$ landing [“Name”]你编辑LS97代码到这个:

$landing = array();    
while ($row = mysqli_fetch_array($result)) {
   $str = strtolower($row['Name']);
   if ($str == $name) {
       $landing["name"] = $row;
   }
}

如果你想使用多个名字,LS97代码就可以了。

他们说的问题就在于此。 (使用$ landing = $ row,登陆将是一个字符串。)