PHP下拉列表将值发送到php变量如何

时间:2017-11-16 07:53:42

标签: php mysql pdo

我想知道如何在sql查询(PDO)中包含变量以及如何将值发送到这些变量中。 因为我想要选择具有相应值的选项(这些是DB中的表名)。当单击一个选项时,值将被发送到声明的变量$ taxability。 请温柔地对待我那些精致的脑子。我真的很想学。只是有些时候我真的不明白。 :)谢谢!

问题:如何点击每个OPTION的VALUES到$ taxability变量。

请帮我在我的代码中重构一些东西。感谢

database.php中

 <?php
    class Database
    {
        private static $dbName = 'reports' ;
        private static $dbHost = 'localhost' ;
        private static $dbUsername = 'root';
        private static $dbUserPassword = '';

        private static $cont  = null;

        public function __construct() {
            die('Init function is not allowed');
        }

        public static function connect()
        {
           // One connection through whole application
           if ( null == self::$cont )
           {     
            try
            {
              self::$cont =  new PDO( "mysql:host=".self::$dbHost.";"."dbname=".self::$dbName, 
                                        self::$dbUsername, 
                                        self::$dbUserPassword); 
            }
            catch(PDOException $e)
            {
              die($e->getMessage()); 
            }
           }
           return self::$cont;
        }

        public static function disconnect()
        {
            self::$cont = null;
        }
    }
?>

tables.php

 <form action="POST">
                 Month:
          <select name="month">
                 <option value="2017_oct">Oct</option>
                 <option value="2017_nov">Nov</option>
                 <option value="2017_dec">Dec</option>
          </select>
</form>
 <table width="100%" class="table table-striped table-bordered table-hover" id="tbltotal">
    <thead>
        <tr>
            <th>DISTRICT</th>
            <th>RPU</th>
            <th>AREA</th>
            <th>MARKET VALUE</th>
            <th>ASSESSED VALUE</th>
        </tr>
    </thead>
    <tbody>

    </tbody>
    <?php
       include 'database.php';
       $pdo = Database::connect();
       $taxability= "";
       $sql = ('SELECT 
                substring(pin,5,2) as District, 
                count(arpn) as RPU,
                sum(area) as AREA,
                sum(marketvalue) as MV,
                sum(assessedvalue) as AV
                FROM **$tablename**
                WHERE taxability="$taxability"
                group by District ASC');
       foreach ($pdo->query($sql) as $row) {
                echo '<tr>';
                echo '<td>'. $row['District'] . '</td>';
                echo '<td class="RPU">'. $row['RPU'] . '</td>';
                echo '<td class="AREA">'. $row['AREA'] . '</td>';
                echo '<td class="MV">'. $row['MV'] . '</td>';
                echo '<td class="AV">'. $row['AV'] . '</td>';
                }
       Database::disconnect();
    ?>
    <script type="text/javascript">
        var tds = document.getElementById('tbltotal').getElementsByTagName('td');
            var sum = 0; sum2 = 0; sum3 = 0;sum4 = 0;
            for(var i = 0; i < tds.length; i ++) {
                if(tds[i].className == 'RPU') {
                    sum += isNaN(tds[i].innerHTML) ? 0 : parseInt(tds[i].innerHTML);
                }
                 if(tds[i].className == 'AREA') {
                    sum2 += isNaN(tds[i].innerHTML) ? 0 : parseInt(tds[i].innerHTML);

                }
                if(tds[i].className == 'MV') {
                    sum3 += isNaN(tds[i].innerHTML) ? 0 : parseInt(tds[i].innerHTML);

                }
                if(tds[i].className == 'AV') {
                    sum4 += isNaN(tds[i].innerHTML) ? 0 : parseInt(tds[i].innerHTML);

                }
            }

            document.getElementById('tbltotal').innerHTML += '<tr style="font-weight:bold;"><td >total</td><td>' + 
                            sum + '</td><td>' + sum2 +'.00</td><td>' + sum3+ '</td><td>'+sum4+'</td></tr>';

    </script>
</table>

0 个答案:

没有答案