Php 使用PDO的多个查询
所以我的问题是: 我在同一个PHP页面上有不同的查询(选择查询)。每个查询都可以单独工作(我已经对它们进行了测试)。Php 使用PDO的多个查询,php,Php,所以我的问题是: 我在同一个PHP页面上有不同的查询(选择查询)。每个查询都可以单独工作(我已经对它们进行了测试)。 这些查询用于生成html表,然后使用jquery插件显示图形(用户可以通过复选框选择要在页面上显示的图形)。但是,我只能显示一个图形,因为刷新页面时只有一个查询可以工作。其他人没有结果。我已经尝试过将函数NextRowset()与do一起使用,但它不起作用(即使没有错误) 以下是我的代码的一部分,您可以看到: foreach($_POST['choixCourbe'] as $c
这些查询用于生成html表,然后使用jquery插件显示图形(用户可以通过复选框选择要在页面上显示的图形)。但是,我只能显示一个图形,因为刷新页面时只有一个查询可以工作。其他人没有结果。我已经尝试过将函数NextRowset()与do一起使用,但它不起作用(即使没有错误)
以下是我的代码的一部分,您可以看到:
foreach($_POST['choixCourbe'] as $choixCourbe) {
if ($choixCourbe=='courantBatterie') {
$sql = 'SELECT batteryCurrent FROM data ORDER BY id'
$stmt = $bdd->prepare($sql1);
$stmt->execute();
do {
$rows = $stmt->fetchAll(PDO::FETCH_BOTH);} while ($stmt->nextRowset());
if ($rows == false) { echo 'No result';}
else { /*create table*/ }
$stmt->closeCursor();
}
if ($choixCourbe=='courantSolaire') {
$sql = 'SELECT sunCurrent FROM data ORDER BY id';
$stmt = $bdd->prepare($sql);
$stmt->execute();
do {
$rows = $stmt->fetchAll(PDO::FETCH_BOTH);} while ($stmt->nextRowset());
if ($rows == false) {echo 'No result';}
else {/*create table*/}
$stmt->closeCursor();
}
}
在上面的代码中,当用户单击两个对应的复选框时,应该能够看到两个图形(我已经检查了复选框的两个值是否都被正确考虑,所以这不是问题所在),但是当前只有一个图形
你知道问题出在哪里吗
谢谢你的回答
苏菲就我所见,这个问题就像两个相互矛盾的条件一样愚蠢
if ($choixCourbe=='courantBatterie') {
and
if ($choixCourbe=='courantSolaire') {
显然,一次只能执行一个
因此,这个问题与HTML相关。将您的复选框命名为
choixCourbe[]
,然后在PHP中使用in_array()。格式化你的代码,让一个人不需要不断滚动就可以阅读它。2.摆脱那些你试图添加的毫无意义的东西,让代码保持初始状态?谢谢你,这段代码while($stmt->nextRowset())
是为?这是因为我在互联网上读到PDO不能返回多个查询。这就是为什么我在PHP文档中使用函数nextRowset(),它是通过do while实现的。但我不确定这是否行得通,这就是为什么我要求你去掉你添加的所有无用代码。谢谢你的回答。我忘了写“foreach”,我用它来测试选中的复选框的值。我的复选框已经有了choixCourbe[]这样的名称,然后调试代码。看看它是否进入其他街区。