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");