Přičítání čísla k poslednímu záznamu v databázi

Místo pro dotazy a rady ohledně programovacích jazyků (C++, C#, PHP, ASP, Javascript, VBS..) a tvorby webových stránek

Moderátor: Mods_senior

Zamčeno
Uživatelský avatar
kuxik009
Level 2.5
Level 2.5
Příspěvky: 338
Registrován: 16 úno 2013 13:03
Kontaktovat uživatele:

Přičítání čísla k poslednímu záznamu v databázi

Příspěvek od kuxik009 »

Zdravím,
udělal jsem si jednoduchou pokladničku (pomocí PHP, HTML a MySQL databáze), která obsahuje i den vkladu/výběru atd., ale to není důležité. Hlavní jsou dva sloupce Kolik (jsem vybral/vložil) a Zůstatek. Vybírání zanedbáme, to není důležité, ale chtěl bych vědět, existuje prosím nějaký způsob, jak automaticky přičíst hodnotu Kolik odeslanou formulářem k poslednímu Zůstatku (tj. zůstatek v řádku s nejvyšším ID). Děkuji všem předem!
PS: V příloze posílám screen pokladničky, problém je, že zůstatek musím vkládat ručně, chtěl bych to automatizovat
pokladna.PNG
Moje portfolio
Český jazyk je freeware, ale nikoliv open source!!!

Sestava:
ABBC3_SPOILER_SHOW
Uživatelský avatar
LuCaCZ
Level 3.5
Level 3.5
Příspěvky: 929
Registrován: 21 bře 2011 00:02

Re: Přičítání čísla k poslednímu záznamu v databázi

Příspěvek od LuCaCZ »

Před dotazem na vložení do db uděláš ještě jeden dotaz, který ti vrátí zůstatek. Přičteš/odečteš vklad/výběr a teprve pak uložíš.

Nebo se na tohle vyprdneš a zůstatek budeš vypočítávát vždy při zobrazení stránky přes PHP z hodnot v db, popřípadě druhým dotazem SQL.

Ukládáš výběry jako zápornou hodnotu?
Uživatelský avatar
kuxik009
Level 2.5
Level 2.5
Příspěvky: 338
Registrován: 16 úno 2013 13:03
Kontaktovat uživatele:

Re: Přičítání čísla k poslednímu záznamu v databázi

Příspěvek od kuxik009 »

Díky za odpověď, já to myslím tím prvním způsobem, jenže nevím, jak zjistit, který zůstatek je poslední (pravděpodobně ten s nejvyšším id, ale nevím, jak to zjistit...). Výběry zatím neukládám, když jsem pokladničku programoval, myslel jsem to tak, že si pouze Akci označím Výběr a potom mi logicky dojde, že částka se odečítá. Když bych to chtěl ale zautomatizovat, udělal bych to nějak takto (kód je jen ilustrační!):

Kód: Vybrat vše

if ($akce == "vklad")
 {
  *uložit do databáze $zustatek_z_databaze+$castka*
 }
 elseif ($akce == "vyber")
  {
   *uložit do databáze $zustatek_z_databaze-$castka*
  }
Jen kdyby to něčemu pomohlo, přikládám screen databáze
db.PNG
Moje portfolio
Český jazyk je freeware, ale nikoliv open source!!!

Sestava:
ABBC3_SPOILER_SHOW
omilis
Level 1.5
Level 1.5
Příspěvky: 118
Registrován: 22 črc 2009 23:09

Re: Přičítání čísla k poslednímu záznamu v databázi

Příspěvek od omilis »

Kód: Vybrat vše

SELECT * FROM tvojeTabulka ORDER BY id DESC LIMIT 1
Ale provádět dva dotazy do datábáze není v tomto případě správně. Měl bys to provádět v rámci jedné databázové transakce (BeginTransaction, Commit a Rollback). Nicméně já bych volil databázovou proceduru.
Uživatelský avatar
kuxik009
Level 2.5
Level 2.5
Příspěvky: 338
Registrován: 16 úno 2013 13:03
Kontaktovat uživatele:

Re: Přičítání čísla k poslednímu záznamu v databázi

Příspěvek od kuxik009 »

Jo, díky moc, tohle mě vůbec nenapadlo
Moje portfolio
Český jazyk je freeware, ale nikoliv open source!!!

Sestava:
ABBC3_SPOILER_SHOW
Zamčeno

Zpět na „Programování a tvorba webu“