Witam.
Mam mały problem, pobieram dane z bazy sql, wyświetlają się tak jak powinny, ale jak chce wykonać zapis do bazy sql wciskając button to zapisuje mi zawsze ostatni wyświetlony wpis - nie ważne ile ich jest czy 2 czy 10 zawsze ostatni.
Mój kod:
if(mysql_num_rows($wynik) > 0) { while($r = mysql_fetch_assoc($wynik)) { $cena = $r['cena']; $id = $r['id_budynek']; echo '<tr> <th style="width: 100px" style="vertical-align: middle;"> <font size="4" color="green">'.$r['nazwa'].'</font> </th> <th style="width: 100px" style="vertical-align: middle;">'.$r['ilosc'].' szt</th> <th style="width: 100px" style="vertical-align: middle;">$'.$r['zysk'].'</th> <th style="width: 100px" style="vertical-align: middle;">$'.round($r['cena']).'</th> <th style="width: 100px" style="vertical-align: middle;">'; if ($kasa >= $cena ){ echo "<input type=\"hidden\" name=\"id\" value='$id' /> <input type='submit' name='ok' class='medium blue niceButton' value='Kup'</th></tr></form>"; } else { echo '<a href="#" class="medium red niceButton">Brak $</a></th></tr>'; } } } if(isset($_POST['ok']) && $kasa >= $cena) { $id = $_POST['id']; $sprawdz = mysql_query("SELECT * FROM `gra_budynki` WHERE nick='$nick' && id_budynek = '$id'"); $s = mysql_fetch_assoc($sprawdz); $cena=$s['cena']; $ilosc=$s['ilosc']; $zysk=$s['zysk']; $ulepsz=$s['ulepsz']; $ilosc1=$ilosc+1; $zysk1=$zysk+$ulepsz; $cena2=$cena+($cena*0.1); $cena1=round($cena2); $kasa1=$kasa-$cena1; $query = "UPDATE gra_budynki SET ilosc = '$ilosc1' WHERE nick='$nick' && id_budynek = '$id'"; $query2 = "UPDATE gra_budynki SET zysk = '$zysk1' WHERE nick='$nick' && id_budynek = '$id'"; $query3 = "UPDATE gra_budynki SET cena = '$cena1' WHERE nick='$nick' && id_budynek = '$id'"; $query4 = "UPDATE gra_dane SET kasa = '$kasa1' WHERE nick='$nick'"; if(mysql_query($query) && mysql_query($query2) && mysql_query($query3) && mysql_query($query4)) echo "wykonałem ".$id.""; }