PHP , PDO , 外键

标签 php pdo

我是 php 的新手,目前正在做我的项目。所以这就是我的问题:

enter image description here

在上面的界面中,我从类别表中提取类别名称和 ID 到“类别名称”组合框。在这个表格之后,我应该在“项目表”中输入“类别 ID”,因为类别 ID 是项目表的外键

这是我添加的代码

require_once '../../config/config.php';

$query = 'SELECT `category_id`, `category_Name` FROM `tbl_category`';

$tbl_category_category_ID = $query;
$item_name = $_POST['item_name'];
$price = $_POST['price'];
$tbl_distributor_distributor_ID= $_POST['tbl_distributor_distributor_ID'];
$item_lowlevel = $_POST['item_lowlevel'];
$status = $_POST['status'];

    try {


        $sql = "INSERT INTO `tbl_item`(`tbl_category_category_ID`, `item_name`, `price`, `tbl_distributor_distributor_ID`, `item_lowlevel`,`status`)
               VALUES (:tbl_category_category_ID, :item_name, :price, :tbl_distributor_distributor_ID, :item_lowlevel ,:status)";
        $qry = $conn->prepare($sql);
        $qry->execute(array(':tbl_category_category_ID' => $tbl_category_category_ID,
                            ':item_name' => $item_name,
                            ':price' => $price,
                            ':tbl_distributor_distributor_ID' => $tbl_distributor_distributor_ID,
                            ':item_lowlevel' => $item_lowlevel,
                            ':status' => $status));

        $conn = null;
    } catch (PDOException $e) {
        echo $e->getMessage();
    }

但这是‘元素表’的主表。它刚刚添加了查询。我该如何纠正这个问题。我应该如何从组合框中获取类别 ID 并将其输入到项目表中。

enter image description here

最佳答案

首先你需要执行你的选择语句

改变这个...

$query = 'SELECT `category_id`, `category_Name` FROM `tbl_category`';

为此...

$sql = "SELECT category_id, category_Name FROM tbl_category ORDER BY category_Name ASC";
$query = $conn->prepare($sql);
$query->execute();
$row = $query->fetch(PDO::FETCH_ASSOC);

接下来使用来自您的选择语句的数据创建您的选择框...

<select name="category_id" id="category_id">
<option value="">Select A Category</option>
<?php do { ?>
    <option value="<?php echo $row['category_id'] ?>"><?php echo $row['category_Name'] ?></option>
<?php } while ($row = $query->fetch(PDO::FETCH_ASSOC)); ?>
</select>

终于得到你的类别id
改变这个...

$tbl_category_category_ID = $query;

为此...

$tbl_category_category_ID = $_POST['category_id'];

关于PHP , PDO , 外键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33050795/

相关文章:

php - 查询数据到json响应

php - 循环结果 PDO PHP

php - base64_decode 返回 null

php - 创建 PHPUnit 模拟模型使用默认数据库而不是 CakePHP 中的测试

php - 将多维数组的值存储到变量中

Php pdo调用函数和访问变量

php - 带 session 的 PDO 查询不返回任何内容

php - 尝试通过php执行python命令但权限错误

php - 无法使用 Carbon formatLocalized 方法返回本地化的 AM/PM 时间格式?

php - MySQL查询 - 两行之间的差异