Autor | Zpráva | ||
---|---|---|---|
Petr94 Profil |
#1 · Zasláno: 1. 11. 2009, 17:41:48
Prosím o radu,
jak vložit PHP proměnou do MySQL příkazu? $i = 1; while($i<=60) { $pricist = $i/60; $objekt_vysledku = mysqli_query ($db_spojeni,'UPDATE hraci SET sklady=sklady+$pricist WHERE produkce=$i;'); ++$i; } Error: Unknown column '$i' in 'where clause' Díky |
||
Jan Tvrdík Profil |
#2 · Zasláno: 1. 11. 2009, 17:45:09 · Upravil/a: Jan Tvrdík
Petr94:
Třeba takto: $objekt_vysledku = mysqli_query ($db_spojeni,'UPDATE hraci SET sklady=sklady+' . $pricist . ' WHERE produkce=' . $i); nebo takto: $objekt_vysledku = mysqli_query ($db_spojeni,"UPDATE hraci SET sklady=sklady+$pricist WHERE produkce=$i"); |
||
Jan Tvrdík Profil |
#3 · Zasláno: 1. 11. 2009, 17:47:43 · Upravil/a: Jan Tvrdík
Nešlo by to zkrátit na jeden SQL dotaz?:
mysqli_query ($db_spojeni, "UPDATE hraci SET sklady = (sklady + produkce / 60);"); |
||
Petr94 Profil |
#4 · Zasláno: 1. 11. 2009, 18:03:33
V prvních dvou způsobech to hází chybu.
Třetí způsob funguje ještě to budu muset trochu rošířit a uvidí se..=) Moc ste mi pomohl, moc díky. Zdravím, Petr |
||
Petr94 Profil |
#5 · Zasláno: 1. 11. 2009, 18:38:10
Né... nefunguje to k sklady se přičte produkce nevydělená 60ti... nedělí to.. co s tím?
|
||
denCo Profil |
#6 · Zasláno: 1. 11. 2009, 18:41:27
nemá to byť čistou náhodou takto?
$i++; |
||
Petr94 Profil |
#7 · Zasláno: 1. 11. 2009, 18:43:37
U ostatní programovacích jazyků co znám ano, ale PHP je vyjímka
$++i; |
||
AM_ Profil |
#8 · Zasláno: 1. 11. 2009, 18:44:35
Nebylo by lepší produkci uchovávat rovnou vydělenou šedesáti? Sice ted nevidím, proč to nejde, ale pokud máš "sklady" celočíselný typ, tak to stejně bude fungovat kostrbatě (produkce 20/hod přičte každou hodinu 1/3, což je po zaokrouhlení 0, takže se vlastně nepřičte nikdy nic)
|
||
Jan Tvrdík Profil |
#9 · Zasláno: 1. 11. 2009, 18:46:10 · Upravil/a: Jan Tvrdík
Petr94:
„V prvních dvou způsobech to hází chybu.“ V tom prvním tam byl středník navíc (opraveno), ten druhý vypadá v pořádku. „nefunguje to k sklady se přičte produkce nevydělená 60ti... nedělí to.. co s tím?“ Používej interpunkci, špatně se mi to bez ní čte. Jinak ta produkce se tam dělí 60, takže by to mělo určitě fungovat. denCo: Ne, použitý zápis (++$i;) by měl být dokonce rychlejší. Petr94: „U ostatní programovacích jazyků co znám ano“ Neznám programovací jazyk, kde preinkrementace nefunguje. |
||
Petr94 Profil |
#10 · Zasláno: 1. 11. 2009, 18:56:06
AM:
„Nebylo by lepší produkci uchovávat rovnou vydělenou šedesáti?“ Ano už em to tak udělal |
||
Časová prodleva: 14 let
|
0