我想知道如何在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>