使用php显示我的数据库中的付费项目数量

时间:2016-02-08 13:38:25

标签: php mysql sql datatable

我使用php和mysql创建一个页面,显示我们在数据库中的所有作业。显示的数据是一个表,当单击一行时,模态窗口会触发其中单击的作业的信息。在页面的顶部,我想要一个简单的计数器,显示付费工作量,发票工作等等。我使用下面的代码,但没有运气...

<?php
$con = mysql_connect("localhost","databaseusername","password");
if (!$con) {
die('Could not connect: ' . mysql_error());
}
mysql_select_db("databasename", $con);

$result = mysql_query("select count(1) FROM jobslist");
$row = mysql_fetch_array($result);

$total = $row[0];


mysql_close($con);
?>

据我所知,此代码将INT列的数量设置为1而不是0.无论我尝试什么,我似乎都无法计算出已支付的金额&#39; #39;数据库中的项目或“已开发票”&#39;等等。

一旦计数功能完成,我现在回应结果如下:

<?php echo "" . $total;?>

我确信我忽视了一些简单的事情,但感谢任何帮助。

编辑:包含的表格结构

http://i.stack.imgur.com/hcMJV.png

4 个答案:

答案 0 :(得分:2)

select count(1) FROM jobslist
  

据我所知,此代码计算INT列的数量设置为1而不是0。

不,这只是计算表中的行而不是过滤。如果您想使用特定过滤器计算某些内容,则必须添加该过滤条件:

SELECT COUNT(*) AS `MyCount`
FROM `joblist`
WHERE `MyColumn` = 1; -- assuming MyColumn contains the INT you're looking for

你应该stop using mysql_* functions。已在PHP 7中删除These extensions。了解preparedPDOMySQLi语句,并考虑使用PDO,it's really pretty easy

答案 1 :(得分:0)

当我这样做时,我通常将COUNT结果命名为。试试这个:

$result = mysql_query("SELECT COUNT(*) AS total_rows FROM jobslist;");
$row = mysql_fetch_array($result);

$total = $row['total_rows'];

如果您不想为COUNT结果命名,请提供以下内容:

$result = mysql_query("SELECT COUNT(*) FROM jobslist;");
$row = mysql_fetch_array($result);

$total = $row['COUNT(*)'];

答案 2 :(得分:0)

假设有一个名为paid的列,您可以重构查询,类似于以下内容。如果你需要总结所需的金额,需要进一步调整。

$result = mysql_query("select 
    ( select count(*) from `jobslist` where `paid`=1 ) as 'paid',
    ( select count(*) from `jobslist` where `paid`=0 ) as 'unpaid'
    from jobslist");

$rows   = mysql_num_rows( $result );

while( $rs=mysql_fetch_object( $result ) ){
    $paid=$rs->paid;
    $unpaid=$rs->unpaid;

    echo 'Total: '.$rows.'Paid: '. $paid.' Unpaid: '.$unpaid;
}

答案 3 :(得分:0)

首先,您应该将已弃用的mysql_...更改为mysqli_...(查看here如何)。但这并不是你失败的原因。

与您的假设不同,COUNT(1)不会查找值为1的INT列。 相反,您必须使用COUNT(*)COUNT(a_column_name)(相同的结果),添加WHERE条款,说明涉及哪个条件

在这里,你似乎想要计算给定列(比如the_column)的值为1的记录。所以你应该:

SELECT COUNT(*)
FROM jobslist
WHERE the_column = 1

最后一点:echo "" .中您不需要<?php echo "" . $total;?> 仅写<?php echo $total;?>