Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MySQL] przycisk dodaje stałą wartość do bazy
avaster12
post
Post #1





Grupa: Zarejestrowani
Postów: 41
Pomógł: 0
Dołączył: 2.09.2012

Ostrzeżenie: (0%)
-----


Witam chcę dodać na stronę status wgniecionego przycisku z wykorzystaniem bazy danych. Są 2 stałe 1 albo 0 zależny od przycisku.
kod przycisków
  1. <form id="relay" action="remote_relay.php" method="GET">
  2. <input type="button" name="On" id="submitOn" style="border:1px solid #000; color:#FFFFFF; background-color:red; font-size:40px;" value="Red On" <?php?> onClick="relayOn()"/>
  3. <input type="button" name="Off" id="submitOff" style="border:1px solid #000; color:#FFFFFF; background-color:red; font-size:40px;" value="Red Off" onClick="relayOff()"/><br><br>
  4. <input type="button" id="submitOn" style="border:1px solid #000; color:#FFFFFF; background-color:blue; font-size:40px;" value="Blue On" onClick="relayOn1()"/>
  5. <input type="button" id="submitOff" style="border:1px solid #000; color:#FFFFFF; background-color:blue; font-size:40px;" value="Blue Off" onClick="relayOff1()"/><br><br>
  6. <input type="button" id="submitOn" style="border:1px solid #000; color:#FFFFFF; background-color:green; font-size:40px;" value="Green On" onClick="relayOn2()"/>
  7. <input type="button" id="submitOff" style="border:1px solid #000; color:#FFFFFF; background-color:green; font-size:40px;" value="Green Off" onClick="relayOff2()"/>
  8. <input type="hidden" name="total" id="total" value="">
  9. </form>
kod bazy danych
  1. -- Struktura tabeli dla tabeli `swiatlo`
  2. --
  3.  
  4. CREATE TABLE IF NOT EXISTS `swiatlo` (
  5. `id` int(11) NOT NULL AUTO_INCREMENT,
  6. `R` int(11) NOT NULL,
  7. `G` int(11) NOT NULL,
  8. `B` int(11) NOT NULL,
  9. PRIMARY KEY (`id`)
  10. ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;
  11.  
  12. --
  13. -- Zrzut danych tabeli `swiatlo`
  14. --
  15.  
  16. INSERT INTO `swiatlo` (`id`, `R`, `G`, `B`) VALUES
  17. (1, 0, 0, 0);
  18.  

jak zabić aby przycisk on\of dodawał jeden albo zero do odpowiedniej tabeli w bazie mysql
Powód edycji: [Kshyhoo]: tagi
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 9)
Kshyhoo
post
Post #2





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




Przenoszę do Przedszkola.
Temat wielokrotnie poruszany na Forum, więc mogłeś poszukać.
Przykład


--------------------
Go to the top of the page
+Quote Post
avaster12
post
Post #3





Grupa: Zarejestrowani
Postów: 41
Pomógł: 0
Dołączył: 2.09.2012

Ostrzeżenie: (0%)
-----


Nikt nie wie jak to zrobić
Go to the top of the page
+Quote Post
Turson
post
Post #4





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

Ostrzeżenie: (0%)
-----


To stwierdzenie czy pytanie?
Tak czy inaczej dostałeś gotowca.
Go to the top of the page
+Quote Post
Kshyhoo
post
Post #5





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




Na jak nikt nie wie? Dostałeś link do niemal gotowca, trzeba jedynie trochę pokombinować, ale zasada pozostaje ta sama.


--------------------
Go to the top of the page
+Quote Post
avaster12
post
Post #6





Grupa: Zarejestrowani
Postów: 41
Pomógł: 0
Dołączył: 2.09.2012

Ostrzeżenie: (0%)
-----


a możesz mi napisać jak zrobić nap coś takiego
mam 2 przyciski od id 1, drugi ma id 2

jak zrobić aby przycisk jeden dodał do bazy wartość 1 a przycisk dwa dodał 0

  1. if ($w=='stan') {
  2. $zapytanie = "UPDATE tabel SET stan=IF(stan='1', '0', '1') WHERE id=id";
  3. mysql_query($zapytanie);
  4. }
  5. if ($stan == 1) { $stan = '1'; $akcja = '0'; }
  6. if ($stan == 0) { $stan = '0'; $akcja = '1'; }
  7.  

z mojej logiki wynika to że przycisk o id $w doda mi stan 1, 0 albo 1 zależy co jest w bazie

Go to the top of the page
+Quote Post
Kshyhoo
post
Post #7





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




Jeden input musi mieć wartość 1 a drugi 0, potem to przechwytujesz i wrzucasz w zapytanie.


--------------------
Go to the top of the page
+Quote Post
avaster12
post
Post #8





Grupa: Zarejestrowani
Postów: 41
Pomógł: 0
Dołączył: 2.09.2012

Ostrzeżenie: (0%)
-----


  1. <input type="button" id="submitOn" style="border:1px solid #000; color:#FFFFFF; background-color:blue; font-size:40px;" value="Blue On" onClick="relayOn1()"/>
  2. <input type="button" id="submitOff" style="border:1px solid #000; color:#FFFFFF; background-color:blue; font-size:40px;" value="Blue Off" onClick="relayOff1()"/><br>
  3.  
  4.  
  5. $w = (isset($_GET['w'])) ? mysql_real_escape_string($_GET['w']) : '';
  6.  
  7.  


