IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: Odebrání v mysql

V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
Lordos
Člen
Avatar
Lordos:3.1.2014 19:02

Ahoj
Ještě jednou budu otravovat devbookové radily které mi vždy zatím poradili. Ale já neumím hledat a proto se vždy obrátím sem. Nedávno jsem se sem obracel s důvodem vyhledávání ale vyhledávání už jsem vyřešil a udělal. Ale teď bych potřeboval jenom udělat funkci na odebrání skladových zásob. Na tlačítko se vykoná funkce a pak funkce na odebrání ze skladu. Tedy mám třeba skladové zásoby 15 kusů a potřebuju při potrvzení se odebere jeden kus a bude v mysql 14 kusů. Používá se skript UPDATE ale nevim jak na to. Více rozepíšu pokud nebudete rozumět. Díky

 
Odpovědět
3.1.2014 19:02
Avatar
Kit
Tvůrce
Avatar
Odpovídá na Lordos
Kit:3.1.2014 19:10
UPDATE sklad SET pocet=pocet-$odebrano WHERE id=$id
Nahoru Odpovědět
3.1.2014 19:10
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Lordos
Člen
Avatar
Odpovídá na Kit
Lordos:3.1.2014 19:18

Moc díky :-) Ještě že ten devbook je :-) jinak bych si nevěděl rady.

 
Nahoru Odpovědět
3.1.2014 19:18
Avatar
Lordos
Člen
Avatar
Odpovídá na Kit
Lordos:3.1.2014 22:53

A ještě bych se chtěl zeptat když mám input to kterého se bude zadávat ten počet který se má odečíst tak to udělám jak?? Npadlo mě místo toho pocet tam dát $_POST["name inputu"] ??

 
Nahoru Odpovědět
3.1.2014 22:53
Avatar
mkub
Tvůrce
Avatar
Odpovídá na Lordos
mkub:4.1.2014 7:22

v tomto pripade si musis dat pozor na SQL injection, ked vkladas databazy vstup z uzivatelskeho vstupu

 
Nahoru Odpovědět
4.1.2014 7:22
Avatar
Kit
Tvůrce
Avatar
Odpovídá na Lordos
Kit:4.1.2014 9:58
$odebrano = (int)$_POST["odebrano"];
Nahoru Odpovědět
4.1.2014 9:58
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Lordos
Člen
Avatar
Odpovídá na Kit
Lordos:4.1.2014 10:05

díky :-)

 
Nahoru Odpovědět
4.1.2014 10:05
Avatar
Lordos
Člen
Avatar
Odpovídá na Kit
Lordos:4.1.2014 16:12

Takže to bude vypadat takhle ??

("UPDATE stranka SET $odebrano = (int)$_POST["skladem"] WHERE skladem=$skladem")
 
Nahoru Odpovědět
4.1.2014 16:12
Avatar
Kit
Tvůrce
Avatar
Odpovídá na Lordos
Kit:4.1.2014 16:24

Není rozumné to vždy cpát do jednoho příkazu.

$id = (int) $_POST["id"];
$odebrano = (int) $_POST["odebrano"];
$pdo->query("UPDATE stranka SET pocet=pocet-$odebrano WHERE id=$id");

Můžeš však v PDO využít parametrické dotazy:

$prepared = $pdo->prepare("UPDATE stranka SET pocet=pocet-? WHERE id=?");
$prepared->execute(array($_POST["odebrano"], $_POST["id"]));

Ty dva příklady dělají totéž, preferuji druhý způsob.

Nahoru Odpovědět
4.1.2014 16:24
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 9 zpráv z 9.