Wifi zásuvka
Pravidla fóra
Tohle subfórum je určeno pro konzultaci ucelených nápadů, popřípadě řešení komplexnějších projektů, které opravdu není možné rozdělit na menší části.
Většinu problémů jde rozdělit na menší a ptát se na ně v konkrétních subfórech.
Tohle subfórum je určeno pro konzultaci ucelených nápadů, popřípadě řešení komplexnějších projektů, které opravdu není možné rozdělit na menší části.
Většinu problémů jde rozdělit na menší a ptát se na ně v konkrétních subfórech.
Re: Wifi zásuvka
Nejprve si uprav ty buttony
<button type="submit" name="tlacitko" value="1">Zhasnout</button>
$mysqli = mysqli_connect($server, $user, $pass, $db); //připojení k MySQL
//zde pak testujes jestli je tlacitko == 1 - došlo k odeslání formuláře a ne jen k načtení stránky
// pokud je tlacitko == 1 tak zapíšeš hodnotu stav do databáze a pokračuješ dál
$sql = 'SELECT * FROM arduino_data WHERE modul="led"'; // tady už se ti načte nová hodnota
<button type="submit" name="tlacitko" value="1">Zhasnout</button>
$mysqli = mysqli_connect($server, $user, $pass, $db); //připojení k MySQL
//zde pak testujes jestli je tlacitko == 1 - došlo k odeslání formuláře a ne jen k načtení stránky
// pokud je tlacitko == 1 tak zapíšeš hodnotu stav do databáze a pokračuješ dál
$sql = 'SELECT * FROM arduino_data WHERE modul="led"'; // tady už se ti načte nová hodnota
Re: Wifi zásuvka
Přesně tak. Vždy musíš říct, co řešíš. Řešil jsi vykreslení tlačítka, nepochopil jsem z toho, že obsluhu formuláře nemáš.
Tedy: teď se tě vykreslí správný formulář a v hidden inputu máš novou hodnotu, u toho formu si dej do action nějaký skript, který tu hodnotu updatne v db a udělá redirect zpět na výpis s tlačítkem. To už se zobrazí v opačném stavu.
Re: Wifi zásuvka
Tahat tu hodnotu ve value submitu není best practice, protože ve chvíli, kdy těch hodnot bude chtít více, do submitu je nenacpe, hiddenů může mít kolik chce.kiRRow píše: ↑14 kvě 2020, 15:56Nejprve si uprav ty buttony
<button type="submit" name="tlacitko" value="1">Zhasnout</button>
$mysqli = mysqli_connect($server, $user, $pass, $db); //připojení k MySQL
//zde pak testujes jestli je tlacitko == 1 - došlo k odeslání formuláře a ne jen k načtení stránky
// pokud je tlacitko == 1 tak zapíšeš hodnotu stav do databáze a pokračuješ dál
$sql = 'SELECT * FROM arduino_data WHERE modul="led"'; // tady už se ti načte nová hodnota
Dále není úplně šťastné vykonávat obsluhu formu ve stejném skriptu, jako je výpis. Při obnovení výpisu se bude chtít znovuodeslat formulář.
Zažitá praxe je, že se form odešle na nějaký skript s aplikační logikou, udělá co je potřeba a přesměruje na URL s prezentační vrstvou. Na výpisu pak můžeš mačkat F5 jak chceš, ale form se znovu neodešle...
Re: Wifi zásuvka
Hodnota je v hiddenu ... v button value je hodnota toho, že tento button byl stisknut, aby se zápis prováděl pouze při odeslání formuláře a né při jakémkoliv načtení stránky.
Re: Wifi zásuvka
Takze z toho zase vim prd hihi
Re: Wifi zásuvka
Jo takhle, no tak i to se dá poznat z isset($_POST['hodnota']), tedy z toho hiddenu.
Value u submitů se používá ve chvíli, kdy jich má form více (typicky "Uložit", "Uložit a zpět") a skript pak reaguje podle toho, kterým tlačítkem bylo odesláno.
No ale hlavně bych se držel toho, aby aplikační logika byla v samostatném skriptu, takže vlastně celý tento příspěvek je zbytečný
Value u submitů se používá ve chvíli, kdy jich má form více (typicky "Uložit", "Uložit a zpět") a skript pak reaguje podle toho, kterým tlačítkem bylo odesláno.
No ale hlavně bych se držel toho, aby aplikační logika byla v samostatném skriptu, takže vlastně celý tento příspěvek je zbytečný
Re: Wifi zásuvka
Uz si s tim hraju pekne dlouho a stejne neprijdu na to jak udelat aby to fungovalo vcetne zmen tech hodnot v DB
Re: Wifi zásuvka
Nějakých 6 h, to není žádnej zásek Dokud v sobě nemáš 3 turky a za oknem se znovu nerozednilo, žádný programátorský problém jsi neřešil
Ale teď vážně. A jako vždy. Ukaž co máš.
Ale teď vážně. A jako vždy. Ukaž co máš.
Re: Wifi zásuvka
Vzdy neco zkusim a kdyz nejde tak umazu, snazim se nejak pracovat z sql prijazem,
$sql = 'UPDATE * FROM arduino_data WHERE modul="led"' VALUE ="1";
$doSql = $mysqli->query($sql);
Ale asi to spatne formuluju a nebo to spatne zadavam do toho prijazu na click buttonu
$sql = 'UPDATE * FROM arduino_data WHERE modul="led"' VALUE ="1";
$doSql = $mysqli->query($sql);
Ale asi to spatne formuluju a nebo to spatne zadavam do toho prijazu na click buttonu
Re: Wifi zásuvka
Hm, a jak bys takový dotaz lidsky přečetl?
"Uprav všechno z arduino_data, pokud modul je led hodnota je 1"
Úplně to není košér, že?
Nechtěl bys spíš něco ve smyslu:
"Uprav arduino_data tak, že sloupec hodnota je 1, pokud modul je led"?
"Uprav všechno z arduino_data, pokud modul je led hodnota je 1"
Úplně to není košér, že?
Nechtěl bys spíš něco ve smyslu:
"Uprav arduino_data tak, že sloupec hodnota je 1, pokud modul je led"?
Kód: Vybrat vše
$sql = 'UPDATE arduino_data SET hodnota='.(int)$hodnota.' WHERE modul="led"';
Kdo je online
Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 10 hostů