【问题标题】:PHP echo date and number from query来自查询的 PHP 回显日期和数字
【发布时间】:2013-08-16 10:46:19
【问题描述】:

您好,我正在尝试通过编写用于显示销售数据的小型 Web 应用程序来学习 php。我有一个查询,现在我已经对其进行了测试,但我希望它回显匹配的日期以及在该日期找到的行数/结果数。这就是我目前所拥有的

<?php
$con=mysqli_connect("host","user","password","database");
// Check connection
if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }

$result = mysqli_query($con,"SELECT * FROM matched WHERE datematched IN (
    SELECT datematched FROM matched GROUP BY datematched HAVING count(*) > 1");

while($row = mysqli_fetch_array($result))

  {
  echo "['";
 echo "" . $date['datematched'] . "', ";
  echo "" . $num_rows . "],";

   }

mysqli_close($con);
?>

我知道我在这里做错了什么。瑞安

编辑:

<?php
$con=mysqli_connect("host","user","password","database");
// Check connection
if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }

$result = mysqli_query($con,"SELECT * FROM matched WHERE datematched IN (
    SELECT datematched FROM matched GROUP BY datematched HAVING count(*) > 1");


 echo "['";
 echo " 16/08/2013 ', ";
  echo "12345}],";


mysqli_close($con);
?>

好的,我刚刚检查了我的回声,他们工作了,我输入了一些数据,所以我只需要找到一种方法来获取已找到的日期匹配的信息,然后找到与之相关的行数.谢谢瑞恩

【问题讨论】:

  • 什么是设置 $date ?你的意思是 $row['datematched'] 吗?
  • 您的表架构是什么样的?
  • 试试echo $row['datematched']echo $result-&gt;$num_rows
  • 使用 $row 代替 $date
  • @Anigel,感谢您注意到我更改了它并且没有任何更改

标签: php database mysqli echo


【解决方案1】:

首先,您需要对查询进行调整,使其具有您期望的行数。

$result = mysqli_query($con,"SELECT datematched, COUNT(*) as num_rows "
       . "FROM matched GROUP BY datematched HAVING num_rows > 0");

那么就可以如下显示数据了

while($row = mysqli_fetch_array($result))
{
 echo $row['datematched'] . ",";
 echo $row['num_rows'];
}

【讨论】:

  • 我什至认为您不需要 HAVING 子句,因为它不会选择计数为 0 的行
【解决方案2】:

如果你的 sql 查询是完美的,那么你应该这样写

while($row = mysqli_fetch_array($result))

  {
  echo "['";
 echo "" . $row['datematched'] . "', ";
  echo  "" . $row['num_rows'] . "', ";

   }

请按照您在 mysql 查询中获得的列设置。

【讨论】:

  • 嗨@liyakat 我刚刚尝试过,但没有成功。谢谢
【解决方案3】:
<?php
$query=mysqli_query($con,"SELECT datematched FROM matched GROUP BY datematched");
$num=mysqli_num_rows($query);
if($num>1)
{ 
$result = mysqli_query($con,"SELECT * FROM matched");
$num_rows=mysqli_num_rows($result);
while($row = mysqli_fetch_array($result))
{
echo '['; echo $row['datematched']; echo $num_rows; echo ']';
}
} 

【讨论】:

  • 嗨@chirag ode 对不起,但这不起作用,它甚至没有让我的页面加载。
  • 嗨@Chirag ode,我已经尝试了您更新的代码,但它不起作用,我稍后会在我的问题中发布我的结构
猜你喜欢
  • 1970-01-01
  • 2017-10-16
  • 1970-01-01
  • 1970-01-01
  • 2014-08-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多