Php 具有公共列的多个表
我有一个名为“production_db”的数据库,里面有6个表。所有表都有一个名为“dueDate”的公共列。我制作了一个php页面,用户可以根据日期输入搜索所有表,并在单个页面中显示结果。下面的代码仅显示单个表的结果Php 具有公共列的多个表,php,mysql,Php,Mysql,我有一个名为“production_db”的数据库,里面有6个表。所有表都有一个名为“dueDate”的公共列。我制作了一个php页面,用户可以根据日期输入搜索所有表,并在单个页面中显示结果。下面的代码仅显示单个表的结果 <div class="container" style="margin-top:100px"> <legend><b>Search Delivery Date Schedule</b></legend>
<div class="container" style="margin-top:100px">
<legend><b>Search Delivery Date Schedule</b></legend>
<form action="index.php" method="post" class="form-inline" role="form">
<div class="form-group">
<label for="">Search orders that are set to deliver on</label>
<input type="text" class="form-control input-sm datepick" name="dueDate" style="text-align:center" value="<?php echo !empty($dueDate)?$dueDate:'';?>">
</div>
<div class="form-group">
<button class="btn-success form-control btn-sm">Search</button>
</div>
</form><br>
<?php
include 'pages/database.php';
$dueDate = isset($_POST['dueDate']) ? $_POST['dueDate'] : '';
$pdo = Database::connect();
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "SELECT * FROM aafes WHERE dueDate ='$dueDate'";
$q = $pdo->prepare($sql);
$q->execute(array($dueDate));
$data = $q->fetch(PDO::FETCH_ASSOC);
if (($data)==0) {
echo 'Search Results';
} else {
echo '<table class="table table-striped table-bordered table-hover">';
echo '<tr>';
echo '<th style="text-align:center">Order No</th>';
echo '<th style="text-align:center">Order Date</th>';
echo '<th style="text-align:center">Delivery Date</th>';
echo '<th style="text-align:center">Facility Name</th>';
echo '<th style="text-align:center">Total Quantity</th>';
echo '</tr>';
foreach ($pdo->query($sql) as $row) {
echo '<tr>';
echo '<td style="text-align:center" width="10%">'. $row['orderNo'] . '</td>';
echo '<td style="text-align:center" width="10%">'. $row['orderDate'] . '</td>';
echo '<td style="text-align:center" width="10%">'. $row['dueDate'] . '</td>';
echo '<td style="text-align:center" width="10%">'. $row['facilityName'] . '</td>';
echo '<td style="text-align:center" width="6%">'. $row['totalQty'] . '</td>';
echo '</tr>';
}
}
Database::disconnect();
?>
</div>
搜索交货日期时间表
搜索设置为“交货日期”的订单
那么,如何根据这6张表的“dueDate”将它们组合成一张表呢?您所说的组合是什么意思?您是否需要一个查询来连接所有这些表(我的意思是从所有表中获取数据)?顺便说一下,您的代码不安全。看起来sql注入是可能的,因为您在查询中通过=。此行:“从aafes中选择*,其中dueDate='$dueDate'@约翰:是的!我想根据他们预定的到期日来合并他们,我如何确保这段代码的安全?这里有一个关于JOINs@Richelle的不错的指南,为了确保它的安全,他是PDO准备的声明手册谢谢@Fred ii-我会检查这些参考资料