Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/273.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 具有公共列的多个表_Php_Mysql - Fatal编程技术网

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>

我有一个名为“production_db”的数据库,里面有6个表。所有表都有一个名为“dueDate”的公共列。我制作了一个php页面,用户可以根据日期输入搜索所有表,并在单个页面中显示结果。下面的代码仅显示单个表的结果

<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>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
            <input type="text" class="form-control input-sm datepick" name="dueDate" style="text-align:center" value="<?php echo !empty($dueDate)?$dueDate:'';?>">
        </div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        <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-我会检查这些参考资料