submitOn submitOff
teraz nie wiem co mam dopisać
Go to the top of the page
+Quote Post
Kshyhoo
post
Post #9





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




Cytat(Kshyhoo @ 24.04.2014, 20:28:19 ) *
Jeden input musi mieć wartość 1 a drugi 0, potem to przechwytujesz i wrzucasz w zapytanie.

Oczywiście wszystko zależy od Ciebie, jak to zrobisz. Podałem Ci tylko ideę. Pracuj samodzielnie... chyba umiesz przekazać dane z formularza do skryptu?


--------------------
Go to the top of the page
+Quote Post
avaster12
post
Post #10





Grupa: Zarejestrowani
Postów: 41
Pomógł: 0
Dołączył: 2.09.2012

Ostrzeżenie: (0%)
-----


  1. <!doctype html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="utf-8">
  5. <title>Remote control</title>
  6. <script type="text/javascript" src="script.js"></script>
  7. </head>
  8. <body>
  9. <center>
  10. <form id="relay" action="remote_relay.php" method="GET">
  11. <input type="button" name="On" id="submitOn" style="border:1px solid #000; color:#FFFFFF; background-color:red; font-size:40px;" value="Red On" <?php?> onClick="relayOn()"/>
  12. <input type="button" name="Off" id="submitOff" style="border:1px solid #000; color:#FFFFFF; background-color:red; font-size:40px;" value="Red Off" onClick="relayOff()"/><br><br>
  13. <input type="button" id="submitOn" style="border:1px solid #000; color:#FFFFFF; background-color:blue; font-size:40px;" value="Blue On" onClick="relayOn1()"/>
  14. <input type="button" id="submitOff" style="border:1px solid #000; color:#FFFFFF; background-color:blue; font-size:40px;" value="Blue Off" onClick="relayOff1()"/><br><br>
  15. <input type="button" id="submitOn" style="border:1px solid #000; color:#FFFFFF; background-color:green; font-size:40px;" value="Green On" onClick="relayOn2()"/>
  16. <input type="button" id="submitOff" style="border:1px solid #000; color:#FFFFFF; background-color:green; font-size:40px;" value="Green Off" onClick="relayOff2()"/>
  17. <input type="hidden" name="total" id="total" value="">
  18. </form>
  19. </center>
  20. <?php
  21.  
  22. exec("gpio -g mode 4 out , gpio -g mode 17 out , gpio -g 27 out");
  23. $state = $_GET["total"];
  24.  
  25. if ($state == "on") {
  26. exec("gpio -g write 4 1");
  27. }
  28. if ($state == "off") {
  29. exec("gpio -g write 4 0");
  30. }
  31. if ($state == "on1") {
  32. exec("gpio -g write 17 1");
  33. }
  34. if ($state == "off1") {
  35. exec("gpio -g write 17 0");
  36. }
  37. if ($state == "on2") {
  38. exec("gpio -g write 27 1");
  39. }
  40. if ($state == "off2") {
  41. exec("gpio -g write 27 0");
  42. }
  43.  
  44.  
  45. require "concet.php";
  46. $status = mysql_query("SELECT * FROM swiatlo") or die("Zapytanie niepoprawne");
  47. $row = mysql_fetch_array($status);
  48. ?> <br>
  49. <br>
  50. <br>
  51. <br>
  52. <center><font size="5"; color="red"><?php
  53. echo $row['R'];
  54. ?></font>&nbsp;<font size="5"; color="green"><?php
  55. echo $row['G'];
  56. ?></font>&nbsp;<font size="5" color="blue"><?php
  57. echo $row['B'];
  58. ?></font></center>
  59. <br><br>
  60. <center>
  61. <article><h1>Web Light v1</h1>
  62. <footer>
  63. <p>Raspberry pi control. | Wszelkie prawa zastrzeżone</p>
  64. </footer>
  65. </article></center>
  66. </body>
  67. </html>

plik js
Kod
window.onload = function(){
    buttonOn = document.getElementById('submitOn');
    buttonOn.onClick = relayOn;
    
    buttonOff = document.getElementById('submitOff');
    buttonOff.onClick = relayOff;
}

function relayOn(){
    
    hidden = document.getElementById("total");
    hidden.value = "on";
    
    form = document.getElementById("relay");
    form.method = "GET";
    form.action = "remote_relay.php";
    form.submit();
}

function relayOn1(){
    
    hidden = document.getElementById("total");
    hidden.value = "on1";
    
    form = document.getElementById("relay");
    form.method = "GET";
    form.action = "remote_relay.php";
    form.submit();
}
function relayOn2(){
    
    hidden = document.getElementById("total");
    hidden.value = "on2";
    
    form = document.getElementById("relay");
    form.method = "GET";
    form.action = "remote_relay.php";
    form.submit();
}

function relayOff(){
    
    hidden = document.getElementById("total");
    hidden.value = "off";
    
    form = document.getElementById("relay");
    form.method = "GET";
    form.action = "remote_relay.php";
    form.submit();
}
function relayOff1(){
    
    hidden = document.getElementById("total");
    hidden.value = "off1";
    
    form = document.getElementById("relay");
    form.method = "GET";
    form.action = "remote_relay.php";
    form.submit();
}
function relayOff2(){
    
    hidden = document.getElementById("total");
    hidden.value = "off2";
    
    form = document.getElementById("relay");
    form.method = "GET";
    form.action = "remote_relay.php";
    form.submit();
}

nie wiem jak to zrobić a to jest cały kod strony
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 11:25