使用PDO的多个查询

时间:2014-04-29 13:10:21

标签: php

所以这是我的问题: 我在同一个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();
}
}

在上面的代码中,当用户点击两个相应的复选框时,用户应该能看到两个图表(我已经检查过这两个复选框的值都被正确考虑在内,所以这不是问题)但目前有一个图表。

知道问题是什么?

感谢您的回答,

1 个答案:

答案 0 :(得分:1)

据我所知,问题与两个相互矛盾的条件一样愚蠢,

if ($choixCourbe=='courantBatterie') { 
and
if ($choixCourbe=='courantSolaire') { 

其中一次只能执行一次,显然是

因此,问题与HTML有关。将您的复选框名称设为choixCourbe[],然后在PHP中使用in_array()来测试是否选择了特定值。