Php 更新mysql记录并传递id

Php 更新mysql记录并传递id,php,mysql,sql,Php,Mysql,Sql,我的表格是: <form class="form-horizontal" action="update.php?id=<?php echo $id ?>" method="post"> $sql = 'SELECT * FROM prekes WHERE pirkejo_id=' . $pirkejas . ''; $q = $pdo->prepare(

我的表格是:

 <form class="form-horizontal" action="update.php?id=<?php echo $id ?>" method="post">
                            $sql = 'SELECT * FROM prekes WHERE pirkejo_id=' . $pirkejas . '';
                            $q = $pdo->prepare($sql);
                            $prekes = array();
                            foreach ($pdo->query($sql) as $row) {
                                if ($row['prek_pav'] != '') {
                                    array_push($prekes, $row);
                                }
                            }?>                               
<input name="prekes[1][pavadinimas]" type="text" value="<?php echo $prekes[0]['prek_pav']?>">
<input name="prekes[1][kaina]" type="text" value="<?php echo $prekes[0]['prek_kaina'] ?>">
<input name="prekes[2][pavadinimas]" type="text"value="<?php echo $prekes[1]['prek_pav']?>">
<input name="prekes[2][kaina]" type="text" value="<?php echo $prekes[1]['prek_kaina'] ?>">
我用这个
code
来解决这个问题。这个问题有没有更好的解决办法?
我的餐桌上摆着prekes(prekes_id、pirkejo_id、prek_pav、prek_kaina)。我从$u POST['id']中获取pirkejo_id。

在表单中添加一个隐藏字段,其中包含记录id?如何操作?我在考虑一个只有prekes_id值的数组,但我在foreach循环中遇到了问题。我的错。您将Id放入$\u GET数组($\u GET['Id']),因为它是URL的一部分。$\u POST数组仅包含表单字段输入。忽略我的“添加隐藏字段”评论,因为我没有认真阅读你的问题。
$pdo = Database::connect();
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $sql = "UPDATE customers  set name = ?, pavarde = ?, ak = ?, numeris = ?  WHERE id = ?";
    $q = $pdo->prepare($sql);
    $q->execute(array($name, $pavarde, $ak, $numeris, $id));
    foreach ($prekes as $preke) {
    $sql = "UPDATE prekes SET prek_pav= ?,prek_kaina=? WHERE prekes_id=".$preke['prekes_id'];
    $q = $pdo->prepare($sql);
    $q->execute(array($preke['pavadinimas'], $preke['kaina']));
    }
    Database::disconnect();
    header("Location: default.php");