Php 无法输出数据库中数组的所有行
问题:每个数组只能输出一个字段Php 无法输出数据库中数组的所有行,php,mysql,arrays,Php,Mysql,Arrays,问题:每个数组只能输出一个字段 <?php error_reporting(0); session_start(); include('connect.php'); ob_start(); $category = array( "dates" => array(), "paragraphs" => array(), "titles" => array() ); i
<?php
error_reporting(0);
session_start();
include('connect.php');
ob_start();
$category = array(
"dates" => array(),
"paragraphs" => array(),
"titles" => array()
);
if ($result = $mysqli->query("SELECT * FROM tips")){
if($result->num_rows){
while($row = $result->fetch_array(MYSQLI_ASSOC)){
//printf ("%s %s %s\n",$row["date"], $row["title"], $row["paragraph"]);
$dates= array($row["date"]);
$titles = array($row["title"]);
$paragraphs = array($row["paragraph"]);
}
}
$result->free();
}
?>
我想首先显示数组中的最后一个,所以我使用这个
<?php echo $titles[count($titles)-1]?>
我认为问题在于我的循环,我认为它在每次循环时重新分配数组您没有正确地向
$category
数组添加值:
while ($row = $result->fetch_array(MYSQLI_ASSOC)) {
$category['dates'][] = $row["date"];
$category['titles'][] = $row["title"];
$category['paragraphs'][] = $row["paragraph"];
}
现在,使用
$dates=array($row[“date”])
等,您只需反复将值分配给相同(从未声明过)的$dates
变量。您没有正确地将值添加到$category
数组中:
while ($row = $result->fetch_array(MYSQLI_ASSOC)) {
$category['dates'][] = $row["date"];
$category['titles'][] = $row["title"];
$category['paragraphs'][] = $row["paragraph"];
}
现在,使用
$dates=array($row[“date”])
等,您只需将值一次又一次地分配给相同(从未声明过)的$dates
变量。每次迭代时,
在您的变量中创建一个新数组,第一个位置存储当前行数据迭代
每次都会覆盖最后一个,请不要尝试$data=array($row['data'])
,而是$data[]=$row['data']
通过这种方式,您可以将每次迭代的值推送到数组的新索引中。每次迭代
时,
会在您的VAR中创建一个新数组,该数组的第一个位置存储当前行数据迭代
每次都会覆盖最后一个,请不要尝试$data=array($row['data'])
,而是$data[]=$row['data']
通过这种方式,您可以将每次迭代的值推送到数组的新索引中。while的每次迭代都会在VAR中创建一个新数组,该数组的第一个位置存储当前行数据迭代。每次都会覆盖最后一个,请不要尝试
$data=array($row['data'])
,而是$data[]=$row['data']
。通过这种方式,您可以将每次迭代的值推送到数组的新索引中。效果非常好,Alan,非常感谢。将其写为答案,我将接受您的代码假设$titles
是一个数组,而不是数组。您真的需要从表中选择所有项目吗?为什么不直接获取您需要的最后一个数组呢?我不需要选择全部实际上,我将在我的select语句中使用LIMIT while的每次迭代都会在您的VAR中创建一个新数组,第一个位置存储当前行数据迭代。每次都会覆盖最后一个,请不要尝试$data=array($row['data'])
,而是$data[]=$row['data']
。通过这种方式,您可以将每次迭代的值推送到数组的新索引中。效果非常好,Alan,非常感谢。将其写为答案,我将接受您的代码假设$titles
是一个数组,而不是数组。您真的需要从表中选择所有项目吗?为什么不选你需要的最后一个呢?我不需要全选。事实上,我会在我的选择语句中使用限制。。这将为每个列集而不是每个行集创建数组。@CodeGodie,$category['titles']
是一个数组,$category['titles'][=$row[“title”]
将向该数组添加新元素;通过该操作,可以显示带有echo$category['titles'][count($category['titles'])-1]
的最后一项,我猜他也忘记了他的$category
声明:)是和否。。这将为每个列集而不是每个行集创建数组。@CodeGodie,$category['titles']
是一个数组,$category['titles'][=$row[“title”]
将向该数组添加新元素;通过该操作,您可以显示最后一个带有echo$category['titles'][count($category['titles'])-1]
的项目,我猜他也忘记了自己的$category
声明:)