Stránka 1 z 1

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

Napsal: 08 lis 2014 14:34
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

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

Napsal: 08 lis 2014 16:36
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?

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

Napsal: 08 lis 2014 22:07
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

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

Napsal: 09 lis 2014 19:23
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.

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

Napsal: 10 lis 2014 17:23
od kuxik009
Jo, díky moc, tohle mě vůbec nenapadlo