Php 数据库中输入了多少数据?

Php 数据库中输入了多少数据?,php,mysql,Php,Mysql,如何获取用户在数据库中输入的信息量? 例如,在配置文件页面上,我想向用户显示如下内容: Your profile is 25% complete! Please enter all information in your profile. 我想获取该数据并将其设置为变量,以便在jQuery progressbar中使用它。 但只计算必要的字段。例如,如果用户未输入中间名,但所有其他内容完成的配置文件仍将是100%。那么,为每个字段确定权重。您可以直接向数据库中的新字段添加权重。然后执行一个查询

如何获取用户在数据库中输入的信息量? 例如,在配置文件页面上,我想向用户显示如下内容:

Your profile is 25% complete! Please enter all information in your profile.
我想获取该数据并将其设置为变量,以便在jQuery progressbar中使用它。
但只计算必要的字段。例如,如果用户未输入中间名,但所有其他内容完成的配置文件仍将是100%。

那么,为每个字段确定权重。您可以直接向数据库中的新字段添加权重。然后执行一个查询,选择包含每个用户信息的所有字段,并组合所有权重。然后输出总重量

如果没有权重,并且所有字段都是相等的,那么就这样做

修复您的字段和表,从USERID=1的用户_数据中选择COUNT*——假设没有空字段的记录,它应该给出该用户填充的字段数。然后,您需要知道总共有多少个字段,并进行一些数学运算以获得百分比

然而,这是一个非常模糊的问题,您需要给我们一些数据库模式和示例数据,以便我们给您一个好的答案

如果您真的不知道如何执行SQL和编码,您可以通过JavaScript对其进行一些调整-在页面末尾添加JS字段检查器,并通过JS输出这些数据

<script>
var str = document.getElementById("put_your_uniqe_field_id_here").value;
alert(str);
</script>

你必须自己计算。如果您允许用户输入10列个人信息,并且他在其中3列中填写了数据,那么他的个人资料完成了30%。 如果他填了8,就完成了80‰

100 / totalcols * filledcols
也就是说,如果所有字段的权重相等。如果您有10列,但其中两列更为重要,则可以计算两列。那么你就有10+2=12个totalcols

更新

//cols: name, surname, addres
$total = 3;
$filled =0;

if (!empty($name))
  $filled++;

if (!empty($surname))
  $filled++;

if (!empty($address))
  $filled++;

 $p = 100/$total*$filled;
echo $p;

好的,但是怎么做呢?我在数据库中有id名称姓氏电子邮件电话地址如何为该字段添加权重?您需要更改表以添加名为权重的新字段。这是一个非常主观的SQL,取决于应用程序对100%的解释。但是如果我首先使用if函数,if将是例如name,so if!空$name{$p=1}elseif!空$name和!空$LANSAME{$p=2}它总是让我进入第一场战争,因为条件为真,它会给我$p=1用if语句更新我的问题。这很有效。但现在我想找到更快的解决方案?