Php 仅插入一行的数组
我正在尝试使用php在excel中导出数据库。但是while循环只在数组中插入一行值,导出的excel文件将只有一行数据 我使用一个嵌套的表回调循环来插入它的数据(如果不是空的话)。因此,基本上有两个数据库的值被导出到一个excel文件中。首先将数据存储在数组中,然后将其导出为excel文件 代码如下:Php 仅插入一行的数组,php,mysql,Php,Mysql,我正在尝试使用php在excel中导出数据库。但是while循环只在数组中插入一行值,导出的excel文件将只有一行数据 我使用一个嵌套的表回调循环来插入它的数据(如果不是空的话)。因此,基本上有两个数据库的值被导出到一个excel文件中。首先将数据存储在数组中,然后将其导出为excel文件 代码如下: $sql = "SELECT * FROM leads"; $result = mysqli_query($conn, $sql); $data = array();
$sql = "SELECT * FROM leads";
$result = mysqli_query($conn, $sql);
$data = array();
while ($row1 = mysqli_fetch_array($result))
{
if ($row1["status"] == "1")
{
$status = "New";
}
if ($row1["status"] == "2")
{
$status = "Assigned";
}
if ($row1["status"] == "3")
{
$status = "Pending";
}
if ($row1["status"] == "4")
{
$status = "Closed";
}
if ($row1["status"] == "5")
{
$status = "Denied";
}
$id = $row1["id"];
$sql2 = "SELECT * FROM callback WHERE lead_id=$id ORDER BY id DESC LIMIT 1";
$result2 = mysqli_query($conn, $sql2);
if ($result2)
{
while ($row2 = mysqli_fetch_array($result2))
{
$data[] = array(
"Created" => $row1["curdate"],
"Customer Name" => $row1["cname"],
"Designation" => $row1["designation"],
"Contact" => $row1["number"],
"Company" => $row1["company"],
"Address" => $row1["street"],
"Landmark" => $row1["landmark"],
"Zip" => $row1["zip"],
"Products" => $row1["product"],
"Last Callback" => $row2["callback"],
"Last Visit" => $row2["vdate"],
"Status" => $status
);
}
}
else
{
$data[] = array(
"Created" => $row1["curdate"],
"Customer Name" => $row1["cname"],
"Designation" => $row1["designation"],
"Contact" => $row1["number"],
"Company" => $row1["company"],
"Address" => $row1["street"],
"Landmark" => $row1["landmark"],
"Zip" => $row1["zip"],
"Products" => $row1["product"],
"Last Callback" => "NULL",
"Last Visit" => "NULL",
"Status" => $status
);
}
}
我做错了什么?另外,我在这方面也是个傻瓜,所以,请对我放松点,谢谢。$result2是一个mysqli\u结果对象,您不能在if语句中使用它。您应该使用它的属性,即
if ($result2->num_rows > 0)
代替if$result2mysqli_查询,只有在查询无法运行时才返回false,而在没有找到任何行时才返回false。我建议尝试使用一条带有简单左连接的SQL语句,而不是使用多条语句。嘿,这很管用!谢谢你的解释!你是最棒的。干杯:D