dsm42026 2016-01-12 15:20
浏览 102

使用数据行填充html表。 选择选择框

This code work for one selectbox and when find value he stop even if exist more column with same value. I need to work for many select box, and to populate table with all rows with same column value (value.that the user chooses with select boxes)

<?php
require('includes/config.php');
require('layout/header.php'); 
function get_info($db, $predmet)
{
    $sql = $db->prepare("SELECT * FROM raspored WHERE predmet = :predmet");
    $sql->setFetchMode(PDO::FETCH_ASSOC);
    $sql->execute([':predmet' => $predmet]);
    if ($row = $sql->fetch()) {
        return $row;
    }
    return false;
}

?>


<table border="0" class="table table-hover table-striped">
    <tr COLSPAN=2 BGCOLOR="#6D8FFF">
        <th>ИД</th>
        <th>Предмет</th>
        <th>Професор</th>
        <th>Ден</th>
        <th>Час</th>
        <th>Просторија</th>
        <th>Тип</th>
    </tr>

    <?php
    if (isset($_POST['predmet1'])) {
        if ($row = get_info($db, $_POST['predmet1'])) {

            echo "<tr>" .
                "<td>" . $row["ID"] . "</td>" .
                "<td>" . $row["predmet"] . "</td>" .
                "<td>" . $row["profesor"] . "</td>" .
                "<td>" . $row["den"] . "</td>" .
                "<td>" . $row["chas"] . "</td>" .
                "<td>" . $row["prostorija"] . "</td>" .
                "<td>" . $row["tip"] . "</td>" .
                "</tr>";

        } else {
            echo "don't exist records for list on the table";
        }
    }
    ?>

</table>
</div>

<?php 
//футер
require('layout/footer.php'); 
?>

This is select boxes.

<select name="predmet[1]" id="predmet[1]" class="form-control input-lg">
                        <option value="" class="placeholder" style="display: none;">Предмет1</option>  
                        <option value="Алгоритми и структури на податоци">Алгоритми и структури на податоци</option>  
                        <option value="Конечна Математика">Конечна Математика</option>  
                        <option value="Софтверско инженерство">Софтверско инженерство</option>

                    </select>
                        </div>
                    </div>
                    <div class="col-xs-6 col-sm-6 col-md-6">
                        <div class="form-group">
                    <select name="predmet[2]" id="predmet[2]" class="form-control input-lg">
                        <option value="" class="placeholder" style="display: none;">Предмет2</option>  
                        <option value="Алгоритми и структури на податоци">Алгоритми и структури на податоци</option>  
                        <option value="Конечна Математика">Конечна Математика</option>  
                        <option value="Софтверско инженерство">Софтверско инженерство</option>


                    </select>
  • 写回答

1条回答 默认 最新

  • dslfjrmz70457 2016-01-12 16:31
    关注

    So I guess something like this.

        function get_info($db, $predmet_1,$predmet_2)
        {
           $param = array();
           $query = "SELECT * FROM raspored";
           $where_sql = '';
           if($predmet_1 != '' || $predmet_2 != '') {
              $query .= " WHERE ";
           }
           if($predmet_1 != '') { 
               $where_sql .= 'predmet = :predmet_1';
              $param[':predmet_1'] = $predmet_1;
           }  
           if($predmet_2 != '') {
               if($where_sql != '') {
                  where_sql .= ' AND ';
               }
               $where_sql .= 'predmet2 = :predmet_2';
               $param[':predmet_2'] = $predmet_2;
           }
    
            $sql = $db->prepare("SELECT * FROM raspored ".$where_sql);
            $sql->setFetchMode(PDO::FETCH_ASSOC);
            $sql->execute($param);
            return $sql->fetchAll();
        }
    
    <select name="predmet_1" id="predmet_1" class="form-control input-lg">
                            <option value="" class="placeholder" style="display: none;">Предмет1</option>  
                            <option value="Алгоритми и структури на податоци">Алгоритми и структури на податоци</option>  
                            <option value="Конечна Математика">Конечна Математика</option>  
                            <option value="Софтверско инженерство">Софтверско инженерство</option>
    
                        </select>
                            </div>
                        </div>
                        <div class="col-xs-6 col-sm-6 col-md-6">
                            <div class="form-group">
                        <select name="predmet_2" id="predmet_2" class="form-control input-lg">
                            <option value="" class="placeholder" style="display: none;">Предмет2</option>  
                            <option value="Алгоритми и структури на податоци">Алгоритми и структури на податоци</option>  
                            <option value="Конечна Математика">Конечна Математика</option>  
                            <option value="Софтверско инженерство">Софтверско инженерство</option>
    
    
                        </select>
    
    
    <table border="0" class="table table-hover table-striped">
        <tr COLSPAN=2 BGCOLOR="#6D8FFF">
            <th>ИД</th>
            <th>Предмет</th>
            <th>Професор</th>
            <th>Ден</th>
            <th>Час</th>
            <th>Просторија</th>
            <th>Тип</th>
        </tr>
    
        <?php
            $rows = get_info($db, $_POST['predmet1'],$_POST['predmet2'];
            if(!empty($rows) {
            foreach($rows as $row ) {
    
                echo "<tr>" .
                    "<td>" . $row["ID"] . "</td>" .
                    "<td>" . $row["predmet"] . "</td>" .
                    "<td>" . $row["profesor"] . "</td>" .
                    "<td>" . $row["den"] . "</td>" .
                    "<td>" . $row["chas"] . "</td>" .
                    "<td>" . $row["prostorija"] . "</td>" .
                    "<td>" . $row["tip"] . "</td>" .
                    "</tr>";
               }
            } else {
                echo "don't exist records for list on the table";
            }
        }
        ?>
    
    </table>
    </div>
    
    <?php 
    //футер
    require('layout/footer.php'); 
    ?>
    

    I think that's right ish, but if both predmet_1 and predmet_2 relate to the same field then you can use the SQL 'IN' but build up the sql statement and the parms in a similar way.

    May I suggest if that is the case, something like this. http://loudev.com/ or http://davidstutz.github.io/bootstrap-multiselect/

    Might help your users.

    Hope that helps.

    评论

报告相同问题?

悬赏问题

  • ¥15 为什么apriori的运行时间会比fp growth的运行时间短呢
  • ¥15 帮我解决一下膳食平衡的线性规划模型的数据实例
  • ¥40 万年历缺少农历,需要和阳历同时显示
  • ¥250 雷电模拟器内存穿透、寻基址和特征码的教学
  • ¥200 比特币ord程序wallet_constructor.rs文件支持一次性铸造1000个代币,并将它们分配到40个UTXO上(每个UTXO上分配25个代币),并设置找零地址
  • ¥15 关于Java的学习问题
  • ¥15 如何使用chatgpt完成文本分类任务?
  • ¥15 已知速度v关于位置s的等式,怎么转化为已知位置求速度v的等式
  • ¥15 我有个餐饮系统,用wampserver把环境配置好了,但是后端的网页却进去,是为什么,能不能帮远程一下?
  • ¥15 R运行没有名称为"species"的插槽对于此对象类"SDMmodelCV"