在连接表中将数据从一个表插入另一个表

时间:2015-04-23 20:05:05

标签: php sql insert

这会将“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");
    }

这会查看值/并从额外的工作订单表格中插入数据:

$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. 从用户选择中提取customers.id,并存储到workorder.name
  2. 从表单中提取额外信息(日期/安装人员/推销员/等),并使用所有数据插入到工作订单表中。
  3. 有没有人看到是否有愚蠢的事情导致这种情况发生?

1 个答案:

答案 0 :(得分:0)

如果错误,请不要将此信息保留下来。只需在此输入以便格式更好。

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

具体来说,在下面的代码中,是否包括$id将其抛弃?如果您必须添加$id,是否应该修改INSERT查询以包含ID的位置?

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

请使用评论告诉我它是否有效......