繁体   English   中英

将数据从一个表插入到联接表中的另一个表

[英]Insert data from one table to another in joined table

这会将“ customers.id”发送到另一个php文件:

echo '<a class="btn btn-primary" href="createworkorder.php?id='.$row['id'].'">Add Workorder</a>';

这会拉出刚刚发送的id日期:

$id = null;
    if ( !empty($_GET['id'])) {
        $id = $_REQUEST['id'];
    }

    if ( null==$id ) {
        header("Location: customers.php");
    }

这将查看value /并从额外的工作订单表post中插入数据:

$id          = $POST['name'];
        $date        = $_POST['date'];
        $installer   = $_POST['installer'];
        $salesman    = $_POST['salesman'];
        $category    = $_POST['category'];
        $status      = $_POST['status'];
if ($valid) {
            $pdo = Database::connect();
            $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
            $sql = "INSERT INTO workorder (date, installer, salesman, category, status) values(?, ?, ?, ?, ?)";
            $q = $pdo->prepare($sql);
            $q->execute(array( $id,$date,$installer,$salesman,$category,$status));

            Database::disconnect();
            header("Location: workorders.php");
        }
<form class="form-horizontal" action="createworkorder.php" method="post">

                      <div class="control-group <?php echo !empty($dateError)?'error':'';?>">
                        <label class="control-label">Date</label>
                        <div class="controls">
                            <input name="date" type="text"  placeholder="Date" value="<?php echo !empty($date)?$date:'';?>">
                            <?php if (!empty($dateError)): ?>
                                <span class="help-inline"><?php echo $dateError;?></span>
                            <?php endif; ?>
                        </div>
                      </div>
                      <div class="control-group <?php echo !empty($installerError)?'error':'';?>">
                        <label class="control-label">Installer</label>
                        <div class="controls">
                            <input name="installer" type="text" placeholder="Installer" value="<?php echo !empty($installer)?$installer:'';?>">
                            <?php if (!empty($installerError)): ?>
                                <span class="help-inline"><?php echo $installerError;?></span>
                            <?php endif;?>
                        </div>
                      </div>

出于某种奇怪的原因,看起来一切都执行了(没有错误),但是我的工作订单表中没有数据显示。 这是应该发生的

  1. 从用户选择中提取customer.id,并将其存储到workorder.name中
  2. 从表单中提取其他信息(日期/安装程序/销售人员/等),然后使用所有数据将其插入到工作订单表中。

是否有人看到有什么愚蠢的东西导致这种情况不发生?

如果错误,请不要对此投票。 只需在此处键入,这样格式就会更好。

自从我讲PHP以来已经有一段时间了,但是您插入的变量太多了吗?

具体来说,在下面的代码中,是否包括$id使其掉了? 如果必须包括$id ,是否应该修改INSERT查询以包括id的位置?

$q->execute(array( $id,$date,$installer,$salesman,$category,$status));

请使用评论让我知道它是否有效...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM