Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/245.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用PHP和MySQL显示查询结果_Php_Mysql_Dolibarr - Fatal编程技术网

用PHP和MySQL显示查询结果

用PHP和MySQL显示查询结果,php,mysql,dolibarr,Php,Mysql,Dolibarr,我正在学习这门新语言PHP,以便用这个软件开发模块:Dolibarr 这是我第一次使用PHP,我没有克服在视图中显示查询结果的困难 我想知道我的脚本是否写错了什么,因为到目前为止我还没有完全理解。我想显示我的软件中的用户数。我必须查询我的llx\u user表,并在数组中显示结果 这是我代码的一部分: /* * View */ //Display number of users $sql = "SELECT COUNT(u.rowid) as total"; $sql.= " FROM

我正在学习这门新语言
PHP
,以便用这个软件开发模块:
Dolibarr

这是我第一次使用PHP,我没有克服在视图中显示查询结果的困难

我想知道我的脚本是否写错了什么,因为到目前为止我还没有完全理解。我想显示我的软件中的用户数。我必须查询我的
llx\u user
表,并在数组中显示结果

这是我代码的一部分:

/*
 * View
 */

//Display number of users

$sql = "SELECT COUNT(u.rowid) as total";
$sql.= " FROM ".MAIN_DB_PREFIX."user as u";

$result = $db->query($sql);

print '<table class="noborder" width="100%">';
print '<tr class="liste_titre"><th colspan="2">'.$langs->trans("Statistics").'</th></tr>';
if (! empty($conf->user->enabled))
{
        $statUsers = '<tr class="oddeven">';
        $statUsers.= '<td><a href="index.php">'.$langs->trans("Number of Users").'</a></td><td align="right">'.round($result).'</td>';
        $statUsers.= "</tr>";

}

$total=0;
if ($entity == '0')
{
        print $statUsers;
        $total=round($result);
}
print '<tr class="liste_total"><td>'.$langs->trans("Total").'</td><td align="right">';
print $total;
print '</td></tr>';
print '</table>';


print '</div></div></div>';

llxFooter();

$db->close();
我明白了:

但我的表中有2个用户:


如果你能帮助我,谢谢你

你刚刚开始使用PHP,你做得很好。不管怎样,你的代码中有一个小错误

实际上是查询数据库,但不获取结果

查询后,您必须执行以下操作:

$row = $result->fetch_row();
print $row[0]; // $row[0] will contain the value you're looking for

另外,您的
$entity
似乎不等于0。我没有看到你在任何地方初始化这个变量,你确定你已经定义了它吗?希望您能给我们看一些您的代码。

谢谢您,您的答案很好!但我有一个问题:什么是
fetch_row()
?以及为什么我必须使用
$row[0]
而不仅仅是
$row
fetch_row()
将为您提供一个包含请求的每列的数组。由于您只请求一列
$row[0]
返回该列中的值(因为数组开始计数为零)。如果我理解得很好,那么如果我的查询是:
$sql=“选择计数(u.rowid),u.name作为总计”$sql.=“FROM”.MAIN\u DB\u前缀。“用户为u”
我应该为
rowid
$row[0]
,为
name
$row[1]
?@Deadpool遗憾的是,不是。据我所知,你想得到一个包含用户总数的列表,你想得到一个包含所有用户姓名的列表。您应该将这两个查询分为两个查询。一个只包含计数,另一个包含名称select。这仅仅是因为您不能同时使用计数和选择值(据我所知,但我在SQL方面不是很好)。。因此,我建议您使用count进行第一次查询,然后使用
SELECT name FROM users
进行第二次查询,您只需访问
$row[0]
即可获得第一个用户名,
$row[1]
next@Deadpool选择名称查询将为每个用户返回一行。比如说,你可以做一些类似于
选择名称,从用户处发送电子邮件
的事情,然后你将有
$row[0][name]
作为第一个用户名,
$row[0][email]
作为第一个用户的邮件等。如果你在一段时间内这样做($result->fetch_row()){`然后你可以通过
$row[“name”]从用户处访问所有属性
-因此,如果执行
打印$row[“name”]
操作,它将打印每个用户名,因为它在while循环中,并且该循环将针对查询返回的每一行执行(因为每个用户有一行,它将覆盖每个用户)
$row = $result->fetch_row();
print $row[0]; // $row[0] will contain the value you're looking for