所以这是我的问题:
我在同一个PHP页面上有不同的查询(SELECT查询)。这些查询中的每一个都可以单独处理(我已经测试过了)
这些查询用于制作html表,然后使用jquery插件显示图形(用户可以通过复选框选择要在页面上显示的图形)。但是,我只能显示一个图表,因为刷新页面时只有一个查询有效。其他人没有结果。我尝试使用函数NextRowset()与do-while但它不起作用(即使没有错误)
以下是我的代码的一部分,以便您可以看到:
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();
}
}
在上面的代码中,当用户点击两个相应的复选框时,用户应该能看到两个图表(我已经检查过这两个复选框的值都被正确考虑在内,所以这不是问题)但目前有一个图表。
知道问题是什么?
感谢您的回答,
柔
答案 0 :(得分:1)
据我所知,问题与两个相互矛盾的条件一样愚蠢,
if ($choixCourbe=='courantBatterie') {
and
if ($choixCourbe=='courantSolaire') {
其中一次只能执行一次,显然是。
因此,问题与HTML有关。将您的复选框名称设为choixCourbe[]
,然后在PHP中使用in_array()
来测试是否选择了特定值。