【问题标题】:why wont php show more data?为什么php不显示更多数据?
【发布时间】:2011-01-26 23:50:13
【问题描述】:

我正在尝试获取搜索结果的前 3 个标题名称以显示在其他地方以及何时使用

$rows[0]['title']

它工作正常并显示第一个标题,或者它看起来无论如何但是当我使用时

$rows[1]['title'] or $rows[2]['title']

它给我的结果和它给我的结果一样

$rows[0]['title']

我已尝试翻转所有内容,并尽我所能获取前 3 个标题名称。有人有什么想法吗?

还有一点需要注意的是当我使用

$rows['title']

我没有得到任何结果。

编辑:

这是我想要获取的数据之上的内容。

$rows = array();
while ($row = mysql_fetch_array($result,MYSQL_ASSOC)) {
//$rows[$row['id']] = $row;
$rows[] = $row;
}
  foreach ($rows as $c => $row) {

}

【问题讨论】:

  • 我们需要更多的代码来回答这个问题。 $rows 到底是什么?
  • $rows[1]['title'] or $rows[2]['title']?你知道or 是做什么的吗?
  • 当你print_r($rows)时你会得到什么?
  • 您希望前三个标题如何输出?用<br />分隔?在<h2> 标签中?
  • @deceze,我认为数组是在执行查询后从 MySQL 资源中获取的。但是克里斯在这里发布的不是问题的根源,问题在于获取这个数组的代码。我建议先通过 PHPMyAdmin 执行 SQL 查询,以确保查询本身没有问题,然后从那里调试剩余的代码。

标签: php mysql


【解决方案1】:
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
  $rows[] = $row;
}

foreach ($rows as $row) {
  print_r($row);
  print("<br>");
}

所以,如果你有以下$rows

[
  ['a', 'b', 'c'],
  ['d', 'e', 'f']
]

上面的代码会显示类似的输出

array(
  [0] => 'a',
  [1] => 'b',
  [2] => 'c'
);

对于$rows 中的第一个$row。即$rows[0][0] = 'a'foreach 循环中的$row[0] = 'a'

【讨论】:

    【解决方案2】:

    也许你可以改变

    $rows[] = $row;
    

    $rows[] .= $row;
    

    【讨论】:

    • PHP 中的符号$rows[] = $row 的意思是在名为$rows 的数组末尾追加一个新元素。
    猜你喜欢
    • 2019-02-20
    • 1970-01-01
    • 1970-01-01
    • 2012-05-07
    • 2019-12-19
    • 2016-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多