我想在表中編輯表單,並且如果發生更改,我想在數據庫中將其替換。我正在使用下面的表格。更新腳本設置具有相同值的所有行
<?php
$query = "SELECT * FROM jos_ib_ponude_stavke WHERE BrojPonude = $id";
$q=$conn->query($query);
?>
我做的第一件事是打印值在表中,這一步工作正常。
<form method="post" action="">
<button type="submit" class="btn btn-success" id="submit" name="submit">Snimi</button>
<table class="table table-bordered table-hover">
<thead>
<tr class="bg bg-primary">
<th class="text-center">Opis Radova</th>
<th class="text-center">Jm</th>
<th class="text-center">Kolicina</th>
<th class="text-center">Cijena</th>
<th class="text-center">Rabat</th>
</tr>
</thead>
<tbody>
<tr>
<?php while ($r=$q->fetch()):?>
<td><input type="text" name='opis_edit[]' value="<?php echo $r['OpisRadova']?>" class="form-control"/></td>
<td class="col-md-1"><input type="text" name='jm_edit[]' value="<?php echo $r['Jm'] ?>" class="form-control"/></td>
<td class="col-md-1"><input type="text" name='kolicina_edit[]' value="<?php echo $r['Kolicina'] ?>" class="form-control"/></td>
<td class="col-md-1"><input type="text" name='cijena_edit[]' value="<?php echo $r['Cijena'] ?>" class="form-control"/></td>
<td class="col-md-1"><input type="number" name='rabat_edit[]' value="<?php echo $r['Rbt'] ?>" class="form-control"/></td>
</tr>
<tr></tr>
</tbody>
<?php endwhile; ?>
</table>
</form>
一旦我點擊提交,我得到數組中的所有值。
$br_ponude = $_GET['Id'];
$opis_post = $_POST['opis_edit'];
$jm_post = $_POST['jm_edit'];
$kolicina_post = $_POST['kolicina_edit'];
$cijena_post = $_POST['cijena_edit'];
$rabat_post = $_POST['rabat_edit'];
$pdv_post = "17,00";
我得到所有的值,因爲我應該。在下面的語句中發生問題。
for ($i=0; $i < sizeof($opis_post) ; $i++)
{
$iznosbpdv = $cijena_post[$i] * $kolicina_post[$i]; // izracunaj iznos bez pdva i bez rabata
if ($rabat_post !=0)
{
$rbt = ($cijena_post[$i] * $kolicina_post[$i]) -
($cijena_post[$i] * $kolicina_post[$i] * $rabat_post[$i] /100);
}
else {
$rbt = 1.00;
}
$query_stavke = $conn->prepare("UPDATE jos_ib_ponude_stavke SET OpisRadova=:opis, Jm=:jm,Kolicina=:kolicina,
Cijena=:cijena, Rbt=:rbt, Pdv=:pdv, IznosBPDV=:iznosbpdv, IznosRbt=:iznosrbt
WHERE BrojPonude = '$br_ponude'");
$query_stavke->bindParam(':opis',$opis_post[$i]);
$query_stavke->bindParam(':jm',$jm_post[$i]);
$query_stavke->bindParam(':kolicina',$kolicina_post[$i]);
$query_stavke->bindParam(':cijena',$cijena_post[$i]);
$query_stavke->bindParam(':rbt',$rabat_post[$i]);
$query_stavke->bindParam(':pdv',$pdv_post);
$query_stavke->bindParam(':iznosbpdv',$iznosbpdv);
$query_stavke->bindParam(':iznosrbt',$rbt);
$query_stavke->execute();
}
一旦執行語句,表中的所有行都是相同的。我使用類似的插入腳本,它工作正常。任何幫助或建議表示讚賞!
謝謝你這麼多歡迎幫助 – user3651819 2015-02-24 13:41:54
:-)我建議您深入瞭解Object Reference by value是如何工作的,以瞭解PDO的工作原理。 – Tschallacka 2015-02-24 13:53:35